📄 usb.lst
字号:
1 .file "usb.c"
2 .arch atmega16
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global StandardDeviceRequest
19 .data
22 StandardDeviceRequest:
23 0000 0000 .word pm(get_status)
24 0002 0000 .word pm(clear_feature)
25 0004 0000 .word pm(reserved)
26 0006 0000 .word pm(set_feature)
27 0008 0000 .word pm(reserved)
28 000a 0000 .word pm(set_address)
29 000c 0000 .word pm(get_descriptor)
30 000e 0000 .word pm(reserved)
31 0010 0000 .word pm(get_configuration)
32 0012 0000 .word pm(set_configuration)
33 0014 0000 .word pm(get_interface)
34 0016 0000 .word pm(set_interface)
35 0018 0000 .word pm(reserved)
36 001a 0000 .word pm(reserved)
37 001c 0000 .word pm(reserved)
38 001e 0000 .word pm(reserved)
39 .global TRANFER_DESC
42 TRANFER_DESC:
43 0020 09 .byte 9
44 0021 02 .byte 2
45 0022 2E00 .word 46
46 0024 01 .byte 1
47 0025 01 .byte 1
48 0026 00 .byte 0
49 0027 60 .byte 96
50 0028 C8 .byte -56
51 0029 09 .byte 9
52 002a 04 .byte 4
53 002b 00 .byte 0
54 002c 00 .byte 0
55 002d 04 .byte 4
56 002e DC .byte -36
57 002f A0 .byte -96
58 0030 B0 .byte -80
59 0031 00 .byte 0
60 0032 07 .byte 7
61 0033 05 .byte 5
62 0034 81 .byte -127
63 0035 03 .byte 3
64 0036 0400 .word 4
65 0038 0A .byte 10
66 0039 07 .byte 7
67 003a 05 .byte 5
68 003b 01 .byte 1
69 003c 03 .byte 3
70 003d 0400 .word 4
71 003f 0A .byte 10
72 0040 07 .byte 7
73 0041 05 .byte 5
74 0042 82 .byte -126
75 0043 02 .byte 2
76 0044 4000 .word 64
77 0046 0A .byte 10
78 0047 07 .byte 7
79 0048 05 .byte 5
80 0049 02 .byte 2
81 004a 02 .byte 2
82 004b 4000 .word 64
83 004d 0A .byte 10
84 .global DeviceDescr
87 DeviceDescr:
88 004e 12 .byte 18
89 004f 01 .byte 1
90 0050 1001 .word 272
91 0052 DC .byte -36
92 0053 00 .byte 0
93 0054 00 .byte 0
94 0055 10 .byte 16
95 0056 7104 .word 1137
96 0058 9106 .word 1681
97 005a 0001 .word 256
98 005c 00 .byte 0
99 005d 00 .byte 0
100 005e 00 .byte 0
101 005f 01 .byte 1
102 .text
103 .global delay1
105 delay1:
106 .LFB7:
107 .LM1:
108 /* prologue: frame size=0 */
109 /* prologue end (size=0) */
110 .LM2:
111 /* #APP */
112 0000 0000 nop
113 .LM3:
114 0002 0000 nop
115 .LM4:
116 0004 0000 nop
117 .LM5:
118 0006 0000 nop
119 .LM6:
120 0008 0000 nop
121 .LM7:
122 000a 0000 nop
123 .LM8:
124 000c 0000 nop
125 .LM9:
126 000e 0000 nop
127 .LM10:
128 0010 0000 nop
129 .LM11:
130 0012 0000 nop
131 /* #NOAPP */
132 /* epilogue: frame size=0 */
133 0014 0895 ret
134 /* epilogue end (size=1) */
135 /* function delay1 size 21 (20) */
136 .LFE7:
138 .global outportb
140 outportb:
141 .LFB8:
142 .LM12:
143 /* prologue: frame size=0 */
144 0016 1F93 push r17
145 /* prologue end (size=1) */
146 0018 162F mov r17,r22
147 .LM13:
148 001a C39A sbi 56-0x20,3
149 .LM14:
150 001c 9FEF ldi r25,lo8(-1)
151 001e 9ABB out 58-0x20,r25
152 .LM15:
153 0020 8BBB out 59-0x20,r24
154 .LM16:
155 0022 0E94 0000 call delay1
156 .LM17:
157 0026 C398 cbi 56-0x20,3
158 .LM18:
159 0028 1BBB out 59-0x20,r17
160 .LM19:
161 002a C198 cbi 56-0x20,1
162 .LM20:
163 002c 0E94 0000 call delay1
164 .LM21:
165 0030 0E94 0000 call delay1
166 .LM22:
167 0034 C19A sbi 56-0x20,1
168 /* epilogue: frame size=0 */
169 0036 1F91 pop r17
170 0038 0895 ret
171 /* epilogue end (size=2) */
172 /* function outportb size 18 (15) */
173 .LFE8:
175 .global inportb
177 inportb:
178 .LFB9:
179 .LM23:
180 /* prologue: frame size=0 */
181 003a 1F93 push r17
182 /* prologue end (size=1) */
183 .LM24:
184 003c C39A sbi 56-0x20,3
185 .LM25:
186 003e 1FEF ldi r17,lo8(-1)
187 0040 1ABB out 58-0x20,r17
188 .LM26:
189 0042 8BBB out 59-0x20,r24
190 .LM27:
191 0044 0E94 0000 call delay1
192 .LM28:
193 0048 C398 cbi 56-0x20,3
194 .LM29:
195 004a 1ABA out 58-0x20,__zero_reg__
196 .LM30:
197 004c 1BBB out 59-0x20,r17
198 .LM31:
199 004e C298 cbi 56-0x20,2
200 .LM32:
201 0050 0E94 0000 call delay1
202 .LM33:
203 0054 89B3 in r24,57-0x20
204 .LM34:
205 0056 C29A sbi 56-0x20,2
206 .LM35:
207 0058 9927 clr r25
208 /* epilogue: frame size=0 */
209 005a 1F91 pop r17
210 005c 0895 ret
211 /* epilogue end (size=2) */
212 /* function inportb size 18 (15) */
213 .LFE9:
215 .global D12_SetAddressEnable
217 D12_SetAddressEnable:
218 .LFB10:
219 .LM36:
220 /* prologue: frame size=0 */
221 005e 1F93 push r17
222 0060 CF93 push r28
223 /* prologue end (size=2) */
224 0062 C82F mov r28,r24
225 0064 162F mov r17,r22
226 .LM37:
227 0066 8091 0000 lds r24,bEPPflags
228 006a 84FD sbrc r24,4
229 006c 01C0 rjmp .L5
230 .LM38:
231 /* #APP */
232 006e F894 cli
233 /* #NOAPP */
234 .L5:
235 .LM39:
236 0070 60ED ldi r22,lo8(-48)
237 0072 83E0 ldi r24,lo8(3)
238 0074 0E94 0000 call outportb
239 .LM40:
240 0078 1111 cpse r17,__zero_reg__
241 .LM41:
242 007a C068 ori r28,lo8(-128)
243 .L6:
244 .LM42:
245 007c 6C2F mov r22,r28
246 007e 82E0 ldi r24,lo8(2)
247 0080 0E94 0000 call outportb
248 .LM43:
249 0084 8091 0000 lds r24,bEPPflags
250 0088 84FD sbrc r24,4
251 008a 01C0 rjmp .L4
252 .LM44:
253 /* #APP */
254 008c 7894 sei
255 /* #NOAPP */
256 .L4:
257 /* epilogue: frame size=0 */
258 008e CF91 pop r28
259 0090 1F91 pop r17
260 0092 0895 ret
261 /* epilogue end (size=3) */
262 /* function D12_SetAddressEnable size 30 (25) */
263 .LFE10:
265 .global D12_SetEndpointEnable
267 D12_SetEndpointEnable:
268 .LFB11:
269 .LM45:
270 /* prologue: frame size=0 */
271 0094 CF93 push r28
272 /* prologue end (size=1) */
273 0096 C82F mov r28,r24
274 .LM46:
275 0098 8091 0000 lds r24,bEPPflags
276 009c 84FD sbrc r24,4
277 009e 01C0 rjmp .L9
278 .LM47:
279 /* #APP */
280 00a0 F894 cli
281 /* #NOAPP */
282 .L9:
283 .LM48:
284 00a2 68ED ldi r22,lo8(-40)
285 00a4 83E0 ldi r24,lo8(3)
286 00a6 0E94 0000 call outportb
287 .LM49:
288 00aa CC23 tst r28
289 00ac 11F0 breq .L10
290 .LM50:
291 00ae 61E0 ldi r22,lo8(1)
292 00b0 01C0 rjmp .L13
293 .L10:
294 .LM51:
295 00b2 6C2F mov r22,r28
296 .L13:
297 00b4 82E0 ldi r24,lo8(2)
298 00b6 0E94 0000 call outportb
299 .LM52:
300 00ba 8091 0000 lds r24,bEPPflags
301 00be 84FD sbrc r24,4
302 00c0 01C0 rjmp .L8
303 .LM53:
304 /* #APP */
305 00c2 7894 sei
306 /* #NOAPP */
307 .L8:
308 /* epilogue: frame size=0 */
309 00c4 CF91 pop r28
310 00c6 0895 ret
311 /* epilogue end (size=2) */
312 /* function D12_SetEndpointEnable size 28 (25) */
313 .LFE11:
315 .global D12_SetMode
317 D12_SetMode:
318 .LFB12:
319 .LM54:
320 /* prologue: frame size=0 */
321 00c8 1F93 push r17
322 00ca CF93 push r28
323 /* prologue end (size=2) */
324 00cc C82F mov r28,r24
325 00ce 162F mov r17,r22
326 .LM55:
327 00d0 8091 0000 lds r24,bEPPflags
328 00d4 84FD sbrc r24,4
329 00d6 01C0 rjmp .L15
330 .LM56:
331 /* #APP */
332 00d8 F894 cli
333 /* #NOAPP */
334 .L15:
335 .LM57:
336 00da 63EF ldi r22,lo8(-13)
337 00dc 83E0 ldi r24,lo8(3)
338 00de 0E94 0000 call outportb
339 .LM58:
340 00e2 6C2F mov r22,r28
341 00e4 82E0 ldi r24,lo8(2)
342 00e6 0E94 0000 call outportb
343 .LM59:
344 00ea 612F mov r22,r17
345 00ec 82E0 ldi r24,lo8(2)
346 00ee 0E94 0000 call outportb
347 .LM60:
348 00f2 8091 0000 lds r24,bEPPflags
349 00f6 84FD sbrc r24,4
350 00f8 01C0 rjmp .L14
351 .LM61:
352 /* #APP */
353 00fa 7894 sei
354 /* #NOAPP */
355 .L14:
356 /* epilogue: frame size=0 */
357 00fc CF91 pop r28
358 00fe 1F91 pop r17
359 0100 0895 ret
360 /* epilogue end (size=3) */
361 /* function D12_SetMode size 31 (26) */
362 .LFE12:
364 .global D12_SetDMA
366 D12_SetDMA:
367 .LFB13:
368 .LM62:
369 /* prologue: frame size=0 */
370 0102 CF93 push r28
371 /* prologue end (size=1) */
372 0104 C82F mov r28,r24
373 .LM63:
374 0106 8091 0000 lds r24,bEPPflags
375 010a 84FD sbrc r24,4
376 010c 01C0 rjmp .L18
377 .LM64:
378 /* #APP */
379 010e F894 cli
380 /* #NOAPP */
381 .L18:
382 .LM65:
383 0110 6BEF ldi r22,lo8(-5)
384 0112 83E0 ldi r24,lo8(3)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -