Statistics
| Branch: | Revision:

root / tests / tcg / lm32 / crt.S @ c09015dd

History | View | Annotate | Download (774 Bytes)

1 d65f0831 Michael Walle
.text
2 d65f0831 Michael Walle
.global _start
3 d65f0831 Michael Walle
4 d65f0831 Michael Walle
_start:
5 d65f0831 Michael Walle
_reset_handler:
6 d65f0831 Michael Walle
	xor r0, r0, r0
7 d65f0831 Michael Walle
	mvhi r1, hi(_start)
8 d65f0831 Michael Walle
	ori r1, r1, lo(_start)
9 d65f0831 Michael Walle
	wcsr eba, r1
10 d65f0831 Michael Walle
	wcsr deba, r1
11 d65f0831 Michael Walle
	bi _main
12 d65f0831 Michael Walle
	nop
13 d65f0831 Michael Walle
	nop
14 d65f0831 Michael Walle
15 d65f0831 Michael Walle
_breakpoint_handler:
16 d65f0831 Michael Walle
	ori r25, r25, 1
17 d65f0831 Michael Walle
	addi ra, ba, 4
18 d65f0831 Michael Walle
	ret
19 d65f0831 Michael Walle
	nop
20 d65f0831 Michael Walle
	nop
21 d65f0831 Michael Walle
	nop
22 d65f0831 Michael Walle
	nop
23 d65f0831 Michael Walle
	nop
24 d65f0831 Michael Walle
25 d65f0831 Michael Walle
_instruction_bus_error_handler:
26 d65f0831 Michael Walle
	ori r25, r25, 2
27 d65f0831 Michael Walle
	addi ra, ea, 4
28 d65f0831 Michael Walle
	ret
29 d65f0831 Michael Walle
	nop
30 d65f0831 Michael Walle
	nop
31 d65f0831 Michael Walle
	nop
32 d65f0831 Michael Walle
	nop
33 d65f0831 Michael Walle
	nop
34 d65f0831 Michael Walle
35 d65f0831 Michael Walle
_watchpoint_handler:
36 d65f0831 Michael Walle
	ori r25, r25, 4
37 d65f0831 Michael Walle
	addi ra, ba, 4
38 d65f0831 Michael Walle
	ret
39 d65f0831 Michael Walle
	nop
40 d65f0831 Michael Walle
	nop
41 d65f0831 Michael Walle
	nop
42 d65f0831 Michael Walle
	nop
43 d65f0831 Michael Walle
	nop
44 d65f0831 Michael Walle
45 d65f0831 Michael Walle
_data_bus_error_handler:
46 d65f0831 Michael Walle
	ori r25, r25, 8
47 d65f0831 Michael Walle
	addi ra, ea, 4
48 d65f0831 Michael Walle
	ret
49 d65f0831 Michael Walle
	nop
50 d65f0831 Michael Walle
	nop
51 d65f0831 Michael Walle
	nop
52 d65f0831 Michael Walle
	nop
53 d65f0831 Michael Walle
	nop
54 d65f0831 Michael Walle
55 d65f0831 Michael Walle
_divide_by_zero_handler:
56 d65f0831 Michael Walle
	ori r25, r25, 16
57 d65f0831 Michael Walle
	addi ra, ea, 4
58 d65f0831 Michael Walle
	ret
59 d65f0831 Michael Walle
	nop
60 d65f0831 Michael Walle
	nop
61 d65f0831 Michael Walle
	nop
62 d65f0831 Michael Walle
	nop
63 d65f0831 Michael Walle
	nop
64 d65f0831 Michael Walle
65 d65f0831 Michael Walle
_interrupt_handler:
66 d65f0831 Michael Walle
	ori r25, r25, 32
67 d65f0831 Michael Walle
	addi ra, ea, 4
68 d65f0831 Michael Walle
	ret
69 d65f0831 Michael Walle
	nop
70 d65f0831 Michael Walle
	nop
71 d65f0831 Michael Walle
	nop
72 d65f0831 Michael Walle
	nop
73 d65f0831 Michael Walle
	nop
74 d65f0831 Michael Walle
75 d65f0831 Michael Walle
_system_call_handler:
76 d65f0831 Michael Walle
	ori r25, r25, 64
77 d65f0831 Michael Walle
	addi ra, ea, 4
78 d65f0831 Michael Walle
	ret
79 d65f0831 Michael Walle
	nop
80 d65f0831 Michael Walle
	nop
81 d65f0831 Michael Walle
	nop
82 d65f0831 Michael Walle
	nop
83 d65f0831 Michael Walle
	nop