OSDN Git Service

Step 10 added.
[kozos-expbrd/kozos_expbrd.git] / firm / 01 / bootload / intr.S
1 #include "intr.h"\r
2         .h8300h\r
3         .section .text\r
4 \r
5         .global _intr_softerr\r
6 #       .type   _intr_softerr,@function\r
7 _intr_softerr:\r
8         mov.l   er6,@-er7\r
9         mov.l   er5,@-er7\r
10         mov.l   er4,@-er7\r
11         mov.l   er3,@-er7\r
12         mov.l   er2,@-er7\r
13         mov.l   er1,@-er7\r
14         mov.l   er0,@-er7\r
15         mov.l   er7,er1\r
16         mov.l   #_intrstack,sp\r
17         mov.l   er1,@-er7\r
18         mov.w   #SOFTVEC_TYPE_SOFTERR,r0\r
19         jsr     @_interrupt\r
20         mov.l   @er7+,er1\r
21         mov.l   er1,er7\r
22         mov.l   @er7+,er0\r
23         mov.l   @er7+,er1\r
24         mov.l   @er7+,er2\r
25         mov.l   @er7+,er3\r
26         mov.l   @er7+,er4\r
27         mov.l   @er7+,er5\r
28         mov.l   @er7+,er6\r
29         rte\r
30 \r
31         .global _intr_syscall\r
32 #       .type   _intr_syscall,@function\r
33 _intr_syscall:\r
34         mov.l   er6,@-er7\r
35         mov.l   er5,@-er7\r
36         mov.l   er4,@-er7\r
37         mov.l   er3,@-er7\r
38         mov.l   er2,@-er7\r
39         mov.l   er1,@-er7\r
40         mov.l   er0,@-er7\r
41         mov.l   er7,er1\r
42         mov.l   #_intrstack,sp\r
43         mov.l   er1,@-er7\r
44         mov.w   #SOFTVEC_TYPE_SYSCALL,r0\r
45         jsr     @_interrupt\r
46         mov.l   @er7+,er1\r
47         mov.l   er1,er7\r
48         mov.l   @er7+,er0\r
49         mov.l   @er7+,er1\r
50         mov.l   @er7+,er2\r
51         mov.l   @er7+,er3\r
52         mov.l   @er7+,er4\r
53         mov.l   @er7+,er5\r
54         mov.l   @er7+,er6\r
55         rte\r
56 \r
57         .global _intr_serintr\r
58 #       .type   _intr_serintr,@function\r
59 _intr_serintr:\r
60         mov.l   er6,@-er7\r
61         mov.l   er5,@-er7\r
62         mov.l   er4,@-er7\r
63         mov.l   er3,@-er7\r
64         mov.l   er2,@-er7\r
65         mov.l   er1,@-er7\r
66         mov.l   er0,@-er7\r
67         mov.l   er7,er1\r
68         mov.l   #_intrstack,sp\r
69         mov.l   er1,@-er7\r
70         mov.w   #SOFTVEC_TYPE_SERINTR,r0\r
71         jsr     @_interrupt\r
72         mov.l   @er7+,er1\r
73         mov.l   er1,er7\r
74         mov.l   @er7+,er0\r
75         mov.l   @er7+,er1\r
76         mov.l   @er7+,er2\r
77         mov.l   @er7+,er3\r
78         mov.l   @er7+,er4\r
79         mov.l   @er7+,er5\r
80         mov.l   @er7+,er6\r
81         rte\r
82 \r
83         .global _intr_timintr\r
84 #       .type   _intr_timintr,@function\r
85 _intr_timintr:\r
86         mov.l   er6,@-er7\r
87         mov.l   er5,@-er7\r
88         mov.l   er4,@-er7\r
89         mov.l   er3,@-er7\r
90         mov.l   er2,@-er7\r
91         mov.l   er1,@-er7\r
92         mov.l   er0,@-er7\r
93         mov.l   er7,er1\r
94         mov.l   #_intrstack,sp\r
95         mov.l   er1,@-er7\r
96         mov.w   #SOFTVEC_TYPE_TIMINTR,r0\r
97         jsr     @_interrupt\r
98         mov.l   @er7+,er1\r
99         mov.l   er1,er7\r
100         mov.l   @er7+,er0\r
101         mov.l   @er7+,er1\r
102         mov.l   @er7+,er2\r
103         mov.l   @er7+,er3\r
104         mov.l   @er7+,er4\r
105         mov.l   @er7+,er5\r
106         mov.l   @er7+,er6\r
107         rte\r