version 4.2.0
[fx2fw-sdcc] / vectors.a51
1 ;;; -*- asm -*-\r
2 ;;;\r
3 ;;;-----------------------------------------------------------------------------\r
4 ;;; Interrupt vectors\r
5 ;;;-----------------------------------------------------------------------------\r
6 ;;; Code taken from USRP2 firmware (GNU Radio Project), version 3.0.2,\r
7 ;;; Copyright 2003 Free Software Foundation, Inc.\r
8 ;;;-----------------------------------------------------------------------------\r
9 ;;; This code is part of usbjtag. usbjtag is free software; you can redistribute\r
10 ;;; it and/or modify it under the terms of the GNU General Public License as\r
11 ;;; published by the Free Software Foundation; either version 2 of the License,\r
12 ;;; or (at your option) any later version. usbjtag is distributed in the hope\r
13 ;;; that it will be useful, but WITHOUT ANY WARRANTY; without even the implied\r
14 ;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 ;;; GNU General Public License for more details.  You should have received a\r
16 ;;; copy of the GNU General Public License along with this program in the file\r
17 ;;; COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin\r
18 ;;; St, Fifth Floor, Boston, MA  02110-1301  USA\r
19 ;;;-----------------------------------------------------------------------------\r
20 \r
21 ;;; N.B. This object module must come first in the list of modules\r
22 \r
23         .module vectors\r
24 \r
25 ;;; ----------------------------------------------------------------\r
26 ;;;                  standard FX2 interrupt vectors\r
27 ;;; ----------------------------------------------------------------\r
28 \r
29         .area CSEG (CODE)\r
30         .area GSINIT (CODE)\r
31         .area CSEG (CODE)\r
32 __standard_interrupt_vector::\r
33 __reset_vector::\r
34         ljmp        s_GSINIT\r
35         \r
36         ;; 13 8-byte entries.  We point them all at __isr_nop\r
37         ljmp        __isr_nop        ; 3 bytes\r
38         .ds        5                ; + 5 = 8 bytes for vector slot\r
39         ljmp        __isr_nop\r
40         .ds        5\r
41         ljmp        __isr_nop\r
42         .ds        5\r
43         ljmp        __isr_nop\r
44         .ds        5\r
45         ljmp        __isr_nop\r
46         .ds        5\r
47         ljmp        __isr_nop\r
48         .ds        5\r
49         ljmp        __isr_nop\r
50         .ds        5\r
51         ljmp        __isr_nop\r
52         .ds        5\r
53         ljmp        __isr_nop\r
54         .ds        5\r
55         ljmp        __isr_nop\r
56         .ds        5\r
57         ljmp        __isr_nop\r
58         .ds        5\r
59         ljmp        __isr_nop\r
60         .ds        5\r
61         ljmp        __isr_nop\r
62         .ds        5\r
63 \r
64 __isr_nop::\r
65         reti\r
66 \r
67 ;;; ----------------------------------------------------------------\r
68 ;;; the FIFO/GPIF autovector.  14 4-byte entries.\r
69 ;;; must start on a 128 byte boundary.\r
70 ;;; ----------------------------------------------------------------\r
71         \r
72         . = __reset_vector + 0x0080\r
73                 \r
74 __fifo_gpif_autovector::\r
75         ljmp        __isr_nop\r
76         nop        \r
77         ljmp        __isr_nop\r
78         nop        \r
79         ljmp        __isr_nop\r
80         nop        \r
81         ljmp        __isr_nop\r
82         nop        \r
83         ljmp        __isr_nop\r
84         nop        \r
85         ljmp        __isr_nop\r
86         nop        \r
87         ljmp        __isr_nop\r
88         nop        \r
89         ljmp        __isr_nop\r
90         nop        \r
91         ljmp        __isr_nop\r
92         nop        \r
93         ljmp        __isr_nop\r
94         nop        \r
95         ljmp        __isr_nop\r
96         nop        \r
97         ljmp        __isr_nop\r
98         nop        \r
99         ljmp        __isr_nop\r
100         nop        \r
101         ljmp        __isr_nop\r
102         nop        \r
103 \r
104         \r
105 ;;; ----------------------------------------------------------------\r
106 ;;; the USB autovector.  32 4-byte entries.\r
107 ;;; must start on a 256 byte boundary.\r
108 ;;; ----------------------------------------------------------------\r
109 \r
110         . = __reset_vector + 0x0100\r
111         \r
112 __usb_autovector::\r
113         ljmp        __isr_nop\r
114         nop\r
115         ljmp        __isr_nop\r
116         nop\r
117         ljmp        __isr_nop\r
118         nop\r
119         ljmp        __isr_nop\r
120         nop\r
121         ljmp        __isr_nop\r
122         nop\r
123         ljmp        __isr_nop\r
124         nop\r
125         ljmp        __isr_nop\r
126         nop\r
127         ljmp        __isr_nop\r
128         nop\r
129         ljmp        __isr_nop\r
130         nop\r
131         ljmp        __isr_nop\r
132         nop\r
133         ljmp        __isr_nop\r
134         nop\r
135         ljmp        __isr_nop\r
136         nop\r
137         ljmp        __isr_nop\r
138         nop\r
139         ljmp        __isr_nop\r
140         nop\r
141         ljmp        __isr_nop\r
142         nop\r
143         ljmp        __isr_nop\r
144         nop\r
145         ljmp        __isr_nop\r
146         nop\r
147         ljmp        __isr_nop\r
148         nop\r
149         ljmp        __isr_nop\r
150         nop\r
151         ljmp        __isr_nop\r
152         nop\r
153         ljmp        __isr_nop\r
154         nop\r
155         ljmp        __isr_nop\r
156         nop\r
157         ljmp        __isr_nop\r
158         nop\r
159         ljmp        __isr_nop\r
160         nop\r
161         ljmp        __isr_nop\r
162         nop\r
163         ljmp        __isr_nop\r
164         nop\r
165         ljmp        __isr_nop\r
166         nop\r
167         ljmp        __isr_nop\r
168         nop\r
169         ljmp        __isr_nop\r
170         nop\r
171         ljmp        __isr_nop\r
172         nop\r
173         ljmp        __isr_nop\r
174         nop\r
175         ljmp        __isr_nop\r
176         nop\r