source: trunk/Softwares/Test/Test_025/src/sys/crt0.s @ 100

Last change on this file since 100 was 100, checked in by rosiere, 15 years ago

1) Bug fix (Operation, Instruction)
2) Modif Return Address Stack
3) Add Soft Test
4) Add Soc Test

  • Property svn:keywords set to Id
File size: 1.4 KB
Line 
1/*
2 * Test_023
3 *
4 * end_ko : infinite_loop
5 * end_ok : Write in R1 the stop address and stop an data
6 *          The store in the destination of an jump
7 * start  : Test l.jalr
8 */
9       
10        .file   "crt0.s"
11        /*
12        .section .vector
13        */
14        .section .text
15        .align  4       
16
17/* ---[ 0x0  : Print a error ]------------------------------------------- */
18
19        .org 0x0
20_end_ko        :       
21_infinite_loop :       
22        l.j     _infinite_loop
23        l.nop
24
25_end_ok :
26        l.movhi r1,     hi(_tty)
27        l.ori   r1, r1, lo(_tty)
28        l.sw    4(r1), r1 /* stop address */
29
30
31/* ---[ 0x100: RESET exception ]----------------------------------------- */
32        .org 0x100
33        .global _start
34_start:
35        l.and   r1, r0, r0 /* counter 1 */
36        l.ori   r2, r0, 10 /* limit */
37
38        l.and   r11, r0, r0
39_loop_inc :       
40        l.or    r3, r11, r11
41        l.jal   _func_inc
42        l.nop
43        l.sfeq  r11, r2
44        l.bnf   _loop_inc
45        l.nop
46
47        l.movhi r4,     hi(_func_dec)
48        l.ori   r4, r4, lo(_func_dec)
49_loop_dec :       
50        l.or    r3, r11, r11
51        l.jalr  r4
52        l.nop
53        l.sfeq  r11, r0
54        l.bnf   _loop_dec
55        l.nop
56       
57        l.j     _end_ok
58        l.nop
59       
60        .org 0x200
61_func_inc :
62        l.jr    r9
63        l.addi  r11, r3, 1
64        l.j     _end_ko
65        l.nop
66
67        .org 0x240
68_func_dec :
69        l.jr    r9
70        l.addi  r11, r3, -1
71        l.j     _end_ko
72        l.nop
73       
Note: See TracBrowser for help on using the repository browser.