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