source: trunk/Softwares/Test/Test_019/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: 9.3 KB
Line 
1/*
2 * Test_019
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.ff1
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
39        /**********/
40        /* Test 1 */
41        /**********/
42        l.movhi r1,     hi(0xffffffff) /* RA */
43        l.ori   r1, r1, lo(0xffffffff)
44       
45        l.ff1   r2, r1
46
47        /* Test result */
48        l.sfeqi r2, 1
49        l.bnf   _end_ko
50        l.nop
51
52        /**********/
53        /* Test 2 */
54        /**********/
55        l.movhi r1,     hi(0xfffffffe) /* RA */
56        l.ori   r1, r1, lo(0xfffffffe)
57       
58        l.ff1   r2, r1
59
60        /* Test result */
61        l.sfeqi r2, 2
62        l.bnf   _end_ko
63        l.nop
64
65        /**********/
66        /* Test 3 */
67        /**********/
68        l.movhi r1,     hi(0xfffffffc) /* RA */
69        l.ori   r1, r1, lo(0xfffffffc)
70       
71        l.ff1   r2, r1
72
73        /* Test result */
74        l.sfeqi r2, 3
75        l.bnf   _end_ko
76        l.nop
77       
78        /**********/
79        /* Test 4 */
80        /**********/
81        l.movhi r1,     hi(0xfffffff8) /* RA */
82        l.ori   r1, r1, lo(0xfffffff8)
83       
84        l.ff1   r2, r1
85
86        /* Test result */
87        l.sfeqi r2, 4
88        l.bnf   _end_ko
89        l.nop
90       
91        /**********/
92        /* Test 5 */
93        /**********/
94        l.movhi r1,     hi(0xfffffff0) /* RA */
95        l.ori   r1, r1, lo(0xfffffff0)
96       
97        l.ff1   r2, r1
98
99        /* Test result */
100        l.sfeqi r2, 5
101        l.bnf   _end_ko
102        l.nop
103
104        /**********/
105        /* Test 6 */
106        /**********/
107        l.movhi r1,     hi(0xffffffe0) /* RA */
108        l.ori   r1, r1, lo(0xffffffe0)
109       
110        l.ff1   r2, r1
111
112        /* Test result */
113        l.sfeqi r2, 6
114        l.bnf   _end_ko
115        l.nop
116       
117        /**********/
118        /* Test 7 */
119        /**********/
120        l.movhi r1,     hi(0xffffffc0) /* RA */
121        l.ori   r1, r1, lo(0xffffffc0)
122       
123        l.ff1   r2, r1
124
125        /* Test result */
126        l.sfeqi r2, 7
127        l.bnf   _end_ko
128        l.nop
129
130        /**********/
131        /* Test 8 */
132        /**********/
133        l.movhi r1,     hi(0xffffff80) /* RA */
134        l.ori   r1, r1, lo(0xffffff80)
135       
136        l.ff1   r2, r1
137
138        /* Test result */
139        l.sfeqi r2, 8
140        l.bnf   _end_ko
141        l.nop
142       
143        /**********/
144        /* Test 9 */
145        /**********/
146        l.movhi r1,     hi(0xffffff00) /* RA */
147        l.ori   r1, r1, lo(0xffffff00)
148       
149        l.ff1   r2, r1
150
151        /* Test result */
152        l.sfeqi r2, 9
153        l.bnf   _end_ko
154        l.nop
155       
156        /**********/
157        /* Test 10*/
158        /**********/
159        l.movhi r1,     hi(0xfffffe00) /* RA */
160        l.ori   r1, r1, lo(0xfffffe00)
161       
162        l.ff1   r2, r1
163
164        /* Test result */
165        l.sfeqi r2, 10
166        l.bnf   _end_ko
167        l.nop
168       
169        /**********/
170        /* Test 11*/
171        /**********/
172        l.movhi r1,     hi(0xfffffc00) /* RA */
173        l.ori   r1, r1, lo(0xfffffc00)
174       
175        l.ff1   r2, r1
176
177        /* Test result */
178        l.sfeqi r2, 11
179        l.bnf   _end_ko
180        l.nop
181       
182        /**********/
183        /* Test 12*/
184        /**********/
185        l.movhi r1,     hi(0xfffff800) /* RA */
186        l.ori   r1, r1, lo(0xfffff800)
187       
188        l.ff1   r2, r1
189
190        /* Test result */
191        l.sfeqi r2, 12
192        l.bnf   _end_ko
193        l.nop
194       
195        /**********/
196        /* Test 13*/
197        /**********/
198        l.movhi r1,     hi(0xfffff000) /* RA */
199        l.ori   r1, r1, lo(0xfffff000)
200       
201        l.ff1   r2, r1
202
203        /* Test result */
204        l.sfeqi r2, 13
205        l.bnf   _end_ko
206        l.nop
207       
208        /**********/
209        /* Test 14*/
210        /**********/
211        l.movhi r1,     hi(0xffffe000) /* RA */
212        l.ori   r1, r1, lo(0xffffe000)
213       
214        l.ff1   r2, r1
215
216        /* Test result */
217        l.sfeqi r2, 14
218        l.bnf   _end_ko
219        l.nop
220       
221        /**********/
222        /* Test 15*/
223        /**********/
224        l.movhi r1,     hi(0xffffc000) /* RA */
225        l.ori   r1, r1, lo(0xffffc000)
226       
227        l.ff1   r2, r1
228
229        /* Test result */
230        l.sfeqi r2, 15
231        l.bnf   _end_ko
232        l.nop
233       
234        /**********/
235        /* Test 16*/
236        /**********/
237        l.movhi r1,     hi(0xffff8000) /* RA */
238        l.ori   r1, r1, lo(0xffff8000)
239       
240        l.ff1   r2, r1
241
242        /* Test result */
243        l.sfeqi r2, 16
244        l.bnf   _end_ko
245        l.nop
246       
247        /**********/
248        /* Test 17*/
249        /**********/
250        l.movhi r1,     hi(0xffff0000) /* RA */
251        l.ori   r1, r1, lo(0xffff0000)
252       
253        l.ff1   r2, r1
254
255        /* Test result */
256        l.sfeqi r2, 17
257        l.bnf   _end_ko
258        l.nop
259       
260        /**********/
261        /* Test 18*/
262        /**********/
263        l.movhi r1,     hi(0xfffe0000) /* RA */
264        l.ori   r1, r1, lo(0xfffe0000)
265       
266        l.ff1   r2, r1
267
268        /* Test result */
269        l.sfeqi r2, 18
270        l.bnf   _end_ko
271        l.nop
272       
273        /**********/
274        /* Test 19*/
275        /**********/
276        l.movhi r1,     hi(0xfffc0000) /* RA */
277        l.ori   r1, r1, lo(0xfffc0000)
278       
279        l.ff1   r2, r1
280
281        /* Test result */
282        l.sfeqi r2, 19
283        l.bnf   _end_ko
284        l.nop
285       
286        /**********/
287        /* Test 20*/
288        /**********/
289        l.movhi r1,     hi(0xfff80000) /* RA */
290        l.ori   r1, r1, lo(0xfff80000)
291       
292        l.ff1   r2, r1
293
294        /* Test result */
295        l.sfeqi r2, 20
296        l.bnf   _end_ko
297        l.nop
298       
299        /**********/
300        /* Test 21*/
301        /**********/
302        l.movhi r1,     hi(0xfff00000) /* RA */
303        l.ori   r1, r1, lo(0xfff00000)
304       
305        l.ff1   r2, r1
306
307        /* Test result */
308        l.sfeqi r2, 21
309        l.bnf   _end_ko
310        l.nop
311       
312        /**********/
313        /* Test 22*/
314        /**********/
315        l.movhi r1,     hi(0xffe00000) /* RA */
316        l.ori   r1, r1, lo(0xffe00000)
317       
318        l.ff1   r2, r1
319
320        /* Test result */
321        l.sfeqi r2, 22
322        l.bnf   _end_ko
323        l.nop
324       
325        /**********/
326        /* Test 23*/
327        /**********/
328        l.movhi r1,     hi(0xffc00000) /* RA */
329        l.ori   r1, r1, lo(0xffc00000)
330       
331        l.ff1   r2, r1
332
333        /* Test result */
334        l.sfeqi r2, 23
335        l.bnf   _end_ko
336        l.nop
337       
338        /**********/
339        /* Test 24*/
340        /**********/
341        l.movhi r1,     hi(0xff800000) /* RA */
342        l.ori   r1, r1, lo(0xff800000)
343       
344        l.ff1   r2, r1
345
346        /* Test result */
347        l.sfeqi r2, 24
348        l.bnf   _end_ko
349        l.nop
350       
351        /**********/
352        /* Test 25*/
353        /**********/
354        l.movhi r1,     hi(0xff000000) /* RA */
355        l.ori   r1, r1, lo(0xff000000)
356       
357        l.ff1   r2, r1
358
359        /* Test result */
360        l.sfeqi r2, 25
361        l.bnf   _end_ko
362        l.nop
363       
364        /**********/
365        /* Test 26*/
366        /**********/
367        l.movhi r1,     hi(0xfe000000) /* RA */
368        l.ori   r1, r1, lo(0xfe000000)
369       
370        l.ff1   r2, r1
371
372        /* Test result */
373        l.sfeqi r2, 26
374        l.bnf   _end_ko
375        l.nop
376       
377        /**********/
378        /* Test 27*/
379        /**********/
380        l.movhi r1,     hi(0xfc000000) /* RA */
381        l.ori   r1, r1, lo(0xfc000000)
382       
383        l.ff1   r2, r1
384
385        /* Test result */
386        l.sfeqi r2, 27
387        l.bnf   _end_ko
388        l.nop
389       
390        /**********/
391        /* Test 28*/
392        /**********/
393        l.movhi r1,     hi(0xf8000000) /* RA */
394        l.ori   r1, r1, lo(0xf8000000)
395       
396        l.ff1   r2, r1
397
398        /* Test result */
399        l.sfeqi r2, 28
400        l.bnf   _end_ko
401        l.nop
402       
403        /**********/
404        /* Test 29*/
405        /**********/
406        l.movhi r1,     hi(0xf0000000) /* RA */
407        l.ori   r1, r1, lo(0xf0000000)
408       
409        l.ff1   r2, r1
410
411        /* Test result */
412        l.sfeqi r2, 29
413        l.bnf   _end_ko
414        l.nop
415       
416        /**********/
417        /* Test 30*/
418        /**********/
419        l.movhi r1,     hi(0xe0000000) /* RA */
420        l.ori   r1, r1, lo(0xe0000000)
421       
422        l.ff1   r2, r1
423
424        /* Test result */
425        l.sfeqi r2, 30
426        l.bnf   _end_ko
427        l.nop
428       
429        /**********/
430        /* Test 31*/
431        /**********/
432        l.movhi r1,     hi(0xc0000000) /* RA */
433        l.ori   r1, r1, lo(0xc0000000)
434       
435        l.ff1   r2, r1
436
437        /* Test result */
438        l.sfeqi r2, 31
439        l.bnf   _end_ko
440        l.nop
441       
442        /**********/
443        /* Test 32*/
444        /**********/
445        l.movhi r1,     hi(0x80000000) /* RA */
446        l.ori   r1, r1, lo(0x80000000)
447       
448        l.ff1   r2, r1
449
450        /* Test result */
451        l.sfeqi r2, 32
452        l.bnf   _end_ko
453        l.nop
454       
455        /**********/
456        /* Test 33*/
457        /**********/
458        l.movhi r1,     hi(0x00000000) /* RA */
459        l.ori   r1, r1, lo(0x00000000)
460       
461        l.ff1   r2, r1
462
463        /* Test result */
464        l.sfeqi r2, 0
465        l.bnf   _end_ko
466        l.nop
467       
468        /**********/
469        /* End */
470        /**********/
471
472        l.j     _end_ok
473        l.nop
Note: See TracBrowser for help on using the repository browser.