source: trunk/Softwares/Test/Test_019/src/sys/crt0.s @ 136

Last change on this file since 136 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.