source: trunk/Softwares/Test/Test_028/src/sys/crt0.s @ 102

Last change on this file since 102 was 102, checked in by rosiere, 15 years ago

Previous commit with new files :P

  • Property svn:keywords set to Id
File size: 1.4 KB
Line 
1/*
2 * Test_028
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.sw / l.lws (l.lwz)
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        l.movhi r1,     hi(_stack) /* address */
39        l.ori   r1, r1, lo(_stack)
40
41        l.movhi r2,     hi(0x1234beef) /* data */
42        l.ori   r2, r2, lo(0x1234beef)
43
44        /*            0x1234beef
45         *              | | | |
46         * 0 : 0x12 <---+ | | |
47         * 1 : 0x34 <-----+ | |
48         * 2 : 0xbe <-------+ |
49         * 3 : 0xef <---------+
50         */
51       
52        l.sw    - 0(r1), r2
53
54        l.lws   r3, - 0(r1)
55        l.sfeq  r3, r2
56        l.bnf   _end_ko
57        l.nop
58
59        l.lwz   r3, - 0(r1)
60        l.sfeq  r3, r2
61        l.bnf   _end_ko
62        l.nop
63       
64        /* end test */
65        l.j     _end_ok
66        l.nop
Note: See TracBrowser for help on using the repository browser.