gpif single write function.
[fx2lib.git] / lib / usbjt_asm
blob212002819628976016f5c266cd4e2ac7c98ae397
1 ; Copyright (C) 2008 Ubixum, Inc. 
3 ; This library is free software; you can redistribute it and/or
4 ; modify it under the terms of the GNU Lesser General Public
5 ; License as published by the Free Software Foundation; either
6 ; version 2.1 of the License, or (at your option) any later version.
7
8 ; This library is distributed in the hope that it will be useful,
9 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 ; Lesser General Public License for more details.
12
13 ; You should have received a copy of the GNU Lesser General Public
14 ; License along with this library; if not, write to the Free Software
15 ; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17 .module INT2JT ; jump table for usb auto vector
19 ; these are to help make sure 
20 ; this assembly gets stuck in the right place 
21 ; and I guess you could read INT2/4AV for kicks too
22 ; read one of them to a dummy location causes this module to
23 ; get linked in
24 .globl _INT2AV
25 .globl _INT4AV
26 .globl _INT2JT ; defined as global so this assembly gets included in project 
28 .area INT2JV (ABS,OVR)
29 .org    0x43 ; this is where USBINT ( interrupt 8 ) jumps to
30 _INT2AV = #. + 2 ; two bytes for ljmp (auto set by INT2IVEC)
31     ljmp _INT2JT
33 .area INT4JV (ABS,OVR)
34 .org    0x53 ; where INT4 jumps to 
35 _INT4AV = #. + 2
36     ljmp _INT2JT ; the addr gets replaced so this really goes to int4jt locations
39 ; INT2 Jump Table
41 .area INT2JT ( CODE )
42 ;.org    0x1A00 ; needs to be on a page boundary
44 _INT2JT:
45     ljmp _sudav_isr
46     .db 0
47     ljmp _sof_isr
48     .db 0
49     ljmp _sutok_isr
50     .db 0
51     ljmp _suspend_isr
52     .db 0
53     ljmp _usbreset_isr
54     .db 0
55     ljmp _hispeed_isr
56     .db 0
57     ljmp _ep0ack_isr
58     .db 0
59     ljmp _spare_isr
60     .db 0
61     ljmp _ep0in_isr
62     .db 0
63     ljmp _ep0out_isr
64     .db 0
65     ljmp _ep1in_isr
66     .db 0
67     ljmp _ep1out_isr
68     .db 0
69     ljmp _ep2_isr
70     .db 0
71     ljmp _ep4_isr
72     .db 0
73     ljmp _ep6_isr
74     .db 0
75     ljmp _ep8_isr
76     .db 0
77     ljmp _ibn_isr
78     .db 0
79     ljmp _spare_isr
80     .db 0
81     ljmp _ep0ping_isr
82     .db 0
83     ljmp _ep1ping_isr
84     .db 0
85     ljmp _ep2ping_isr
86     .db 0
87     ljmp _ep4ping_isr
88     .db 0
89     ljmp _ep6ping_isr
90     .db 0
91     ljmp _ep8ping_isr
92     .db 0
93     ljmp _errlimit_isr
94     .db 0
95     ljmp _spare_isr
96     .db 0
97     ljmp _spare_isr
98     .db 0
99     ljmp _spare_isr
100     .db 0
101     ljmp _ep2isoerr_isr
102     .db 0
103     ljmp _ep4isoerr_isr
104     .db 0
105     ljmp _ep6isoerr_isr
106     .db 0
107     ljmp _ep8isoerr_isr
108     .db 0
109 ; INT4JT
110     ljmp _ep2pf_isr
111     .db 0
112     ljmp _ep4pf_isr
113     .db 0
114     ljmp _ep6pf_isr
115     .db 0
116     ljmp _ep8pf_isr
117     .db 0
118     ljmp _ep2ef_isr
119     .db 0
120     ljmp _ep4ef_isr
121     .db 0
122     ljmp _ep6ef_isr
123     .db 0
124     ljmp _ep8ef_isr
125     .db 0
126     ljmp _ep2ff_isr
127     .db 0
128     ljmp _ep4ff_isr
129     .db 0
130     ljmp _ep6ff_isr
131     .db 0
132     ljmp _ep8ff_isr
133     .db 0
134     ljmp _gpifdone_isr
135     .db 0
136     ljmp _gpifwf_isr
137     .db 0
138