797 lines
28 KiB
Plaintext
797 lines
28 KiB
Plaintext
ARM GAS /tmp/ccoQwRNs.s page 1
|
||
|
||
|
||
1 .cpu cortex-m4
|
||
2 .eabi_attribute 27, 1
|
||
3 .eabi_attribute 28, 1
|
||
4 .eabi_attribute 20, 1
|
||
5 .eabi_attribute 21, 1
|
||
6 .eabi_attribute 23, 3
|
||
7 .eabi_attribute 24, 1
|
||
8 .eabi_attribute 25, 1
|
||
9 .eabi_attribute 26, 1
|
||
10 .eabi_attribute 30, 2
|
||
11 .eabi_attribute 34, 1
|
||
12 .eabi_attribute 18, 4
|
||
13 .file "usbd_ctlreq.c"
|
||
14 .text
|
||
15 .section .text.USBD_StdDevReq,"ax",%progbits
|
||
16 .align 1
|
||
17 .p2align 2,,3
|
||
18 .global USBD_StdDevReq
|
||
19 .arch armv7e-m
|
||
20 .syntax unified
|
||
21 .thumb
|
||
22 .thumb_func
|
||
23 .fpu fpv4-sp-d16
|
||
25 USBD_StdDevReq:
|
||
26 @ args = 0, pretend = 0, frame = 8
|
||
27 @ frame_needed = 0, uses_anonymous_args = 0
|
||
28 0000 F0B5 push {r4, r5, r6, r7, lr}
|
||
29 0002 0C78 ldrb r4, [r1] @ zero_extendqisi2
|
||
30 0004 04F06004 and r4, r4, #96
|
||
31 0008 202C cmp r4, #32
|
||
32 000a 83B0 sub sp, sp, #12
|
||
33 000c 0E46 mov r6, r1
|
||
34 000e 0546 mov r5, r0
|
||
35 0010 0ED0 beq .L2
|
||
36 0012 402C cmp r4, #64
|
||
37 0014 0CD0 beq .L2
|
||
38 0016 A4B1 cbz r4, .L99
|
||
39 .L4:
|
||
40 0018 8021 movs r1, #128
|
||
41 001a 2846 mov r0, r5
|
||
42 001c FFF7FEFF bl USBD_LL_StallEP
|
||
43 0020 0021 movs r1, #0
|
||
44 0022 2846 mov r0, r5
|
||
45 0024 FFF7FEFF bl USBD_LL_StallEP
|
||
46 0028 0024 movs r4, #0
|
||
47 .L32:
|
||
48 002a 2046 mov r0, r4
|
||
49 002c 03B0 add sp, sp, #12
|
||
50 @ sp needed
|
||
51 002e F0BD pop {r4, r5, r6, r7, pc}
|
||
52 .L2:
|
||
53 0030 D5F8B832 ldr r3, [r5, #696]
|
||
54 0034 9B68 ldr r3, [r3, #8]
|
||
55 0036 3146 mov r1, r6
|
||
56 0038 2846 mov r0, r5
|
||
57 003a 03B0 add sp, sp, #12
|
||
58 @ sp needed
|
||
ARM GAS /tmp/ccoQwRNs.s page 2
|
||
|
||
|
||
59 003c BDE8F040 pop {r4, r5, r6, r7, lr}
|
||
60 0040 1847 bx r3
|
||
61 .L99:
|
||
62 0042 4F78 ldrb r7, [r1, #1] @ zero_extendqisi2
|
||
63 0044 092F cmp r7, #9
|
||
64 0046 E7D8 bhi .L4
|
||
65 0048 01A3 adr r3, .L6
|
||
66 004a 53F827F0 ldr pc, [r3, r7, lsl #2]
|
||
67 004e 00BF .p2align 2
|
||
68 .L6:
|
||
69 0050 B1000000 .word .L12+1
|
||
70 0054 DF000000 .word .L11+1
|
||
71 0058 19000000 .word .L4+1
|
||
72 005c FD000000 .word .L10+1
|
||
73 0060 19000000 .word .L4+1
|
||
74 0064 05010000 .word .L9+1
|
||
75 0068 3D010000 .word .L8+1
|
||
76 006c 19000000 .word .L4+1
|
||
77 0070 61010000 .word .L7+1
|
||
78 0074 79000000 .word .L5+1
|
||
79 .p2align 1
|
||
80 .L5:
|
||
81 0078 8E78 ldrb r6, [r1, #2] @ zero_extendqisi2
|
||
82 007a AD4F ldr r7, .L102
|
||
83 007c 012E cmp r6, #1
|
||
84 007e 3E70 strb r6, [r7]
|
||
85 0080 00F24181 bhi .L100
|
||
86 0084 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
87 0088 022B cmp r3, #2
|
||
88 008a DAB2 uxtb r2, r3
|
||
89 008c 00F02981 beq .L38
|
||
90 0090 032A cmp r2, #3
|
||
91 0092 00F00381 beq .L39
|
||
92 0096 8021 movs r1, #128
|
||
93 0098 FFF7FEFF bl USBD_LL_StallEP
|
||
94 009c 0021 movs r1, #0
|
||
95 009e 2846 mov r0, r5
|
||
96 00a0 FFF7FEFF bl USBD_LL_StallEP
|
||
97 00a4 3978 ldrb r1, [r7] @ zero_extendqisi2
|
||
98 00a6 2846 mov r0, r5
|
||
99 00a8 FFF7FEFF bl USBD_ClrClassConfig
|
||
100 00ac 0324 movs r4, #3
|
||
101 00ae BCE7 b .L32
|
||
102 .L12:
|
||
103 00b0 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
104 00b4 013B subs r3, r3, #1
|
||
105 00b6 022B cmp r3, #2
|
||
106 00b8 69D8 bhi .L95
|
||
107 00ba CB88 ldrh r3, [r1, #6]
|
||
108 00bc 022B cmp r3, #2
|
||
109 00be 66D1 bne .L95
|
||
110 00c0 D0F8A432 ldr r3, [r0, #676]
|
||
111 00c4 0122 movs r2, #1
|
||
112 00c6 C260 str r2, [r0, #12]
|
||
113 00c8 0BB1 cbz r3, .L47
|
||
114 00ca 0323 movs r3, #3
|
||
115 00cc C360 str r3, [r0, #12]
|
||
ARM GAS /tmp/ccoQwRNs.s page 3
|
||
|
||
|
||
116 .L47:
|
||
117 00ce 0222 movs r2, #2
|
||
118 00d0 05F10C01 add r1, r5, #12
|
||
119 00d4 2846 mov r0, r5
|
||
120 00d6 FFF7FEFF bl USBD_CtlSendData
|
||
121 00da 3C46 mov r4, r7
|
||
122 00dc A5E7 b .L32
|
||
123 .L11:
|
||
124 00de 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
125 00e2 013B subs r3, r3, #1
|
||
126 00e4 022B cmp r3, #2
|
||
127 00e6 52D8 bhi .L95
|
||
128 00e8 4B88 ldrh r3, [r1, #2]
|
||
129 00ea 012B cmp r3, #1
|
||
130 00ec 9DD1 bne .L32
|
||
131 00ee 0023 movs r3, #0
|
||
132 .L96:
|
||
133 00f0 C5F8A432 str r3, [r5, #676]
|
||
134 .L97:
|
||
135 00f4 2846 mov r0, r5
|
||
136 00f6 FFF7FEFF bl USBD_CtlSendStatus
|
||
137 00fa 96E7 b .L32
|
||
138 .L10:
|
||
139 00fc 4B88 ldrh r3, [r1, #2]
|
||
140 00fe 012B cmp r3, #1
|
||
141 0100 93D1 bne .L32
|
||
142 0102 F5E7 b .L96
|
||
143 .L9:
|
||
144 0104 8B88 ldrh r3, [r1, #4]
|
||
145 0106 002B cmp r3, #0
|
||
146 0108 41D1 bne .L95
|
||
147 010a CB88 ldrh r3, [r1, #6]
|
||
148 010c 002B cmp r3, #0
|
||
149 010e 3ED1 bne .L95
|
||
150 0110 4E88 ldrh r6, [r1, #2]
|
||
151 0112 7F2E cmp r6, #127
|
||
152 0114 3BD8 bhi .L95
|
||
153 0116 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
154 011a 032B cmp r3, #3
|
||
155 011c 37D0 beq .L95
|
||
156 011e F1B2 uxtb r1, r6
|
||
157 0120 80F89E12 strb r1, [r0, #670]
|
||
158 0124 FFF7FEFF bl USBD_LL_SetUSBAddress
|
||
159 0128 2846 mov r0, r5
|
||
160 012a FFF7FEFF bl USBD_CtlSendStatus
|
||
161 012e 002E cmp r6, #0
|
||
162 0130 00F00981 beq .L36
|
||
163 0134 0223 movs r3, #2
|
||
164 0136 85F89C32 strb r3, [r5, #668]
|
||
165 013a 76E7 b .L32
|
||
166 .L8:
|
||
167 013c 4A88 ldrh r2, [r1, #2]
|
||
168 013e 0023 movs r3, #0
|
||
169 0140 ADF80630 strh r3, [sp, #6] @ movhi
|
||
170 0144 130A lsrs r3, r2, #8
|
||
171 0146 013B subs r3, r3, #1
|
||
172 0148 0E2B cmp r3, #14
|
||
ARM GAS /tmp/ccoQwRNs.s page 4
|
||
|
||
|
||
173 014a 20D8 bhi .L95
|
||
174 014c DFE803F0 tbb [pc, r3]
|
||
175 .L15:
|
||
176 0150 79 .byte (.L20-.L15)/2
|
||
177 0151 6C .byte (.L19-.L15)/2
|
||
178 0152 5A .byte (.L18-.L15)/2
|
||
179 0153 1F .byte (.L95-.L15)/2
|
||
180 0154 1F .byte (.L95-.L15)/2
|
||
181 0155 50 .byte (.L17-.L15)/2
|
||
182 0156 44 .byte (.L16-.L15)/2
|
||
183 0157 1F .byte (.L95-.L15)/2
|
||
184 0158 1F .byte (.L95-.L15)/2
|
||
185 0159 1F .byte (.L95-.L15)/2
|
||
186 015a 1F .byte (.L95-.L15)/2
|
||
187 015b 1F .byte (.L95-.L15)/2
|
||
188 015c 1F .byte (.L95-.L15)/2
|
||
189 015d 1F .byte (.L95-.L15)/2
|
||
190 015e 2A .byte (.L14-.L15)/2
|
||
191 015f 00 .p2align 1
|
||
192 .L7:
|
||
193 0160 CA88 ldrh r2, [r1, #6]
|
||
194 0162 012A cmp r2, #1
|
||
195 0164 13D1 bne .L95
|
||
196 0166 90F89C12 ldrb r1, [r0, #668] @ zero_extendqisi2
|
||
197 016a 0229 cmp r1, #2
|
||
198 016c CBB2 uxtb r3, r1
|
||
199 016e 00F28E80 bhi .L44
|
||
200 0172 002B cmp r3, #0
|
||
201 0174 3FF450AF beq .L4
|
||
202 0178 0146 mov r1, r0
|
||
203 017a 0023 movs r3, #0
|
||
204 017c 41F8083F str r3, [r1, #8]!
|
||
205 0180 FFF7FEFF bl USBD_CtlSendData
|
||
206 0184 51E7 b .L32
|
||
207 .L25:
|
||
208 0186 D0F8B432 ldr r3, [r0, #692]
|
||
209 018a 9B69 ldr r3, [r3, #24]
|
||
210 018c 7BB9 cbnz r3, .L94
|
||
211 .L95:
|
||
212 018e 8021 movs r1, #128
|
||
213 0190 2846 mov r0, r5
|
||
214 0192 FFF7FEFF bl USBD_LL_StallEP
|
||
215 0196 0021 movs r1, #0
|
||
216 0198 2846 mov r0, r5
|
||
217 019a FFF7FEFF bl USBD_LL_StallEP
|
||
218 019e 2046 mov r0, r4
|
||
219 01a0 03B0 add sp, sp, #12
|
||
220 @ sp needed
|
||
221 01a2 F0BD pop {r4, r5, r6, r7, pc}
|
||
222 .L14:
|
||
223 01a4 D0F8B432 ldr r3, [r0, #692]
|
||
224 01a8 DB69 ldr r3, [r3, #28]
|
||
225 01aa 002B cmp r3, #0
|
||
226 01ac EFD0 beq .L95
|
||
227 .L94:
|
||
228 01ae 287C ldrb r0, [r5, #16] @ zero_extendqisi2
|
||
229 01b0 0DF10601 add r1, sp, #6
|
||
ARM GAS /tmp/ccoQwRNs.s page 5
|
||
|
||
|
||
230 01b4 9847 blx r3
|
||
231 .L22:
|
||
232 01b6 F288 ldrh r2, [r6, #6]
|
||
233 01b8 002A cmp r2, #0
|
||
234 01ba 9BD0 beq .L97
|
||
235 01bc BDF80630 ldrh r3, [sp, #6]
|
||
236 01c0 002B cmp r3, #0
|
||
237 01c2 E4D0 beq .L95
|
||
238 01c4 9A42 cmp r2, r3
|
||
239 01c6 28BF it cs
|
||
240 01c8 1A46 movcs r2, r3
|
||
241 01ca 0146 mov r1, r0
|
||
242 01cc 2846 mov r0, r5
|
||
243 01ce ADF80620 strh r2, [sp, #6] @ movhi
|
||
244 01d2 FFF7FEFF bl USBD_CtlSendData
|
||
245 01d6 28E7 b .L32
|
||
246 .L16:
|
||
247 01d8 037C ldrb r3, [r0, #16] @ zero_extendqisi2
|
||
248 01da 002B cmp r3, #0
|
||
249 01dc D7D1 bne .L95
|
||
250 01de D0F8B832 ldr r3, [r0, #696]
|
||
251 01e2 0DF10600 add r0, sp, #6
|
||
252 01e6 1B6B ldr r3, [r3, #48]
|
||
253 01e8 9847 blx r3
|
||
254 01ea 0723 movs r3, #7
|
||
255 01ec 4370 strb r3, [r0, #1]
|
||
256 01ee E2E7 b .L22
|
||
257 .L17:
|
||
258 01f0 037C ldrb r3, [r0, #16] @ zero_extendqisi2
|
||
259 01f2 002B cmp r3, #0
|
||
260 01f4 CBD1 bne .L95
|
||
261 01f6 D0F8B832 ldr r3, [r0, #696]
|
||
262 01fa 0DF10600 add r0, sp, #6
|
||
263 01fe 5B6B ldr r3, [r3, #52]
|
||
264 0200 9847 blx r3
|
||
265 0202 D8E7 b .L22
|
||
266 .L18:
|
||
267 0204 D2B2 uxtb r2, r2
|
||
268 0206 052A cmp r2, #5
|
||
269 0208 C1D8 bhi .L95
|
||
270 020a 01A3 adr r3, .L26
|
||
271 020c 53F822F0 ldr pc, [r3, r2, lsl #2]
|
||
272 .p2align 2
|
||
273 .L26:
|
||
274 0210 83020000 .word .L31+1
|
||
275 0214 77020000 .word .L30+1
|
||
276 0218 6B020000 .word .L29+1
|
||
277 021c 5F020000 .word .L28+1
|
||
278 0220 53020000 .word .L27+1
|
||
279 0224 87010000 .word .L25+1
|
||
280 .p2align 1
|
||
281 .L19:
|
||
282 0228 037C ldrb r3, [r0, #16] @ zero_extendqisi2
|
||
283 022a 002B cmp r3, #0
|
||
284 022c 40F08280 bne .L24
|
||
285 0230 D0F8B832 ldr r3, [r0, #696]
|
||
286 0234 0DF10600 add r0, sp, #6
|
||
ARM GAS /tmp/ccoQwRNs.s page 6
|
||
|
||
|
||
287 0238 9B6A ldr r3, [r3, #40]
|
||
288 023a 9847 blx r3
|
||
289 023c 0223 movs r3, #2
|
||
290 023e 4370 strb r3, [r0, #1]
|
||
291 0240 B9E7 b .L22
|
||
292 .L20:
|
||
293 0242 D0F8B432 ldr r3, [r0, #692]
|
||
294 0246 007C ldrb r0, [r0, #16] @ zero_extendqisi2
|
||
295 0248 1B68 ldr r3, [r3]
|
||
296 024a 0DF10601 add r1, sp, #6
|
||
297 024e 9847 blx r3
|
||
298 0250 B1E7 b .L22
|
||
299 .L27:
|
||
300 0252 D0F8B432 ldr r3, [r0, #692]
|
||
301 0256 5B69 ldr r3, [r3, #20]
|
||
302 0258 002B cmp r3, #0
|
||
303 025a A8D1 bne .L94
|
||
304 025c 97E7 b .L95
|
||
305 .L28:
|
||
306 025e D0F8B432 ldr r3, [r0, #692]
|
||
307 0262 1B69 ldr r3, [r3, #16]
|
||
308 0264 002B cmp r3, #0
|
||
309 0266 A2D1 bne .L94
|
||
310 0268 91E7 b .L95
|
||
311 .L29:
|
||
312 026a D0F8B432 ldr r3, [r0, #692]
|
||
313 026e DB68 ldr r3, [r3, #12]
|
||
314 0270 002B cmp r3, #0
|
||
315 0272 9CD1 bne .L94
|
||
316 0274 8BE7 b .L95
|
||
317 .L30:
|
||
318 0276 D0F8B432 ldr r3, [r0, #692]
|
||
319 027a 9B68 ldr r3, [r3, #8]
|
||
320 027c 002B cmp r3, #0
|
||
321 027e 96D1 bne .L94
|
||
322 0280 85E7 b .L95
|
||
323 .L31:
|
||
324 0282 D0F8B432 ldr r3, [r0, #692]
|
||
325 0286 5B68 ldr r3, [r3, #4]
|
||
326 0288 002B cmp r3, #0
|
||
327 028a 90D1 bne .L94
|
||
328 028c 7FE7 b .L95
|
||
329 .L44:
|
||
330 028e 032B cmp r3, #3
|
||
331 0290 7FF4C2AE bne .L4
|
||
332 0294 011D adds r1, r0, #4
|
||
333 0296 FFF7FEFF bl USBD_CtlSendData
|
||
334 029a C6E6 b .L32
|
||
335 .L39:
|
||
336 029c 002E cmp r6, #0
|
||
337 029e 3BD0 beq .L101
|
||
338 02a0 4168 ldr r1, [r0, #4]
|
||
339 02a2 0129 cmp r1, #1
|
||
340 02a4 3FF426AF beq .L97
|
||
341 02a8 C9B2 uxtb r1, r1
|
||
342 02aa FFF7FEFF bl USBD_ClrClassConfig
|
||
343 02ae 3978 ldrb r1, [r7] @ zero_extendqisi2
|
||
ARM GAS /tmp/ccoQwRNs.s page 7
|
||
|
||
|
||
344 02b0 6960 str r1, [r5, #4]
|
||
345 02b2 2846 mov r0, r5
|
||
346 02b4 FFF7FEFF bl USBD_SetClassConfig
|
||
347 02b8 0646 mov r6, r0
|
||
348 02ba 0028 cmp r0, #0
|
||
349 02bc 3FF41AAF beq .L97
|
||
350 02c0 8021 movs r1, #128
|
||
351 02c2 2846 mov r0, r5
|
||
352 02c4 FFF7FEFF bl USBD_LL_StallEP
|
||
353 02c8 0021 movs r1, #0
|
||
354 02ca 2846 mov r0, r5
|
||
355 02cc FFF7FEFF bl USBD_LL_StallEP
|
||
356 02d0 2979 ldrb r1, [r5, #4] @ zero_extendqisi2
|
||
357 02d2 2846 mov r0, r5
|
||
358 02d4 FFF7FEFF bl USBD_ClrClassConfig
|
||
359 02d8 0223 movs r3, #2
|
||
360 02da 85F89C32 strb r3, [r5, #668]
|
||
361 02de 3446 mov r4, r6
|
||
362 02e0 A3E6 b .L32
|
||
363 .L38:
|
||
364 02e2 002E cmp r6, #0
|
||
365 02e4 3FF406AF beq .L97
|
||
366 02e8 0121 movs r1, #1
|
||
367 02ea 4160 str r1, [r0, #4]
|
||
368 02ec FFF7FEFF bl USBD_SetClassConfig
|
||
369 02f0 0446 mov r4, r0
|
||
370 02f2 0028 cmp r0, #0
|
||
371 02f4 7FF44BAF bne .L95
|
||
372 02f8 2846 mov r0, r5
|
||
373 02fa FFF7FEFF bl USBD_CtlSendStatus
|
||
374 02fe 0323 movs r3, #3
|
||
375 0300 85F89C32 strb r3, [r5, #668]
|
||
376 0304 91E6 b .L32
|
||
377 .L100:
|
||
378 0306 8021 movs r1, #128
|
||
379 0308 FFF7FEFF bl USBD_LL_StallEP
|
||
380 030c 0021 movs r1, #0
|
||
381 030e 2846 mov r0, r5
|
||
382 0310 FFF7FEFF bl USBD_LL_StallEP
|
||
383 0314 0324 movs r4, #3
|
||
384 0316 88E6 b .L32
|
||
385 .L101:
|
||
386 0318 0223 movs r3, #2
|
||
387 031a 3146 mov r1, r6
|
||
388 031c 80F89C32 strb r3, [r0, #668]
|
||
389 0320 4660 str r6, [r0, #4]
|
||
390 0322 FFF7FEFF bl USBD_ClrClassConfig
|
||
391 0326 2846 mov r0, r5
|
||
392 0328 FFF7FEFF bl USBD_CtlSendStatus
|
||
393 032c 3446 mov r4, r6
|
||
394 032e 7CE6 b .L32
|
||
395 .L103:
|
||
396 .align 2
|
||
397 .L102:
|
||
398 0330 00000000 .word .LANCHOR0
|
||
399 .L24:
|
||
400 0334 D0F8B832 ldr r3, [r0, #696]
|
||
ARM GAS /tmp/ccoQwRNs.s page 8
|
||
|
||
|
||
401 0338 0DF10600 add r0, sp, #6
|
||
402 033c DB6A ldr r3, [r3, #44]
|
||
403 033e 9847 blx r3
|
||
404 0340 0223 movs r3, #2
|
||
405 0342 4370 strb r3, [r0, #1]
|
||
406 0344 37E7 b .L22
|
||
407 .L36:
|
||
408 0346 0123 movs r3, #1
|
||
409 0348 85F89C32 strb r3, [r5, #668]
|
||
410 034c 6DE6 b .L32
|
||
412 034e 00BF .section .text.USBD_StdItfReq,"ax",%progbits
|
||
413 .align 1
|
||
414 .p2align 2,,3
|
||
415 .global USBD_StdItfReq
|
||
416 .syntax unified
|
||
417 .thumb
|
||
418 .thumb_func
|
||
419 .fpu fpv4-sp-d16
|
||
421 USBD_StdItfReq:
|
||
422 @ args = 0, pretend = 0, frame = 0
|
||
423 @ frame_needed = 0, uses_anonymous_args = 0
|
||
424 0000 38B5 push {r3, r4, r5, lr}
|
||
425 0002 0B78 ldrb r3, [r1] @ zero_extendqisi2
|
||
426 0004 03F06002 and r2, r3, #96
|
||
427 0008 402A cmp r2, #64
|
||
428 000a 0D46 mov r5, r1
|
||
429 000c 0446 mov r4, r0
|
||
430 000e 0BD0 beq .L105
|
||
431 0010 5B06 lsls r3, r3, #25
|
||
432 0012 09D5 bpl .L105
|
||
433 0014 8021 movs r1, #128
|
||
434 .L113:
|
||
435 0016 FFF7FEFF bl USBD_LL_StallEP
|
||
436 001a 0021 movs r1, #0
|
||
437 001c 2046 mov r0, r4
|
||
438 001e FFF7FEFF bl USBD_LL_StallEP
|
||
439 0022 0025 movs r5, #0
|
||
440 .L108:
|
||
441 0024 2846 mov r0, r5
|
||
442 0026 38BD pop {r3, r4, r5, pc}
|
||
443 .L105:
|
||
444 0028 94F89C32 ldrb r3, [r4, #668] @ zero_extendqisi2
|
||
445 002c 013B subs r3, r3, #1
|
||
446 002e 022B cmp r3, #2
|
||
447 0030 12D8 bhi .L107
|
||
448 0032 2B79 ldrb r3, [r5, #4] @ zero_extendqisi2
|
||
449 0034 012B cmp r3, #1
|
||
450 0036 0FD8 bhi .L107
|
||
451 0038 D4F8B832 ldr r3, [r4, #696]
|
||
452 003c 2946 mov r1, r5
|
||
453 003e 9B68 ldr r3, [r3, #8]
|
||
454 0040 2046 mov r0, r4
|
||
455 0042 9847 blx r3
|
||
456 0044 EB88 ldrh r3, [r5, #6]
|
||
457 0046 0546 mov r5, r0
|
||
458 0048 002B cmp r3, #0
|
||
459 004a EBD1 bne .L108
|
||
ARM GAS /tmp/ccoQwRNs.s page 9
|
||
|
||
|
||
460 004c 0028 cmp r0, #0
|
||
461 004e E9D1 bne .L108
|
||
462 0050 2046 mov r0, r4
|
||
463 0052 FFF7FEFF bl USBD_CtlSendStatus
|
||
464 0056 E5E7 b .L108
|
||
465 .L107:
|
||
466 0058 8021 movs r1, #128
|
||
467 005a 2046 mov r0, r4
|
||
468 005c DBE7 b .L113
|
||
470 005e 00BF .section .text.USBD_StdEPReq,"ax",%progbits
|
||
471 .align 1
|
||
472 .p2align 2,,3
|
||
473 .global USBD_StdEPReq
|
||
474 .syntax unified
|
||
475 .thumb
|
||
476 .thumb_func
|
||
477 .fpu fpv4-sp-d16
|
||
479 USBD_StdEPReq:
|
||
480 @ args = 0, pretend = 0, frame = 0
|
||
481 @ frame_needed = 0, uses_anonymous_args = 0
|
||
482 0000 70B5 push {r4, r5, r6, lr}
|
||
483 0002 0B78 ldrb r3, [r1] @ zero_extendqisi2
|
||
484 0004 03F06003 and r3, r3, #96
|
||
485 0008 202B cmp r3, #32
|
||
486 000a 0D46 mov r5, r1
|
||
487 000c 0446 mov r4, r0
|
||
488 000e 1BD0 beq .L169
|
||
489 0010 402B cmp r3, #64
|
||
490 0012 19D0 beq .L169
|
||
491 0014 03B3 cbz r3, .L171
|
||
492 .L117:
|
||
493 0016 8021 movs r1, #128
|
||
494 0018 2046 mov r0, r4
|
||
495 001a FFF7FEFF bl USBD_LL_StallEP
|
||
496 001e 0021 movs r1, #0
|
||
497 0020 2046 mov r0, r4
|
||
498 0022 FFF7FEFF bl USBD_LL_StallEP
|
||
499 .L124:
|
||
500 0026 0020 movs r0, #0
|
||
501 0028 70BD pop {r4, r5, r6, pc}
|
||
502 .L118:
|
||
503 002a 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
504 002e 022B cmp r3, #2
|
||
505 0030 DAB2 uxtb r2, r3
|
||
506 0032 53D0 beq .L126
|
||
507 0034 032A cmp r2, #3
|
||
508 0036 EED1 bne .L117
|
||
509 0038 6B88 ldrh r3, [r5, #2]
|
||
510 003a 002B cmp r3, #0
|
||
511 003c F3D1 bne .L124
|
||
512 003e 4E06 lsls r6, r1, #25
|
||
513 0040 6FD1 bne .L172
|
||
514 .L128:
|
||
515 0042 2046 mov r0, r4
|
||
516 0044 FFF7FEFF bl USBD_CtlSendStatus
|
||
517 .L169:
|
||
518 0048 D4F8B832 ldr r3, [r4, #696]
|
||
ARM GAS /tmp/ccoQwRNs.s page 10
|
||
|
||
|
||
519 004c 2946 mov r1, r5
|
||
520 004e 2046 mov r0, r4
|
||
521 0050 9B68 ldr r3, [r3, #8]
|
||
522 0052 BDE87040 pop {r4, r5, r6, lr}
|
||
523 0056 1847 bx r3
|
||
524 .L171:
|
||
525 0058 6B78 ldrb r3, [r5, #1] @ zero_extendqisi2
|
||
526 005a 8A88 ldrh r2, [r1, #4]
|
||
527 005c 012B cmp r3, #1
|
||
528 005e D1B2 uxtb r1, r2
|
||
529 0060 E3D0 beq .L118
|
||
530 0062 032B cmp r3, #3
|
||
531 0064 29D0 beq .L119
|
||
532 0066 002B cmp r3, #0
|
||
533 0068 D5D1 bne .L117
|
||
534 006a 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
535 006e 022B cmp r3, #2
|
||
536 0070 D8B2 uxtb r0, r3
|
||
537 0072 3CD0 beq .L129
|
||
538 0074 0328 cmp r0, #3
|
||
539 0076 CED1 bne .L117
|
||
540 0078 01F00F03 and r3, r1, #15
|
||
541 007c 03EB8303 add r3, r3, r3, lsl #2
|
||
542 0080 1206 lsls r2, r2, #24
|
||
543 0082 04EB8303 add r3, r4, r3, lsl #2
|
||
544 0086 41D4 bmi .L173
|
||
545 0088 B3F86431 ldrh r3, [r3, #356]
|
||
546 008c 002B cmp r3, #0
|
||
547 008e C2D0 beq .L117
|
||
548 0090 01F07F03 and r3, r1, #127
|
||
549 0094 1425 movs r5, #20
|
||
550 0096 05FB0345 mla r5, r5, r3, r4
|
||
551 009a 05F5AA75 add r5, r5, #340
|
||
552 .L136:
|
||
553 009e 2BB1 cbz r3, .L167
|
||
554 00a0 2046 mov r0, r4
|
||
555 00a2 FFF7FEFF bl USBD_LL_IsStallEP
|
||
556 00a6 0028 cmp r0, #0
|
||
557 00a8 3ED0 beq .L139
|
||
558 00aa 0123 movs r3, #1
|
||
559 .L167:
|
||
560 00ac 2B60 str r3, [r5]
|
||
561 .L138:
|
||
562 00ae 0222 movs r2, #2
|
||
563 00b0 2946 mov r1, r5
|
||
564 00b2 2046 mov r0, r4
|
||
565 00b4 FFF7FEFF bl USBD_CtlSendData
|
||
566 00b8 B5E7 b .L124
|
||
567 .L119:
|
||
568 00ba 90F89C32 ldrb r3, [r0, #668] @ zero_extendqisi2
|
||
569 00be 022B cmp r3, #2
|
||
570 00c0 DAB2 uxtb r2, r3
|
||
571 00c2 0BD0 beq .L126
|
||
572 00c4 032A cmp r2, #3
|
||
573 00c6 A6D1 bne .L117
|
||
574 00c8 6B88 ldrh r3, [r5, #2]
|
||
575 00ca 1BB9 cbnz r3, .L125
|
||
ARM GAS /tmp/ccoQwRNs.s page 11
|
||
|
||
|
||
576 00cc 4A06 lsls r2, r1, #25
|
||
577 00ce 01D0 beq .L125
|
||
578 00d0 EB88 ldrh r3, [r5, #6]
|
||
579 00d2 5BB3 cbz r3, .L174
|
||
580 .L125:
|
||
581 00d4 2046 mov r0, r4
|
||
582 00d6 FFF7FEFF bl USBD_CtlSendStatus
|
||
583 00da A4E7 b .L124
|
||
584 .L126:
|
||
585 00dc 4B06 lsls r3, r1, #25
|
||
586 00de 9AD0 beq .L117
|
||
587 00e0 FFF7FEFF bl USBD_LL_StallEP
|
||
588 00e4 8021 movs r1, #128
|
||
589 00e6 2046 mov r0, r4
|
||
590 00e8 FFF7FEFF bl USBD_LL_StallEP
|
||
591 00ec 9BE7 b .L124
|
||
592 .L129:
|
||
593 00ee 4806 lsls r0, r1, #25
|
||
594 00f0 91D1 bne .L117
|
||
595 00f2 1106 lsls r1, r2, #24
|
||
596 00f4 4CBF ite mi
|
||
597 00f6 04F11401 addmi r1, r4, #20
|
||
598 00fa 04F5AA71 addpl r1, r4, #340
|
||
599 00fe 0023 movs r3, #0
|
||
600 0100 0B60 str r3, [r1]
|
||
601 0102 0222 movs r2, #2
|
||
602 0104 2046 mov r0, r4
|
||
603 0106 FFF7FEFF bl USBD_CtlSendData
|
||
604 010a 8CE7 b .L124
|
||
605 .L173:
|
||
606 010c 9B8C ldrh r3, [r3, #36]
|
||
607 010e 002B cmp r3, #0
|
||
608 0110 81D0 beq .L117
|
||
609 0112 01F07F03 and r3, r1, #127
|
||
610 0116 5D1C adds r5, r3, #1
|
||
611 0118 05EB8505 add r5, r5, r5, lsl #2
|
||
612 011c 04EB8505 add r5, r4, r5, lsl #2
|
||
613 0120 BDE7 b .L136
|
||
614 .L172:
|
||
615 0122 FFF7FEFF bl USBD_LL_ClearStallEP
|
||
616 0126 8CE7 b .L128
|
||
617 .L139:
|
||
618 0128 2860 str r0, [r5]
|
||
619 012a C0E7 b .L138
|
||
620 .L174:
|
||
621 012c FFF7FEFF bl USBD_LL_StallEP
|
||
622 0130 D0E7 b .L125
|
||
624 0132 00BF .section .text.USBD_ParseSetupRequest,"ax",%progbits
|
||
625 .align 1
|
||
626 .p2align 2,,3
|
||
627 .global USBD_ParseSetupRequest
|
||
628 .syntax unified
|
||
629 .thumb
|
||
630 .thumb_func
|
||
631 .fpu fpv4-sp-d16
|
||
633 USBD_ParseSetupRequest:
|
||
634 @ args = 0, pretend = 0, frame = 0
|
||
ARM GAS /tmp/ccoQwRNs.s page 12
|
||
|
||
|
||
635 @ frame_needed = 0, uses_anonymous_args = 0
|
||
636 @ link register save eliminated.
|
||
637 0000 0B78 ldrb r3, [r1] @ zero_extendqisi2
|
||
638 0002 0370 strb r3, [r0]
|
||
639 0004 4B78 ldrb r3, [r1, #1] @ zero_extendqisi2
|
||
640 0006 4370 strb r3, [r0, #1]
|
||
641 0008 4B88 ldrh r3, [r1, #2] @ unaligned
|
||
642 000a 4380 strh r3, [r0, #2] @ movhi
|
||
643 000c 8B88 ldrh r3, [r1, #4] @ unaligned
|
||
644 000e 8380 strh r3, [r0, #4] @ movhi
|
||
645 0010 CB88 ldrh r3, [r1, #6] @ unaligned
|
||
646 0012 C380 strh r3, [r0, #6] @ movhi
|
||
647 0014 7047 bx lr
|
||
649 0016 00BF .section .text.USBD_CtlError,"ax",%progbits
|
||
650 .align 1
|
||
651 .p2align 2,,3
|
||
652 .global USBD_CtlError
|
||
653 .syntax unified
|
||
654 .thumb
|
||
655 .thumb_func
|
||
656 .fpu fpv4-sp-d16
|
||
658 USBD_CtlError:
|
||
659 @ args = 0, pretend = 0, frame = 0
|
||
660 @ frame_needed = 0, uses_anonymous_args = 0
|
||
661 0000 10B5 push {r4, lr}
|
||
662 0002 8021 movs r1, #128
|
||
663 0004 0446 mov r4, r0
|
||
664 0006 FFF7FEFF bl USBD_LL_StallEP
|
||
665 000a 2046 mov r0, r4
|
||
666 000c 0021 movs r1, #0
|
||
667 000e BDE81040 pop {r4, lr}
|
||
668 0012 FFF7FEBF b USBD_LL_StallEP
|
||
670 0016 00BF .section .text.USBD_GetString,"ax",%progbits
|
||
671 .align 1
|
||
672 .p2align 2,,3
|
||
673 .global USBD_GetString
|
||
674 .syntax unified
|
||
675 .thumb
|
||
676 .thumb_func
|
||
677 .fpu fpv4-sp-d16
|
||
679 USBD_GetString:
|
||
680 @ args = 0, pretend = 0, frame = 0
|
||
681 @ frame_needed = 0, uses_anonymous_args = 0
|
||
682 @ link register save eliminated.
|
||
683 0000 18B3 cbz r0, .L191
|
||
684 0002 0378 ldrb r3, [r0] @ zero_extendqisi2
|
||
685 0004 30B4 push {r4, r5}
|
||
686 0006 0BB3 cbz r3, .L184
|
||
687 0008 0446 mov r4, r0
|
||
688 000a C0F1010C rsb ip, r0, #1
|
||
689 .L181:
|
||
690 000e 04EB0C03 add r3, r4, ip
|
||
691 0012 14F8015F ldrb r5, [r4, #1]! @ zero_extendqisi2
|
||
692 0016 DBB2 uxtb r3, r3
|
||
693 0018 002D cmp r5, #0
|
||
694 001a F8D1 bne .L181
|
||
695 001c 0133 adds r3, r3, #1
|
||
ARM GAS /tmp/ccoQwRNs.s page 13
|
||
|
||
|
||
696 001e 5B00 lsls r3, r3, #1
|
||
697 0020 DCB2 uxtb r4, r3
|
||
698 .L180:
|
||
699 0022 1380 strh r3, [r2] @ movhi
|
||
700 0024 0323 movs r3, #3
|
||
701 0026 0C70 strb r4, [r1]
|
||
702 0028 4B70 strb r3, [r1, #1]
|
||
703 002a 0478 ldrb r4, [r0] @ zero_extendqisi2
|
||
704 002c 5CB1 cbz r4, .L178
|
||
705 002e 0223 movs r3, #2
|
||
706 0030 0025 movs r5, #0
|
||
707 .L183:
|
||
708 0032 5A1C adds r2, r3, #1
|
||
709 0034 D2B2 uxtb r2, r2
|
||
710 0036 CC54 strb r4, [r1, r3]
|
||
711 0038 8D54 strb r5, [r1, r2]
|
||
712 003a 10F8014F ldrb r4, [r0, #1]! @ zero_extendqisi2
|
||
713 003e 0233 adds r3, r3, #2
|
||
714 0040 DBB2 uxtb r3, r3
|
||
715 0042 002C cmp r4, #0
|
||
716 0044 F5D1 bne .L183
|
||
717 .L178:
|
||
718 0046 30BC pop {r4, r5}
|
||
719 0048 7047 bx lr
|
||
720 .L191:
|
||
721 004a 7047 bx lr
|
||
722 .L184:
|
||
723 004c 0224 movs r4, #2
|
||
724 004e 2346 mov r3, r4
|
||
725 0050 E7E7 b .L180
|
||
727 0052 00BF .section .bss.cfgidx.0,"aw",%nobits
|
||
728 .set .LANCHOR0,. + 0
|
||
731 cfgidx.0:
|
||
732 0000 00 .space 1
|
||
733 .ident "GCC: (15:10.3-2021.07-4) 10.3.1 20210621 (release)"
|
||
ARM GAS /tmp/ccoQwRNs.s page 14
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:0000000000000000 usbd_ctlreq.c
|
||
/tmp/ccoQwRNs.s:16 .text.USBD_StdDevReq:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:25 .text.USBD_StdDevReq:0000000000000000 USBD_StdDevReq
|
||
/tmp/ccoQwRNs.s:69 .text.USBD_StdDevReq:0000000000000050 $d
|
||
/tmp/ccoQwRNs.s:79 .text.USBD_StdDevReq:0000000000000078 $t
|
||
/tmp/ccoQwRNs.s:176 .text.USBD_StdDevReq:0000000000000150 $d
|
||
/tmp/ccoQwRNs.s:274 .text.USBD_StdDevReq:0000000000000210 $d
|
||
/tmp/ccoQwRNs.s:280 .text.USBD_StdDevReq:0000000000000228 $t
|
||
/tmp/ccoQwRNs.s:398 .text.USBD_StdDevReq:0000000000000330 $d
|
||
/tmp/ccoQwRNs.s:400 .text.USBD_StdDevReq:0000000000000334 $t
|
||
/tmp/ccoQwRNs.s:413 .text.USBD_StdItfReq:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:421 .text.USBD_StdItfReq:0000000000000000 USBD_StdItfReq
|
||
/tmp/ccoQwRNs.s:471 .text.USBD_StdEPReq:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:479 .text.USBD_StdEPReq:0000000000000000 USBD_StdEPReq
|
||
/tmp/ccoQwRNs.s:625 .text.USBD_ParseSetupRequest:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:633 .text.USBD_ParseSetupRequest:0000000000000000 USBD_ParseSetupRequest
|
||
/tmp/ccoQwRNs.s:650 .text.USBD_CtlError:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:658 .text.USBD_CtlError:0000000000000000 USBD_CtlError
|
||
/tmp/ccoQwRNs.s:671 .text.USBD_GetString:0000000000000000 $t
|
||
/tmp/ccoQwRNs.s:679 .text.USBD_GetString:0000000000000000 USBD_GetString
|
||
/tmp/ccoQwRNs.s:731 .bss.cfgidx.0:0000000000000000 cfgidx.0
|
||
/tmp/ccoQwRNs.s:732 .bss.cfgidx.0:0000000000000000 $d
|
||
/tmp/ccoQwRNs.s:191 .text.USBD_StdDevReq:000000000000015f $d
|
||
/tmp/ccoQwRNs.s:191 .text.USBD_StdDevReq:0000000000000160 $t
|
||
|
||
UNDEFINED SYMBOLS
|
||
USBD_LL_StallEP
|
||
USBD_ClrClassConfig
|
||
USBD_CtlSendData
|
||
USBD_CtlSendStatus
|
||
USBD_LL_SetUSBAddress
|
||
USBD_SetClassConfig
|
||
USBD_LL_IsStallEP
|
||
USBD_LL_ClearStallEP
|