source: trunk/Softwares/Test/Test_024/src/sys/crt0.s

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

1) Add soc test
2) fix bug (Pc management, Decod and execute, Update prediction ...)

  • Property svn:keywords set to Id
File size: 1.7 KB
Line 
1/*
2 * Test_025
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.jr (no return procedure)
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        l.movhi r1,     hi(_tty)
22        l.ori   r1, r1, lo(_tty)
23        l.sw    4(r1), r1 /* stop address */
24_infinite_loop :       
25        l.j     _infinite_loop
26        l.nop
27
28_end_ok :
29        l.movhi r1,     hi(_tty)
30        l.ori   r1, r1, lo(_tty)
31        l.sw    4(r1), r0 /* stop address */
32
33
34/* ---[ 0x100: RESET exception ]----------------------------------------- */
35        .org 0x100
36        .global _start
37_start:
38        l.and r1, r0, r0 /* counter 1 */
39        l.ori r2, r0, 10 /* limit */
40        l.j     _go0
41        l.nop
42        l.j     _end_ko
43        l.nop
44       
45        .org 0x140
46_go0    :
47        l.movhi r3,     hi(_go1)
48        l.ori   r3, r3, lo(_go1)
49        l.jr    r3
50        l.nop
51        l.j     _end_ko
52        l.nop
53
54        .org 0x180
55_go2    :
56        l.movhi r3,     hi(_go3)
57        l.ori   r3, r3, lo(_go3)
58        l.jr    r3
59        l.nop
60        l.j     _end_ko
61        l.nop
62
63        .org 0x1c0
64_go1    :
65        l.movhi r3,     hi(_go2)
66        l.ori   r3, r3, lo(_go2)
67        l.jr    r3
68        l.nop
69        l.j     _end_ko
70        l.nop
71
72        .org 0x200
73_go3    :
74        l.movhi r3,     hi(_go4)
75        l.ori   r3, r3, lo(_go4)
76        l.jr    r3
77        l.nop
78        l.j     _end_ko
79        l.nop
80       
81        .org 0x240
82_go4    :
83        l.addi  r1, r1, 1
84        l.sfeq  r1, r2
85        l.bf    _end_ok
86        l.nop
87        l.j     _go0
88        l.nop
89        l.j     _end_ko
90        l.nop
Note: See TracBrowser for help on using the repository browser.