-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrap_entry.s
46 lines (39 loc) · 965 Bytes
/
trap_entry.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
.globl asm_trap_entry
.globl asm_trap_exit
.even
asm_trap_entry:
move.w #0x2700, %sr
move.l %d0, -(%a7)
move.l %d1, -(%a7)
move.l %d2, -(%a7)
move.l %d3, -(%a7)
move.l %d4, -(%a7)
move.l %d5, -(%a7)
move.l %d6, -(%a7)
move.l %d7, -(%a7)
move.l %a0, -(%a7)
move.l %a1, -(%a7)
move.l %a2, -(%a7)
move.l %a3, -(%a7)
move.l %a4, -(%a7)
move.l %a5, -(%a7)
move.l %a6, -(%a7)
jsr swi_handler
asm_trap_exit:
move.l (%a7)+, %a6
move.l (%a7)+, %a5
move.l (%a7)+, %a4
move.l (%a7)+, %a3
move.l (%a7)+, %a2
move.l (%a7)+, %a1
move.l (%a7)+, %a0
move.l (%a7)+, %d7
move.l (%a7)+, %d6
move.l (%a7)+, %d5
move.l (%a7)+, %d4
move.l (%a7)+, %d3
move.l (%a7)+, %d2
move.l (%a7)+, %d1
move.l (%a7)+, %d0
move.w #0x2000, %sr
rte