summaryrefslogtreecommitdiff
path: root/firmware/LUFA/Drivers/USB/Class/Device/HID.lst
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/LUFA/Drivers/USB/Class/Device/HID.lst')
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/HID.lst769
1 files changed, 769 insertions, 0 deletions
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/HID.lst b/firmware/LUFA/Drivers/USB/Class/Device/HID.lst
new file mode 100644
index 0000000..46fb481
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/HID.lst
@@ -0,0 +1,769 @@
+ 1 .file "HID.c"
+ 2 __SREG__ = 0x3f
+ 3 __SP_H__ = 0x3e
+ 4 __SP_L__ = 0x3d
+ 5 __CCP__ = 0x34
+ 6 __tmp_reg__ = 0
+ 7 __zero_reg__ = 1
+ 15 .Ltext0:
+ 16 .section .text.HID_Device_USBTask,"ax",@progbits
+ 17 .global HID_Device_USBTask
+ 19 HID_Device_USBTask:
+ 20 .LFB83:
+ 21 .LSM0:
+ 22 .LVL0:
+ 23 0000 4F92 push r4
+ 24 0002 5F92 push r5
+ 25 0004 6F92 push r6
+ 26 0006 7F92 push r7
+ 27 0008 8F92 push r8
+ 28 000a 9F92 push r9
+ 29 000c AF92 push r10
+ 30 000e BF92 push r11
+ 31 0010 CF92 push r12
+ 32 0012 DF92 push r13
+ 33 0014 EF92 push r14
+ 34 0016 FF92 push r15
+ 35 0018 0F93 push r16
+ 36 001a 1F93 push r17
+ 37 001c DF93 push r29
+ 38 001e CF93 push r28
+ 39 0020 00D0 rcall .
+ 40 0022 0F92 push __tmp_reg__
+ 41 0024 CDB7 in r28,__SP_L__
+ 42 0026 DEB7 in r29,__SP_H__
+ 43 /* prologue: function */
+ 44 /* frame size = 3 */
+ 45 0028 7C01 movw r14,r24
+ 46 .LSM1:
+ 47 002a 6DB6 in r6,__SP_L__
+ 48 002c 7EB6 in r7,__SP_H__
+ 49 .LSM2:
+ 50 002e 8091 0000 lds r24,USB_DeviceState
+ 51 .LVL1:
+ 52 0032 8430 cpi r24,lo8(4)
+ 53 0034 01F0 breq .+2
+ 54 0036 00C0 rjmp .L13
+ 55 .LSM3:
+ 56 0038 F701 movw r30,r14
+ 57 003a 8181 ldd r24,Z+1
+ 58 .LBB49:
+ 59 .LBB50:
+ 60 .LSM4:
+ 61 003c 8093 E900 sts 233,r24
+ 62 .LBE50:
+ 63 .LBE49:
+ 64 .LBB51:
+ 65 .LBB52:
+ 66 .LSM5:
+ 67 0040 8091 E800 lds r24,232
+ 68 .LBE52:
+ 69 .LBE51:
+ 70 .LSM6:
+ 71 0044 85FF sbrs r24,5
+ 72 0046 00C0 rjmp .L13
+ 73 0048 5DB6 in r5,__SP_L__
+ 74 004a 4EB6 in r4,__SP_H__
+ 75 .LBB53:
+ 76 .LSM7:
+ 77 004c 4781 ldd r20,Z+7
+ 78 004e 8DB7 in r24,__SP_L__
+ 79 0050 9EB7 in r25,__SP_H__
+ 80 0052 841B sub r24,r20
+ 81 0054 9109 sbc r25,__zero_reg__
+ 82 0056 0FB6 in __tmp_reg__,__SREG__
+ 83 0058 F894 cli
+ 84 005a 9EBF out __SP_H__,r25
+ 85 005c 0FBE out __SREG__,__tmp_reg__
+ 86 005e 8DBF out __SP_L__,r24
+ 87 0060 0DB7 in r16,__SP_L__
+ 88 0062 1EB7 in r17,__SP_H__
+ 89 0064 0F5F subi r16,lo8(-(1))
+ 90 0066 1F4F sbci r17,hi8(-(1))
+ 91 .LSM8:
+ 92 0068 1982 std Y+1,__zero_reg__
+ 93 .LVL2:
+ 94 .LSM9:
+ 95 006a 1B82 std Y+3,__zero_reg__
+ 96 006c 1A82 std Y+2,__zero_reg__
+ 97 .LVL3:
+ 98 .LSM10:
+ 99 006e C02E mov r12,r16
+ 100 0070 912E mov r9,r17
+ 101 0072 C801 movw r24,r16
+ 102 0074 60E0 ldi r22,lo8(0)
+ 103 0076 70E0 ldi r23,hi8(0)
+ 104 0078 50E0 ldi r21,lo8(0)
+ 105 007a 0E94 0000 call memset
+ 106 .LSM11:
+ 107 007e C701 movw r24,r14
+ 108 0080 BE01 movw r22,r28
+ 109 0082 6F5F subi r22,lo8(-(1))
+ 110 0084 7F4F sbci r23,hi8(-(1))
+ 111 0086 40E0 ldi r20,lo8(0)
+ 112 0088 9801 movw r18,r16
+ 113 008a 8E01 movw r16,r28
+ 114 008c 0E5F subi r16,lo8(-(2))
+ 115 008e 1F4F sbci r17,hi8(-(2))
+ 116 0090 0E94 0000 call CALLBACK_HID_Device_CreateHIDReport
+ 117 0094 882E mov r8,r24
+ 118 .LVL4:
+ 119 .LSM12:
+ 120 0096 F701 movw r30,r14
+ 121 0098 8185 ldd r24,Z+9
+ 122 009a 9285 ldd r25,Z+10
+ 123 009c 892B or r24,r25
+ 124 009e 01F4 brne .L3
+ 125 00a0 AA24 clr r10
+ 126 00a2 BB24 clr r11
+ 127 00a4 00C0 rjmp .L4
+ 128 .L3:
+ 129 00a6 20E0 ldi r18,lo8(0)
+ 130 00a8 F701 movw r30,r14
+ 131 00aa 8385 ldd r24,Z+11
+ 132 00ac 9485 ldd r25,Z+12
+ 133 00ae 892B or r24,r25
+ 134 00b0 01F0 breq .L5
+ 135 00b2 21E0 ldi r18,lo8(1)
+ 136 .L5:
+ 137 00b4 81E0 ldi r24,lo8(1)
+ 138 00b6 2827 eor r18,r24
+ 139 00b8 A22E mov r10,r18
+ 140 00ba BB24 clr r11
+ 141 .L4:
+ 142 .LSM13:
+ 143 00bc F701 movw r30,r14
+ 144 00be 0581 ldd r16,Z+5
+ 145 00c0 1681 ldd r17,Z+6
+ 146 00c2 0115 cp r16,__zero_reg__
+ 147 00c4 1105 cpc r17,__zero_reg__
+ 148 00c6 01F4 brne .L6
+ 149 00c8 DD24 clr r13
+ 150 .LVL5:
+ 151 00ca 00C0 rjmp .L7
+ 152 .LVL6:
+ 153 .L6:
+ 154 .LSM14:
+ 155 00cc 4A81 ldd r20,Y+2
+ 156 00ce 5B81 ldd r21,Y+3
+ 157 00d0 8C2D mov r24,r12
+ 158 00d2 992D mov r25,r9
+ 159 00d4 B801 movw r22,r16
+ 160 00d6 0E94 0000 call memcmp
+ 161 00da DD24 clr r13
+ 162 .LVL7:
+ 163 00dc 0097 sbiw r24,0
+ 164 00de 01F0 breq .L8
+ 165 00e0 DD24 clr r13
+ 166 00e2 D394 inc r13
+ 167 .L8:
+ 168 .LSM15:
+ 169 00e4 F701 movw r30,r14
+ 170 00e6 4781 ldd r20,Z+7
+ 171 00e8 C801 movw r24,r16
+ 172 00ea 6C2D mov r22,r12
+ 173 00ec 792D mov r23,r9
+ 174 00ee 50E0 ldi r21,lo8(0)
+ 175 00f0 0E94 0000 call memcpy
+ 176 .L7:
+ 177 .LSM16:
+ 178 00f4 8A81 ldd r24,Y+2
+ 179 00f6 9B81 ldd r25,Y+3
+ 180 00f8 892B or r24,r25
+ 181 00fa 01F0 breq .L10
+ 182 .LVL8:
+ 183 00fc 8820 tst r8
+ 184 00fe 01F4 brne .L11
+ 185 0100 DD20 tst r13
+ 186 0102 01F4 brne .L11
+ 187 0104 AB28 or r10,r11
+ 188 0106 01F0 breq .L10
+ 189 .L11:
+ 190 .LSM17:
+ 191 0108 F701 movw r30,r14
+ 192 010a 8185 ldd r24,Z+9
+ 193 010c 9285 ldd r25,Z+10
+ 194 .LVL9:
+ 195 010e 9487 std Z+12,r25
+ 196 0110 8387 std Z+11,r24
+ 197 .LSM18:
+ 198 0112 8181 ldd r24,Z+1
+ 199 .LBB54:
+ 200 .LBB55:
+ 201 .LSM19:
+ 202 0114 8093 E900 sts 233,r24
+ 203 .LBE55:
+ 204 .LBE54:
+ 205 .LSM20:
+ 206 0118 8981 ldd r24,Y+1
+ 207 011a 8823 tst r24
+ 208 011c 01F0 breq .L12
+ 209 .LBB56:
+ 210 .LBB57:
+ 211 .LSM21:
+ 212 011e 8093 F100 sts 241,r24
+ 213 .L12:
+ 214 .LBE57:
+ 215 .LBE56:
+ 216 .LSM22:
+ 217 0122 6A81 ldd r22,Y+2
+ 218 0124 7B81 ldd r23,Y+3
+ 219 0126 8C2D mov r24,r12
+ 220 0128 992D mov r25,r9
+ 221 012a 40E0 ldi r20,lo8(0)
+ 222 012c 50E0 ldi r21,hi8(0)
+ 223 012e 0E94 0000 call Endpoint_Write_Stream_LE
+ 224 .LBB58:
+ 225 .LBB59:
+ 226 .LSM23:
+ 227 0132 8091 E800 lds r24,232
+ 228 0136 8E77 andi r24,lo8(126)
+ 229 0138 8093 E800 sts 232,r24
+ 230 .LVL10:
+ 231 .L10:
+ 232 013c 852D mov r24,r5
+ 233 013e 942D mov r25,r4
+ 234 0140 9C01 movw r18,r24
+ 235 0142 0FB6 in __tmp_reg__,__SREG__
+ 236 0144 F894 cli
+ 237 0146 3EBF out __SP_H__,r19
+ 238 0148 0FBE out __SREG__,__tmp_reg__
+ 239 014a 2DBF out __SP_L__,r18
+ 240 .L13:
+ 241 .LBE59:
+ 242 .LBE58:
+ 243 .LBE53:
+ 244 .LSM24:
+ 245 014c 0FB6 in __tmp_reg__,__SREG__
+ 246 014e F894 cli
+ 247 0150 7EBE out __SP_H__,r7
+ 248 0152 0FBE out __SREG__,__tmp_reg__
+ 249 0154 6DBE out __SP_L__,r6
+ 250 /* epilogue start */
+ 251 0156 0F90 pop __tmp_reg__
+ 252 0158 0F90 pop __tmp_reg__
+ 253 015a 0F90 pop __tmp_reg__
+ 254 015c CF91 pop r28
+ 255 015e DF91 pop r29
+ 256 0160 1F91 pop r17
+ 257 0162 0F91 pop r16
+ 258 0164 FF90 pop r15
+ 259 0166 EF90 pop r14
+ 260 .LVL11:
+ 261 0168 DF90 pop r13
+ 262 .LVL12:
+ 263 016a CF90 pop r12
+ 264 016c BF90 pop r11
+ 265 016e AF90 pop r10
+ 266 0170 9F90 pop r9
+ 267 0172 8F90 pop r8
+ 268 .LVL13:
+ 269 0174 7F90 pop r7
+ 270 0176 6F90 pop r6
+ 271 0178 5F90 pop r5
+ 272 017a 4F90 pop r4
+ 273 017c 0895 ret
+ 274 .LFE83:
+ 276 .section .text.HID_Device_ConfigureEndpoints,"ax",@progbits
+ 277 .global HID_Device_ConfigureEndpoints
+ 279 HID_Device_ConfigureEndpoints:
+ 280 .LFB82:
+ 281 .LSM25:
+ 282 .LVL14:
+ 283 0000 CF93 push r28
+ 284 0002 DF93 push r29
+ 285 /* prologue: function */
+ 286 /* frame size = 0 */
+ 287 0004 DC01 movw r26,r24
+ 288 .LSM26:
+ 289 0006 0896 adiw r24,8
+ 290 .LVL15:
+ 291 0008 FC01 movw r30,r24
+ 292 000a 85E0 ldi r24,lo8(5)
+ 293 000c EF01 movw r28,r30
+ 294 000e 1992 st Y+,__zero_reg__
+ 295 0010 8A95 dec r24
+ 296 0012 01F4 brne .-6
+ 297 .LSM27:
+ 298 0014 81E0 ldi r24,lo8(1)
+ 299 0016 1896 adiw r26,8
+ 300 0018 8C93 st X,r24
+ 301 001a 1897 sbiw r26,8
+ 302 .LSM28:
+ 303 001c 84EF ldi r24,lo8(500)
+ 304 001e 91E0 ldi r25,hi8(500)
+ 305 0020 1A96 adiw r26,9+1
+ 306 0022 9C93 st X,r25
+ 307 0024 8E93 st -X,r24
+ 308 0026 1997 sbiw r26,9
+ 309 .LSM29:
+ 310 0028 1196 adiw r26,1
+ 311 002a 3C91 ld r19,X
+ 312 002c 1197 sbiw r26,1
+ 313 002e 1296 adiw r26,2
+ 314 0030 6D91 ld r22,X+
+ 315 0032 7C91 ld r23,X
+ 316 0034 1397 sbiw r26,2+1
+ 317 0036 1496 adiw r26,4
+ 318 0038 8C91 ld r24,X
+ 319 003a 8823 tst r24
+ 320 003c 01F4 brne .L15
+ 321 003e 40E0 ldi r20,lo8(0)
+ 322 0040 00C0 rjmp .L16
+ 323 .L15:
+ 324 0042 44E0 ldi r20,lo8(4)
+ 325 .L16:
+ 326 0044 20E0 ldi r18,lo8(0)
+ 327 .LVL16:
+ 328 0046 88E0 ldi r24,lo8(8)
+ 329 0048 90E0 ldi r25,hi8(8)
+ 330 .LVL17:
+ 331 004a 00C0 rjmp .L17
+ 332 .L18:
+ 333 .LBB60:
+ 334 .LBB61:
+ 335 .LBB62:
+ 336 .LBB63:
+ 337 .LSM30:
+ 338 004c 2F5F subi r18,lo8(-(1))
+ 339 .LSM31:
+ 340 004e 880F lsl r24
+ 341 0050 991F rol r25
+ 342 .L17:
+ 343 .LSM32:
+ 344 0052 8617 cp r24,r22
+ 345 0054 9707 cpc r25,r23
+ 346 0056 00F0 brlo .L18
+ 347 .LBE63:
+ 348 .LBE62:
+ 349 .LBE61:
+ 350 .LSM33:
+ 351 0058 4260 ori r20,lo8(2)
+ 352 005a 2295 swap r18
+ 353 005c 207F andi r18,lo8(-16)
+ 354 005e 422B or r20,r18
+ 355 0060 832F mov r24,r19
+ 356 .LVL18:
+ 357 0062 61EC ldi r22,lo8(-63)
+ 358 0064 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 359 .LVL19:
+ 360 0068 8111 cpse r24,__zero_reg__
+ 361 006a 81E0 ldi r24,lo8(1)
+ 362 .L19:
+ 363 /* epilogue start */
+ 364 .LBE60:
+ 365 .LSM34:
+ 366 006c DF91 pop r29
+ 367 006e CF91 pop r28
+ 368 0070 0895 ret
+ 369 .LFE82:
+ 371 .section .text.HID_Device_ProcessControlRequest,"ax",@progbits
+ 372 .global HID_Device_ProcessControlRequest
+ 374 HID_Device_ProcessControlRequest:
+ 375 .LFB81:
+ 376 .LSM35:
+ 377 .LVL20:
+ 378 0000 6F92 push r6
+ 379 0002 7F92 push r7
+ 380 0004 8F92 push r8
+ 381 0006 9F92 push r9
+ 382 0008 AF92 push r10
+ 383 000a BF92 push r11
+ 384 000c CF92 push r12
+ 385 000e DF92 push r13
+ 386 0010 EF92 push r14
+ 387 0012 FF92 push r15
+ 388 0014 0F93 push r16
+ 389 0016 1F93 push r17
+ 390 0018 DF93 push r29
+ 391 001a CF93 push r28
+ 392 001c 00D0 rcall .
+ 393 001e 0F92 push __tmp_reg__
+ 394 0020 CDB7 in r28,__SP_L__
+ 395 0022 DEB7 in r29,__SP_H__
+ 396 /* prologue: function */
+ 397 /* frame size = 3 */
+ 398 0024 4C01 movw r8,r24
+ 399 .LSM36:
+ 400 0026 6DB6 in r6,__SP_L__
+ 401 0028 7EB6 in r7,__SP_H__
+ 402 .LBB64:
+ 403 .LBB65:
+ 404 .LSM37:
+ 405 002a 8091 E800 lds r24,232
+ 406 .LVL21:
+ 407 .LBE65:
+ 408 .LBE64:
+ 409 .LSM38:
+ 410 002e 83FF sbrs r24,3
+ 411 0030 00C0 rjmp .L33
+ 412 .LSM39:
+ 413 0032 F401 movw r30,r8
+ 414 0034 8081 ld r24,Z
+ 415 0036 90E0 ldi r25,lo8(0)
+ 416 0038 2091 0000 lds r18,USB_ControlRequest+4
+ 417 003c 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 418 0040 2817 cp r18,r24
+ 419 0042 3907 cpc r19,r25
+ 420 0044 01F0 breq .+2
+ 421 0046 00C0 rjmp .L33
+ 422 .LSM40:
+ 423 0048 8091 0000 lds r24,USB_ControlRequest+1
+ 424 004c 8330 cpi r24,lo8(3)
+ 425 004e 01F4 brne .+2
+ 426 0050 00C0 rjmp .L25
+ 427 0052 8430 cpi r24,lo8(4)
+ 428 0054 00F4 brsh .L29
+ 429 0056 8130 cpi r24,lo8(1)
+ 430 0058 01F0 breq .L23
+ 431 005a 8230 cpi r24,lo8(2)
+ 432 005c 01F0 breq .+2
+ 433 005e 00C0 rjmp .L33
+ 434 0060 00C0 rjmp .L36
+ 435 .L29:
+ 436 0062 8A30 cpi r24,lo8(10)
+ 437 0064 01F4 brne .+2
+ 438 0066 00C0 rjmp .L27
+ 439 0068 8B30 cpi r24,lo8(11)
+ 440 006a 01F4 brne .+2
+ 441 006c 00C0 rjmp .L28
+ 442 006e 8930 cpi r24,lo8(9)
+ 443 0070 01F0 breq .+2
+ 444 0072 00C0 rjmp .L33
+ 445 0074 00C0 rjmp .L37
+ 446 .L23:
+ 447 .LSM41:
+ 448 0076 8091 0000 lds r24,USB_ControlRequest
+ 449 007a 813A cpi r24,lo8(-95)
+ 450 007c 01F0 breq .+2
+ 451 007e 00C0 rjmp .L33
+ 452 0080 ADB6 in r10,__SP_L__
+ 453 0082 FEB6 in r15,__SP_H__
+ 454 .LBB66:
+ 455 .LSM42:
+ 456 0084 1B82 std Y+3,__zero_reg__
+ 457 0086 1A82 std Y+2,__zero_reg__
+ 458 .LVL22:
+ 459 .LSM43:
+ 460 0088 8091 0000 lds r24,USB_ControlRequest+2
+ 461 008c 1091 0000 lds r17,USB_ControlRequest+3
+ 462 0090 8983 std Y+1,r24
+ 463 .LVL23:
+ 464 .LSM44:
+ 465 0092 F401 movw r30,r8
+ 466 0094 4781 ldd r20,Z+7
+ 467 0096 8DB7 in r24,__SP_L__
+ 468 0098 9EB7 in r25,__SP_H__
+ 469 009a 841B sub r24,r20
+ 470 009c 9109 sbc r25,__zero_reg__
+ 471 009e 0FB6 in __tmp_reg__,__SREG__
+ 472 00a0 F894 cli
+ 473 00a2 9EBF out __SP_H__,r25
+ 474 00a4 0FBE out __SREG__,__tmp_reg__
+ 475 00a6 8DBF out __SP_L__,r24
+ 476 00a8 CDB6 in r12,__SP_L__
+ 477 00aa DEB6 in r13,__SP_H__
+ 478 00ac 0894 sec
+ 479 00ae C11C adc r12,__zero_reg__
+ 480 00b0 D11C adc r13,__zero_reg__
+ 481 .LSM45:
+ 482 00b2 EC2C mov r14,r12
+ 483 00b4 BD2C mov r11,r13
+ 484 00b6 C601 movw r24,r12
+ 485 00b8 60E0 ldi r22,lo8(0)
+ 486 00ba 70E0 ldi r23,hi8(0)
+ 487 00bc 50E0 ldi r21,lo8(0)
+ 488 00be 0E94 0000 call memset
+ 489 .LSM46:
+ 490 00c2 1150 subi r17,lo8(-(-1))
+ 491 00c4 C401 movw r24,r8
+ 492 00c6 BE01 movw r22,r28
+ 493 00c8 6F5F subi r22,lo8(-(1))
+ 494 00ca 7F4F sbci r23,hi8(-(1))
+ 495 00cc 412F mov r20,r17
+ 496 00ce 9601 movw r18,r12
+ 497 00d0 8E01 movw r16,r28
+ 498 00d2 0E5F subi r16,lo8(-(2))
+ 499 00d4 1F4F sbci r17,hi8(-(2))
+ 500 00d6 0E94 0000 call CALLBACK_HID_Device_CreateHIDReport
+ 501 .LSM47:
+ 502 00da F401 movw r30,r8
+ 503 00dc 2581 ldd r18,Z+5
+ 504 00de 3681 ldd r19,Z+6
+ 505 00e0 2115 cp r18,__zero_reg__
+ 506 00e2 3105 cpc r19,__zero_reg__
+ 507 00e4 01F0 breq .L30
+ 508 .LSM48:
+ 509 00e6 4781 ldd r20,Z+7
+ 510 00e8 C901 movw r24,r18
+ 511 00ea B601 movw r22,r12
+ 512 00ec 50E0 ldi r21,lo8(0)
+ 513 00ee 0E94 0000 call memcpy
+ 514 .L30:
+ 515 .LBB67:
+ 516 .LBB68:
+ 517 .LSM49:
+ 518 00f2 1092 E900 sts 233,__zero_reg__
+ 519 .LBE68:
+ 520 .LBE67:
+ 521 .LBB69:
+ 522 .LBB70:
+ 523 .LSM50:
+ 524 00f6 8091 E800 lds r24,232
+ 525 00fa 877F andi r24,lo8(-9)
+ 526 00fc 8093 E800 sts 232,r24
+ 527 .LBE70:
+ 528 .LBE69:
+ 529 .LSM51:
+ 530 0100 6A81 ldd r22,Y+2
+ 531 0102 7B81 ldd r23,Y+3
+ 532 0104 8E2D mov r24,r14
+ 533 0106 9B2D mov r25,r11
+ 534 0108 0E94 0000 call Endpoint_Write_Control_Stream_LE
+ 535 .LBB71:
+ 536 .LBB72:
+ 537 .LSM52:
+ 538 010c 8091 E800 lds r24,232
+ 539 0110 8B77 andi r24,lo8(123)
+ 540 0112 8093 E800 sts 232,r24
+ 541 0116 2A2D mov r18,r10
+ 542 0118 3F2D mov r19,r15
+ 543 011a 00C0 rjmp .L34
+ 544 .LVL24:
+ 545 .L37:
+ 546 .LBE72:
+ 547 .LBE71:
+ 548 .LBE66:
+ 549 .LSM53:
+ 550 011c 8091 0000 lds r24,USB_ControlRequest
+ 551 0120 8132 cpi r24,lo8(33)
+ 552 0122 01F0 breq .+2
+ 553 0124 00C0 rjmp .L33
+ 554 0126 AEB6 in r10,__SP_H__
+ 555 .LBB73:
+ 556 .LSM54:
+ 557 0128 0091 0000 lds r16,USB_ControlRequest+6
+ 558 012c 1091 0000 lds r17,(USB_ControlRequest+6)+1
+ 559 .LVL25:
+ 560 .LSM55:
+ 561 0130 C090 0000 lds r12,USB_ControlRequest+2
+ 562 0134 D090 0000 lds r13,USB_ControlRequest+3
+ 563 .LSM56:
+ 564 0138 8DB7 in r24,__SP_L__
+ 565 013a 9EB7 in r25,__SP_H__
+ 566 013c 801B sub r24,r16
+ 567 013e 910B sbc r25,r17
+ 568 0140 0FB6 in __tmp_reg__,__SREG__
+ 569 0142 F894 cli
+ 570 0144 9EBF out __SP_H__,r25
+ 571 0146 0FBE out __SREG__,__tmp_reg__
+ 572 0148 8DBF out __SP_L__,r24
+ 573 014a EDB6 in r14,__SP_L__
+ 574 014c FEB6 in r15,__SP_H__
+ 575 014e 0894 sec
+ 576 0150 E11C adc r14,__zero_reg__
+ 577 0152 F11C adc r15,__zero_reg__
+ 578 .LBB74:
+ 579 .LBB75:
+ 580 .LSM57:
+ 581 0154 8091 E800 lds r24,232
+ 582 0158 877F andi r24,lo8(-9)
+ 583 015a 8093 E800 sts 232,r24
+ 584 .LBE75:
+ 585 .LBE74:
+ 586 .LSM58:
+ 587 015e C701 movw r24,r14
+ 588 0160 B801 movw r22,r16
+ 589 0162 0E94 0000 call Endpoint_Read_Control_Stream_LE
+ 590 .LBB76:
+ 591 .LBB77:
+ 592 .LSM59:
+ 593 0166 8091 E800 lds r24,232
+ 594 016a 8E77 andi r24,lo8(126)
+ 595 016c 8093 E800 sts 232,r24
+ 596 .LBE77:
+ 597 .LBE76:
+ 598 .LSM60:
+ 599 0170 DA94 dec r13
+ 600 0172 C401 movw r24,r8
+ 601 0174 6C2D mov r22,r12
+ 602 0176 4D2D mov r20,r13
+ 603 0178 9701 movw r18,r14
+ 604 017a 0E94 0000 call CALLBACK_HID_Device_ProcessHIDReport
+ 605 017e 262D mov r18,r6
+ 606 0180 3A2D mov r19,r10
+ 607 .LVL26:
+ 608 .L34:
+ 609 0182 0FB6 in __tmp_reg__,__SREG__
+ 610 0184 F894 cli
+ 611 0186 3EBF out __SP_H__,r19
+ 612 0188 0FBE out __SREG__,__tmp_reg__
+ 613 018a 2DBF out __SP_L__,r18
+ 614 018c 00C0 rjmp .L33
+ 615 .LVL27:
+ 616 .L25:
+ 617 .LBE73:
+ 618 .LSM61:
+ 619 018e 8091 0000 lds r24,USB_ControlRequest
+ 620 0192 813A cpi r24,lo8(-95)
+ 621 0194 01F0 breq .+2
+ 622 0196 00C0 rjmp .L33
+ 623 .LBB78:
+ 624 .LBB79:
+ 625 .LSM62:
+ 626 0198 8091 E800 lds r24,232
+ 627 019c 877F andi r24,lo8(-9)
+ 628 019e 8093 E800 sts 232,r24
+ 629 .LBE79:
+ 630 .LBE78:
+ 631 .LSM63:
+ 632 01a2 F401 movw r30,r8
+ 633 01a4 8085 ldd r24,Z+8
+ 634 01a6 00C0 rjmp .L35
+ 635 .L28:
+ 636 .LSM64:
+ 637 01a8 8091 0000 lds r24,USB_ControlRequest
+ 638 01ac 8132 cpi r24,lo8(33)
+ 639 01ae 01F0 breq .+2
+ 640 01b0 00C0 rjmp .L33
+ 641 .LBB80:
+ 642 .LBB81:
+ 643 .LSM65:
+ 644 01b2 8091 E800 lds r24,232
+ 645 01b6 877F andi r24,lo8(-9)
+ 646 01b8 8093 E800 sts 232,r24
+ 647 .LBE81:
+ 648 .LBE80:
+ 649 .LSM66:
+ 650 01bc 0E94 0000 call Endpoint_ClearStatusStage
+ 651 .LSM67:
+ 652 01c0 90E0 ldi r25,lo8(0)
+ 653 01c2 8091 0000 lds r24,USB_ControlRequest+2
+ 654 01c6 8111 cpse r24,__zero_reg__
+ 655 01c8 91E0 ldi r25,lo8(1)
+ 656 .L32:
+ 657 01ca F401 movw r30,r8
+ 658 01cc 9087 std Z+8,r25
+ 659 01ce 00C0 rjmp .L33
+ 660 .L27:
+ 661 .LSM68:
+ 662 01d0 8091 0000 lds r24,USB_ControlRequest
+ 663 01d4 8132 cpi r24,lo8(33)
+ 664 01d6 01F4 brne .L33
+ 665 .LBB82:
+ 666 .LBB83:
+ 667 .LSM69:
+ 668 01d8 8091 E800 lds r24,232
+ 669 01dc 877F andi r24,lo8(-9)
+ 670 01de 8093 E800 sts 232,r24
+ 671 .LBE83:
+ 672 .LBE82:
+ 673 .LSM70:
+ 674 01e2 0E94 0000 call Endpoint_ClearStatusStage
+ 675 .LSM71:
+ 676 01e6 8091 0000 lds r24,USB_ControlRequest+2
+ 677 01ea 9091 0000 lds r25,(USB_ControlRequest+2)+1
+ 678 01ee 8070 andi r24,lo8(-256)
+ 679 01f0 76E0 ldi r23,6
+ 680 01f2 9695 1: lsr r25
+ 681 01f4 8795 ror r24
+ 682 01f6 7A95 dec r23
+ 683 01f8 01F4 brne 1b
+ 684 01fa F401 movw r30,r8
+ 685 01fc 9287 std Z+10,r25
+ 686 01fe 8187 std Z+9,r24
+ 687 0200 00C0 rjmp .L33
+ 688 .L36:
+ 689 .LSM72:
+ 690 0202 8091 0000 lds r24,USB_ControlRequest
+ 691 0206 813A cpi r24,lo8(-95)
+ 692 0208 01F4 brne .L33
+ 693 .LBB84:
+ 694 .LBB85:
+ 695 .LSM73:
+ 696 020a 8091 E800 lds r24,232
+ 697 020e 877F andi r24,lo8(-9)
+ 698 0210 8093 E800 sts 232,r24
+ 699 .LBE85:
+ 700 .LBE84:
+ 701 .LSM74:
+ 702 0214 F401 movw r30,r8
+ 703 0216 8185 ldd r24,Z+9
+ 704 0218 9285 ldd r25,Z+10
+ 705 021a 9695 lsr r25
+ 706 021c 8795 ror r24
+ 707 021e 9695 lsr r25
+ 708 0220 8795 ror r24
+ 709 .L35:
+ 710 .LBB86:
+ 711 .LBB87:
+ 712 .LSM75:
+ 713 0222 8093 F100 sts 241,r24
+ 714 .LBE87:
+ 715 .LBE86:
+ 716 .LBB88:
+ 717 .LBB89:
+ 718 .LSM76:
+ 719 0226 8091 E800 lds r24,232
+ 720 022a 8E77 andi r24,lo8(126)
+ 721 022c 8093 E800 sts 232,r24
+ 722 .LBE89:
+ 723 .LBE88:
+ 724 .LSM77:
+ 725 0230 0E94 0000 call Endpoint_ClearStatusStage
+ 726 .LVL28:
+ 727 .L33:
+ 728 .LSM78:
+ 729 0234 0FB6 in __tmp_reg__,__SREG__
+ 730 0236 F894 cli
+ 731 0238 7EBE out __SP_H__,r7
+ 732 023a 0FBE out __SREG__,__tmp_reg__
+ 733 023c 6DBE out __SP_L__,r6
+ 734 /* epilogue start */
+ 735 023e 0F90 pop __tmp_reg__
+ 736 0240 0F90 pop __tmp_reg__
+ 737 0242 0F90 pop __tmp_reg__
+ 738 0244 CF91 pop r28
+ 739 0246 DF91 pop r29
+ 740 0248 1F91 pop r17
+ 741 024a 0F91 pop r16
+ 742 .LVL29:
+ 743 024c FF90 pop r15
+ 744 024e EF90 pop r14
+ 745 0250 DF90 pop r13
+ 746 0252 CF90 pop r12
+ 747 0254 BF90 pop r11
+ 748 0256 AF90 pop r10
+ 749 0258 9F90 pop r9
+ 750 025a 8F90 pop r8
+ 751 .LVL30:
+ 752 025c 7F90 pop r7
+ 753 025e 6F90 pop r6
+ 754 0260 0895 ret
+ 755 .LFE81:
+ 797 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 HID.c
+ /tmp/ccYdlTY9.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/ccYdlTY9.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/ccYdlTY9.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/ccYdlTY9.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/ccYdlTY9.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/ccYdlTY9.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/ccYdlTY9.s:19 .text.HID_Device_USBTask:0000000000000000 HID_Device_USBTask
+ /tmp/ccYdlTY9.s:279 .text.HID_Device_ConfigureEndpoints:0000000000000000 HID_Device_ConfigureEndpoints
+ /tmp/ccYdlTY9.s:374 .text.HID_Device_ProcessControlRequest:0000000000000000 HID_Device_ProcessControlRequest
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+memset
+CALLBACK_HID_Device_CreateHIDReport
+memcmp
+memcpy
+Endpoint_Write_Stream_LE
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_Write_Control_Stream_LE
+Endpoint_Read_Control_Stream_LE
+CALLBACK_HID_Device_ProcessHIDReport
+Endpoint_ClearStatusStage