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

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

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

  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[100]1/*
2 * Test_018
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.extbs, l.extbz, l.exths, l.exthz
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        :       
[101]21        l.movhi r1,     hi(_tty)
22        l.ori   r1, r1, lo(_tty)
23        l.sw    4(r1), r1 /* stop address */
[100]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)
[101]31        l.sw    4(r1), r0 /* stop address */
[100]32
33
34/* ---[ 0x100: RESET exception ]----------------------------------------- */
35        .org 0x100
36        .global _start
37_start:
38
39        /**********/
40        /* Test 1 */
41        /**********/
42        l.movhi r1,     hi(0x12345678) /* RA */
43        l.ori   r1, r1, lo(0x12345678)
44        l.movhi r2,     hi(0x00000078) /* RD wait */
45        l.ori   r2, r2, lo(0x00000078)
46
47        l.extbs r3, r1
48
49        /* Test result */
50        l.sfeq  r3, r2
51        l.bnf   _end_ko
52        l.nop
53
54        /**********/
55        /* Test 2 */
56        /**********/
57        l.movhi r1,     hi(0xdeadbeef) /* RA */
58        l.ori   r1, r1, lo(0xdeadbeef)
59        l.movhi r2,     hi(0xffffffef) /* RD wait */
60        l.ori   r2, r2, lo(0xffffffef)
61
62        l.extbs r3, r1
63
64        /* Test result */
65        l.sfeq  r3, r2
66        l.bnf   _end_ko
67        l.nop
68
69        /**********/
70        /* Test 3 */
71        /**********/
72        l.movhi r1,     hi(0x12345678) /* RA */
73        l.ori   r1, r1, lo(0x12345678)
74        l.movhi r2,     hi(0x00000078) /* RD wait */
75        l.ori   r2, r2, lo(0x00000078)
76
77        l.extbz r3, r1
78
79        /* Test result */
80        l.sfeq  r3, r2
81        l.bnf   _end_ko
82        l.nop
83
84        /**********/
85        /* Test 4 */
86        /**********/
87        l.movhi r1,     hi(0xdeadbeef) /* RA */
88        l.ori   r1, r1, lo(0xdeadbeef)
89        l.movhi r2,     hi(0x000000ef) /* RD wait */
90        l.ori   r2, r2, lo(0x000000ef)
91
92        l.extbz r3, r1
93
94        /* Test result */
95        l.sfeq  r3, r2
96        l.bnf   _end_ko
97        l.nop
98
99        /**********/
100        /* Test 5 */
101        /**********/
102        l.movhi r1,     hi(0x12345678) /* RA */
103        l.ori   r1, r1, lo(0x12345678)
104        l.movhi r2,     hi(0x00005678) /* RD wait */
105        l.ori   r2, r2, lo(0x00005678)
106
107        l.exths r3, r1
108
109        /* Test result */
110        l.sfeq  r3, r2
111        l.bnf   _end_ko
112        l.nop
113
114        /**********/
115        /* Test 6 */
116        /**********/
117        l.movhi r1,     hi(0xdeadbeef) /* RA */
118        l.ori   r1, r1, lo(0xdeadbeef)
119        l.movhi r2,     hi(0xffffbeef) /* RD wait */
120        l.ori   r2, r2, lo(0xffffbeef)
121
122        l.exths r3, r1
123
124        /* Test result */
125        l.sfeq  r3, r2
126        l.bnf   _end_ko
127        l.nop
128
129        /**********/
130        /* Test 7 */
131        /**********/
132        l.movhi r1,     hi(0x12345678) /* RA */
133        l.ori   r1, r1, lo(0x12345678)
134        l.movhi r2,     hi(0x00005678) /* RD wait */
135        l.ori   r2, r2, lo(0x00005678)
136
137        l.exthz r3, r1
138
139        /* Test result */
140        l.sfeq  r3, r2
141        l.bnf   _end_ko
142        l.nop
143
144        /**********/
145        /* Test 8 */
146        /**********/
147        l.movhi r1,     hi(0xdeadbeef) /* RA */
148        l.ori   r1, r1, lo(0xdeadbeef)
149        l.movhi r2,     hi(0x0000beef) /* RD wait */
150        l.ori   r2, r2, lo(0x0000beef)
151
152        l.exthz r3, r1
153
154        /* Test result */
155        l.sfeq  r3, r2
156        l.bnf   _end_ko
157        l.nop
158       
159        /**********/
160        /* End */
161        /**********/
162
163        l.j     _end_ok
164        l.nop
Note: See TracBrowser for help on using the repository browser.