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