summaryrefslogtreecommitdiff
path: root/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/LUFA/Drivers/USB/Class/Device/CDC.lst')
-rw-r--r--firmware/LUFA/Drivers/USB/Class/Device/CDC.lst1059
1 files changed, 1059 insertions, 0 deletions
diff --git a/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst b/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst
new file mode 100644
index 0000000..ceb9593
--- /dev/null
+++ b/firmware/LUFA/Drivers/USB/Class/Device/CDC.lst
@@ -0,0 +1,1059 @@
+ 1 .file "CDC.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.CDC_Device_Event_Stub,"ax",@progbits
+ 17 .global CDC_Device_Event_Stub
+ 19 CDC_Device_Event_Stub:
+ 20 .LFB81:
+ 21 .LSM0:
+ 22 /* prologue: function */
+ 23 /* frame size = 0 */
+ 24 /* epilogue start */
+ 25 .LSM1:
+ 26 0000 0895 ret
+ 27 .LFE81:
+ 29 .section .text.CDC_Device_BytesReceived,"ax",@progbits
+ 30 .global CDC_Device_BytesReceived
+ 32 CDC_Device_BytesReceived:
+ 33 .LFB88:
+ 34 .LSM2:
+ 35 .LVL0:
+ 36 /* prologue: function */
+ 37 /* frame size = 0 */
+ 38 0000 FC01 movw r30,r24
+ 39 .LSM3:
+ 40 0002 8091 0000 lds r24,USB_DeviceState
+ 41 .LVL1:
+ 42 0006 8430 cpi r24,lo8(4)
+ 43 0008 01F4 brne .L4
+ 44 000a 8785 ldd r24,Z+15
+ 45 000c 9089 ldd r25,Z+16
+ 46 000e A189 ldd r26,Z+17
+ 47 0010 B289 ldd r27,Z+18
+ 48 0012 0097 sbiw r24,0
+ 49 0014 A105 cpc r26,__zero_reg__
+ 50 0016 B105 cpc r27,__zero_reg__
+ 51 0018 01F0 breq .L4
+ 52 .LSM4:
+ 53 001a 8581 ldd r24,Z+5
+ 54 .LBB71:
+ 55 .LBB72:
+ 56 .LSM5:
+ 57 001c 8093 E900 sts 233,r24
+ 58 .LBE72:
+ 59 .LBE71:
+ 60 .LBB73:
+ 61 .LBB74:
+ 62 .LSM6:
+ 63 0020 8091 E800 lds r24,232
+ 64 .LBE74:
+ 65 .LBE73:
+ 66 .LSM7:
+ 67 0024 82FF sbrs r24,2
+ 68 0026 00C0 rjmp .L4
+ 69 .LBB75:
+ 70 .LBB76:
+ 71 .LSM8:
+ 72 0028 8091 F200 lds r24,242
+ 73 .LBE76:
+ 74 .LBE75:
+ 75 .LSM9:
+ 76 002c 8823 tst r24
+ 77 002e 01F4 brne .L5
+ 78 .LBB77:
+ 79 .LBB78:
+ 80 .LSM10:
+ 81 0030 8091 E800 lds r24,232
+ 82 0034 8B77 andi r24,lo8(123)
+ 83 0036 8093 E800 sts 232,r24
+ 84 003a 00C0 rjmp .L4
+ 85 .L5:
+ 86 .LBE78:
+ 87 .LBE77:
+ 88 .LBB79:
+ 89 .LBB80:
+ 90 .LSM11:
+ 91 003c 8091 F200 lds r24,242
+ 92 0040 282F mov r18,r24
+ 93 0042 30E0 ldi r19,lo8(0)
+ 94 0044 00C0 rjmp .L6
+ 95 .L4:
+ 96 .LSM12:
+ 97 0046 20E0 ldi r18,lo8(0)
+ 98 0048 30E0 ldi r19,hi8(0)
+ 99 .L6:
+ 100 .LBE80:
+ 101 .LBE79:
+ 102 .LSM13:
+ 103 004a C901 movw r24,r18
+ 104 /* epilogue start */
+ 105 004c 0895 ret
+ 106 .LFE88:
+ 108 .section .text.CDC_Device_ReceiveByte,"ax",@progbits
+ 109 .global CDC_Device_ReceiveByte
+ 111 CDC_Device_ReceiveByte:
+ 112 .LFB89:
+ 113 .LSM14:
+ 114 .LVL2:
+ 115 /* prologue: function */
+ 116 /* frame size = 0 */
+ 117 0000 FC01 movw r30,r24
+ 118 .LSM15:
+ 119 0002 8091 0000 lds r24,USB_DeviceState
+ 120 .LVL3:
+ 121 0006 8430 cpi r24,lo8(4)
+ 122 0008 01F4 brne .L9
+ 123 000a 8785 ldd r24,Z+15
+ 124 000c 9089 ldd r25,Z+16
+ 125 000e A189 ldd r26,Z+17
+ 126 0010 B289 ldd r27,Z+18
+ 127 0012 0097 sbiw r24,0
+ 128 0014 A105 cpc r26,__zero_reg__
+ 129 0016 B105 cpc r27,__zero_reg__
+ 130 0018 01F0 breq .L9
+ 131 .LSM16:
+ 132 001a 8581 ldd r24,Z+5
+ 133 .LBB81:
+ 134 .LBB82:
+ 135 .LSM17:
+ 136 001c 8093 E900 sts 233,r24
+ 137 .LBE82:
+ 138 .LBE81:
+ 139 .LBB83:
+ 140 .LBB84:
+ 141 .LSM18:
+ 142 0020 8091 E800 lds r24,232
+ 143 .LBE84:
+ 144 .LBE83:
+ 145 .LSM19:
+ 146 0024 82FF sbrs r24,2
+ 147 0026 00C0 rjmp .L9
+ 148 .L10:
+ 149 .LBB85:
+ 150 .LBB86:
+ 151 .LSM20:
+ 152 0028 8091 F200 lds r24,242
+ 153 .LBE86:
+ 154 .LBE85:
+ 155 .LSM21:
+ 156 002c 8823 tst r24
+ 157 002e 01F4 brne .L12
+ 158 0030 2FEF ldi r18,lo8(-1)
+ 159 0032 3FEF ldi r19,hi8(-1)
+ 160 .LVL4:
+ 161 0034 00C0 rjmp .L13
+ 162 .LVL5:
+ 163 .L12:
+ 164 .LBB87:
+ 165 .LBB88:
+ 166 .LSM22:
+ 167 0036 8091 F100 lds r24,241
+ 168 .LBE88:
+ 169 .LBE87:
+ 170 .LSM23:
+ 171 003a 282F mov r18,r24
+ 172 .LVL6:
+ 173 003c 30E0 ldi r19,lo8(0)
+ 174 .LVL7:
+ 175 .L13:
+ 176 .LBB89:
+ 177 .LBB90:
+ 178 .LSM24:
+ 179 003e 8091 F200 lds r24,242
+ 180 .LBE90:
+ 181 .LBE89:
+ 182 .LSM25:
+ 183 0042 8823 tst r24
+ 184 0044 01F4 brne .L11
+ 185 .LBB91:
+ 186 .LBB92:
+ 187 .LSM26:
+ 188 0046 8091 E800 lds r24,232
+ 189 004a 8B77 andi r24,lo8(123)
+ 190 004c 8093 E800 sts 232,r24
+ 191 0050 00C0 rjmp .L11
+ 192 .LVL8:
+ 193 .L9:
+ 194 0052 2FEF ldi r18,lo8(-1)
+ 195 0054 3FEF ldi r19,hi8(-1)
+ 196 .LVL9:
+ 197 .L11:
+ 198 .LBE92:
+ 199 .LBE91:
+ 200 .LSM27:
+ 201 0056 C901 movw r24,r18
+ 202 .LVL10:
+ 203 /* epilogue start */
+ 204 0058 0895 ret
+ 205 .LFE89:
+ 207 .section .text.CDC_Device_CreateStream,"ax",@progbits
+ 208 .global CDC_Device_CreateStream
+ 210 CDC_Device_CreateStream:
+ 211 .LFB91:
+ 212 .LSM28:
+ 213 .LVL11:
+ 214 /* prologue: function */
+ 215 /* frame size = 0 */
+ 216 0000 FB01 movw r30,r22
+ 217 .LSM29:
+ 218 0002 2EE0 ldi r18,lo8(14)
+ 219 0004 DB01 movw r26,r22
+ 220 0006 1D92 st X+,__zero_reg__
+ 221 0008 2A95 dec r18
+ 222 000a 01F4 brne .-6
+ 223 000c 23E0 ldi r18,lo8(3)
+ 224 000e 2383 std Z+3,r18
+ 225 0010 20E0 ldi r18,lo8(gs(CDC_Device_putchar))
+ 226 0012 30E0 ldi r19,hi8(gs(CDC_Device_putchar))
+ 227 0014 3187 std Z+9,r19
+ 228 0016 2087 std Z+8,r18
+ 229 0018 20E0 ldi r18,lo8(gs(CDC_Device_getchar))
+ 230 001a 30E0 ldi r19,hi8(gs(CDC_Device_getchar))
+ 231 001c 3387 std Z+11,r19
+ 232 001e 2287 std Z+10,r18
+ 233 .LSM30:
+ 234 0020 9587 std Z+13,r25
+ 235 0022 8487 std Z+12,r24
+ 236 /* epilogue start */
+ 237 .LSM31:
+ 238 0024 0895 ret
+ 239 .LFE91:
+ 241 .section .text.CDC_Device_CreateBlockingStream,"ax",@progbits
+ 242 .global CDC_Device_CreateBlockingStream
+ 244 CDC_Device_CreateBlockingStream:
+ 245 .LFB92:
+ 246 .LSM32:
+ 247 .LVL12:
+ 248 /* prologue: function */
+ 249 /* frame size = 0 */
+ 250 0000 FB01 movw r30,r22
+ 251 .LSM33:
+ 252 0002 2EE0 ldi r18,lo8(14)
+ 253 0004 DB01 movw r26,r22
+ 254 0006 1D92 st X+,__zero_reg__
+ 255 0008 2A95 dec r18
+ 256 000a 01F4 brne .-6
+ 257 000c 23E0 ldi r18,lo8(3)
+ 258 000e 2383 std Z+3,r18
+ 259 0010 20E0 ldi r18,lo8(gs(CDC_Device_putchar))
+ 260 0012 30E0 ldi r19,hi8(gs(CDC_Device_putchar))
+ 261 0014 3187 std Z+9,r19
+ 262 0016 2087 std Z+8,r18
+ 263 0018 20E0 ldi r18,lo8(gs(CDC_Device_getchar_Blocking))
+ 264 001a 30E0 ldi r19,hi8(gs(CDC_Device_getchar_Blocking))
+ 265 001c 3387 std Z+11,r19
+ 266 001e 2287 std Z+10,r18
+ 267 .LSM34:
+ 268 0020 9587 std Z+13,r25
+ 269 0022 8487 std Z+12,r24
+ 270 /* epilogue start */
+ 271 .LSM35:
+ 272 0024 0895 ret
+ 273 .LFE92:
+ 275 .section .text.CDC_Device_getchar,"ax",@progbits
+ 277 CDC_Device_getchar:
+ 278 .LFB94:
+ 279 .LSM36:
+ 280 .LVL13:
+ 281 /* prologue: function */
+ 282 /* frame size = 0 */
+ 283 .LSM37:
+ 284 0000 FC01 movw r30,r24
+ 285 0002 8485 ldd r24,Z+12
+ 286 0004 9585 ldd r25,Z+13
+ 287 .LVL14:
+ 288 0006 0E94 0000 call CDC_Device_ReceiveByte
+ 289 000a 9C01 movw r18,r24
+ 290 .LVL15:
+ 291 .LSM38:
+ 292 000c 97FF sbrs r25,7
+ 293 000e 00C0 rjmp .L20
+ 294 .LVL16:
+ 295 0010 2EEF ldi r18,lo8(-2)
+ 296 0012 3FEF ldi r19,hi8(-2)
+ 297 .LVL17:
+ 298 .L20:
+ 299 .LSM39:
+ 300 0014 C901 movw r24,r18
+ 301 .LVL18:
+ 302 /* epilogue start */
+ 303 0016 0895 ret
+ 304 .LFE94:
+ 306 .section .text.CDC_Device_SendControlLineStateChange,"ax",@progbits
+ 307 .global CDC_Device_SendControlLineStateChange
+ 309 CDC_Device_SendControlLineStateChange:
+ 310 .LFB90:
+ 311 .LSM40:
+ 312 .LVL19:
+ 313 0000 0F93 push r16
+ 314 0002 1F93 push r17
+ 315 0004 DF93 push r29
+ 316 0006 CF93 push r28
+ 317 0008 CDB7 in r28,__SP_L__
+ 318 000a DEB7 in r29,__SP_H__
+ 319 000c 2897 sbiw r28,8
+ 320 000e 0FB6 in __tmp_reg__,__SREG__
+ 321 0010 F894 cli
+ 322 0012 DEBF out __SP_H__,r29
+ 323 0014 0FBE out __SREG__,__tmp_reg__
+ 324 0016 CDBF out __SP_L__,r28
+ 325 /* prologue: function */
+ 326 /* frame size = 8 */
+ 327 0018 8C01 movw r16,r24
+ 328 .LSM41:
+ 329 001a 8091 0000 lds r24,USB_DeviceState
+ 330 .LVL20:
+ 331 001e 8430 cpi r24,lo8(4)
+ 332 0020 01F4 brne .L25
+ 333 0022 F801 movw r30,r16
+ 334 0024 8785 ldd r24,Z+15
+ 335 0026 9089 ldd r25,Z+16
+ 336 0028 A189 ldd r26,Z+17
+ 337 002a B289 ldd r27,Z+18
+ 338 002c 0097 sbiw r24,0
+ 339 002e A105 cpc r26,__zero_reg__
+ 340 0030 B105 cpc r27,__zero_reg__
+ 341 0032 01F0 breq .L25
+ 342 .LSM42:
+ 343 0034 8185 ldd r24,Z+9
+ 344 .LBB93:
+ 345 .LBB94:
+ 346 .LSM43:
+ 347 0036 8093 E900 sts 233,r24
+ 348 .LBE94:
+ 349 .LBE93:
+ 350 .LSM44:
+ 351 003a DE01 movw r26,r28
+ 352 003c 1196 adiw r26,1
+ 353 003e E0E0 ldi r30,lo8(C.17.3562)
+ 354 0040 F0E0 ldi r31,hi8(C.17.3562)
+ 355 0042 88E0 ldi r24,lo8(8)
+ 356 .L24:
+ 357 0044 0190 ld r0,Z+
+ 358 0046 0D92 st X+,r0
+ 359 0048 8150 subi r24,lo8(-(-1))
+ 360 004a 01F4 brne .L24
+ 361 .LSM45:
+ 362 004c CE01 movw r24,r28
+ 363 004e 0196 adiw r24,1
+ 364 0050 68E0 ldi r22,lo8(8)
+ 365 0052 70E0 ldi r23,hi8(8)
+ 366 0054 40E0 ldi r20,lo8(0)
+ 367 0056 50E0 ldi r21,hi8(0)
+ 368 0058 0E94 0000 call Endpoint_Write_Stream_LE
+ 369 .LSM46:
+ 370 005c C801 movw r24,r16
+ 371 005e 0E96 adiw r24,14
+ 372 0060 61E0 ldi r22,lo8(1)
+ 373 0062 70E0 ldi r23,hi8(1)
+ 374 0064 40E0 ldi r20,lo8(0)
+ 375 0066 50E0 ldi r21,hi8(0)
+ 376 0068 0E94 0000 call Endpoint_Write_Stream_LE
+ 377 .LBB95:
+ 378 .LBB96:
+ 379 .LSM47:
+ 380 006c 8091 E800 lds r24,232
+ 381 0070 8E77 andi r24,lo8(126)
+ 382 0072 8093 E800 sts 232,r24
+ 383 .L25:
+ 384 /* epilogue start */
+ 385 .LBE96:
+ 386 .LBE95:
+ 387 .LSM48:
+ 388 0076 2896 adiw r28,8
+ 389 0078 0FB6 in __tmp_reg__,__SREG__
+ 390 007a F894 cli
+ 391 007c DEBF out __SP_H__,r29
+ 392 007e 0FBE out __SREG__,__tmp_reg__
+ 393 0080 CDBF out __SP_L__,r28
+ 394 0082 CF91 pop r28
+ 395 0084 DF91 pop r29
+ 396 0086 1F91 pop r17
+ 397 0088 0F91 pop r16
+ 398 .LVL21:
+ 399 008a 0895 ret
+ 400 .LFE90:
+ 402 .section .text.CDC_Device_SendString,"ax",@progbits
+ 403 .global CDC_Device_SendString
+ 405 CDC_Device_SendString:
+ 406 .LFB85:
+ 407 .LSM49:
+ 408 .LVL22:
+ 409 /* prologue: function */
+ 410 /* frame size = 0 */
+ 411 0000 FC01 movw r30,r24
+ 412 .LSM50:
+ 413 0002 8091 0000 lds r24,USB_DeviceState
+ 414 .LVL23:
+ 415 0006 8430 cpi r24,lo8(4)
+ 416 0008 01F4 brne .L28
+ 417 000a 8785 ldd r24,Z+15
+ 418 000c 9089 ldd r25,Z+16
+ 419 000e A189 ldd r26,Z+17
+ 420 0010 B289 ldd r27,Z+18
+ 421 0012 0097 sbiw r24,0
+ 422 0014 A105 cpc r26,__zero_reg__
+ 423 0016 B105 cpc r27,__zero_reg__
+ 424 0018 01F0 breq .L28
+ 425 .LSM51:
+ 426 001a 8181 ldd r24,Z+1
+ 427 .LBB97:
+ 428 .LBB98:
+ 429 .LSM52:
+ 430 001c 8093 E900 sts 233,r24
+ 431 .LBE98:
+ 432 .LBE97:
+ 433 .LSM53:
+ 434 0020 CB01 movw r24,r22
+ 435 0022 BA01 movw r22,r20
+ 436 .LVL24:
+ 437 0024 40E0 ldi r20,lo8(0)
+ 438 0026 50E0 ldi r21,hi8(0)
+ 439 .LVL25:
+ 440 0028 0E94 0000 call Endpoint_Write_Stream_LE
+ 441 .LVL26:
+ 442 002c 0895 ret
+ 443 .LVL27:
+ 444 .L28:
+ 445 002e 82E0 ldi r24,lo8(2)
+ 446 .LSM54:
+ 447 0030 0895 ret
+ 448 .LFE85:
+ 450 .section .text.CDC_Device_Flush,"ax",@progbits
+ 451 .global CDC_Device_Flush
+ 453 CDC_Device_Flush:
+ 454 .LFB87:
+ 455 .LSM55:
+ 456 .LVL28:
+ 457 /* prologue: function */
+ 458 /* frame size = 0 */
+ 459 0000 FC01 movw r30,r24
+ 460 .LSM56:
+ 461 0002 8091 0000 lds r24,USB_DeviceState
+ 462 .LVL29:
+ 463 0006 8430 cpi r24,lo8(4)
+ 464 0008 01F4 brne .L32
+ 465 000a 8785 ldd r24,Z+15
+ 466 000c 9089 ldd r25,Z+16
+ 467 000e A189 ldd r26,Z+17
+ 468 0010 B289 ldd r27,Z+18
+ 469 0012 0097 sbiw r24,0
+ 470 0014 A105 cpc r26,__zero_reg__
+ 471 0016 B105 cpc r27,__zero_reg__
+ 472 0018 01F0 breq .L32
+ 473 .LSM57:
+ 474 001a 8181 ldd r24,Z+1
+ 475 .LBB99:
+ 476 .LBB100:
+ 477 .LSM58:
+ 478 001c 8093 E900 sts 233,r24
+ 479 .LBE100:
+ 480 .LBE99:
+ 481 .LBB101:
+ 482 .LBB102:
+ 483 .LSM59:
+ 484 0020 8091 F200 lds r24,242
+ 485 .LBE102:
+ 486 .LBE101:
+ 487 .LSM60:
+ 488 0024 8823 tst r24
+ 489 0026 01F0 breq .L33
+ 490 .LBB103:
+ 491 .LBB104:
+ 492 .LSM61:
+ 493 0028 9091 E800 lds r25,232
+ 494 .LBE104:
+ 495 .LBE103:
+ 496 .LBB105:
+ 497 .LBB106:
+ 498 .LSM62:
+ 499 002c 8091 E800 lds r24,232
+ 500 0030 8E77 andi r24,lo8(126)
+ 501 0032 8093 E800 sts 232,r24
+ 502 .LBE106:
+ 503 .LBE105:
+ 504 .LSM63:
+ 505 0036 95FD sbrc r25,5
+ 506 0038 00C0 rjmp .L33
+ 507 .LSM64:
+ 508 003a 0E94 0000 call Endpoint_WaitUntilReady
+ 509 .LVL30:
+ 510 003e 982F mov r25,r24
+ 511 .LVL31:
+ 512 0040 8823 tst r24
+ 513 0042 01F4 brne .L34
+ 514 .LVL32:
+ 515 .LBB107:
+ 516 .LBB108:
+ 517 .LSM65:
+ 518 0044 8091 E800 lds r24,232
+ 519 .LVL33:
+ 520 0048 8E77 andi r24,lo8(126)
+ 521 004a 8093 E800 sts 232,r24
+ 522 004e 00C0 rjmp .L34
+ 523 .LVL34:
+ 524 .L32:
+ 525 0050 92E0 ldi r25,lo8(2)
+ 526 .LVL35:
+ 527 0052 00C0 rjmp .L34
+ 528 .LVL36:
+ 529 .L33:
+ 530 0054 90E0 ldi r25,lo8(0)
+ 531 .LVL37:
+ 532 .L34:
+ 533 .LBE108:
+ 534 .LBE107:
+ 535 .LSM66:
+ 536 0056 892F mov r24,r25
+ 537 /* epilogue start */
+ 538 0058 0895 ret
+ 539 .LFE87:
+ 541 .section .text.CDC_Device_USBTask,"ax",@progbits
+ 542 .global CDC_Device_USBTask
+ 544 CDC_Device_USBTask:
+ 545 .LFB84:
+ 546 .LSM67:
+ 547 .LVL38:
+ 548 /* prologue: function */
+ 549 /* frame size = 0 */
+ 550 0000 FC01 movw r30,r24
+ 551 .LSM68:
+ 552 0002 8091 0000 lds r24,USB_DeviceState
+ 553 .LVL39:
+ 554 0006 8430 cpi r24,lo8(4)
+ 555 0008 01F4 brne .L38
+ 556 000a 8785 ldd r24,Z+15
+ 557 000c 9089 ldd r25,Z+16
+ 558 000e A189 ldd r26,Z+17
+ 559 0010 B289 ldd r27,Z+18
+ 560 0012 0097 sbiw r24,0
+ 561 0014 A105 cpc r26,__zero_reg__
+ 562 0016 B105 cpc r27,__zero_reg__
+ 563 0018 01F0 breq .L38
+ 564 .LSM69:
+ 565 001a CF01 movw r24,r30
+ 566 001c 0E94 0000 call CDC_Device_Flush
+ 567 .LVL40:
+ 568 .L38:
+ 569 0020 0895 ret
+ 570 .LFE84:
+ 572 .section .text.CDC_Device_getchar_Blocking,"ax",@progbits
+ 574 CDC_Device_getchar_Blocking:
+ 575 .LFB95:
+ 576 .LSM70:
+ 577 .LVL41:
+ 578 0000 CF93 push r28
+ 579 0002 DF93 push r29
+ 580 /* prologue: function */
+ 581 /* frame size = 0 */
+ 582 0004 EC01 movw r28,r24
+ 583 0006 00C0 rjmp .L40
+ 584 .LVL42:
+ 585 .L43:
+ 586 .LSM71:
+ 587 0008 8091 0000 lds r24,USB_DeviceState
+ 588 .LVL43:
+ 589 000c 8823 tst r24
+ 590 000e 01F4 brne .L41
+ 591 0010 2EEF ldi r18,lo8(-2)
+ 592 0012 3FEF ldi r19,hi8(-2)
+ 593 0014 00C0 rjmp .L42
+ 594 .L41:
+ 595 .LSM72:
+ 596 0016 8C85 ldd r24,Y+12
+ 597 0018 9D85 ldd r25,Y+13
+ 598 001a 0E94 0000 call CDC_Device_USBTask
+ 599 .LVL44:
+ 600 .LSM73:
+ 601 001e 0E94 0000 call USB_USBTask
+ 602 .LVL45:
+ 603 .L40:
+ 604 .LSM74:
+ 605 0022 8C85 ldd r24,Y+12
+ 606 0024 9D85 ldd r25,Y+13
+ 607 0026 0E94 0000 call CDC_Device_ReceiveByte
+ 608 002a 9C01 movw r18,r24
+ 609 .LVL46:
+ 610 002c 97FD sbrc r25,7
+ 611 002e 00C0 rjmp .L43
+ 612 .L42:
+ 613 .LSM75:
+ 614 0030 C901 movw r24,r18
+ 615 .LVL47:
+ 616 /* epilogue start */
+ 617 0032 DF91 pop r29
+ 618 0034 CF91 pop r28
+ 619 .LVL48:
+ 620 0036 0895 ret
+ 621 .LFE95:
+ 623 .section .text.CDC_Device_SendByte,"ax",@progbits
+ 624 .global CDC_Device_SendByte
+ 626 CDC_Device_SendByte:
+ 627 .LFB86:
+ 628 .LSM76:
+ 629 .LVL49:
+ 630 0000 1F93 push r17
+ 631 /* prologue: function */
+ 632 /* frame size = 0 */
+ 633 0002 FC01 movw r30,r24
+ 634 0004 162F mov r17,r22
+ 635 .LSM77:
+ 636 0006 8091 0000 lds r24,USB_DeviceState
+ 637 .LVL50:
+ 638 000a 8430 cpi r24,lo8(4)
+ 639 000c 01F4 brne .L46
+ 640 .LVL51:
+ 641 000e 8785 ldd r24,Z+15
+ 642 0010 9089 ldd r25,Z+16
+ 643 0012 A189 ldd r26,Z+17
+ 644 0014 B289 ldd r27,Z+18
+ 645 0016 0097 sbiw r24,0
+ 646 0018 A105 cpc r26,__zero_reg__
+ 647 001a B105 cpc r27,__zero_reg__
+ 648 001c 01F0 breq .L46
+ 649 .LSM78:
+ 650 001e 8181 ldd r24,Z+1
+ 651 .LBB109:
+ 652 .LBB110:
+ 653 .LSM79:
+ 654 0020 8093 E900 sts 233,r24
+ 655 .LBE110:
+ 656 .LBE109:
+ 657 .LBB111:
+ 658 .LBB112:
+ 659 .LSM80:
+ 660 0024 8091 E800 lds r24,232
+ 661 .LBE112:
+ 662 .LBE111:
+ 663 .LSM81:
+ 664 0028 85FD sbrc r24,5
+ 665 002a 00C0 rjmp .L47
+ 666 .LBB113:
+ 667 .LBB114:
+ 668 .LBB115:
+ 669 .LSM82:
+ 670 002c 8091 E800 lds r24,232
+ 671 0030 8E77 andi r24,lo8(126)
+ 672 0032 8093 E800 sts 232,r24
+ 673 .LBE115:
+ 674 .LBE114:
+ 675 .LSM83:
+ 676 0036 0E94 0000 call Endpoint_WaitUntilReady
+ 677 .LVL52:
+ 678 003a 8823 tst r24
+ 679 .LVL53:
+ 680 003c 01F4 brne .L48
+ 681 .LVL54:
+ 682 .L47:
+ 683 .LBE113:
+ 684 .LBB116:
+ 685 .LBB117:
+ 686 .LSM84:
+ 687 003e 1093 F100 sts 241,r17
+ 688 0042 80E0 ldi r24,lo8(0)
+ 689 0044 00C0 rjmp .L48
+ 690 .LVL55:
+ 691 .L46:
+ 692 .LSM85:
+ 693 0046 82E0 ldi r24,lo8(2)
+ 694 .LVL56:
+ 695 .L48:
+ 696 .LVL57:
+ 697 /* epilogue start */
+ 698 .LBE117:
+ 699 .LBE116:
+ 700 .LSM86:
+ 701 0048 1F91 pop r17
+ 702 .LVL58:
+ 703 004a 0895 ret
+ 704 .LFE86:
+ 706 .section .text.CDC_Device_putchar,"ax",@progbits
+ 708 CDC_Device_putchar:
+ 709 .LFB93:
+ 710 .LSM87:
+ 711 .LVL59:
+ 712 /* prologue: function */
+ 713 /* frame size = 0 */
+ 714 0000 282F mov r18,r24
+ 715 0002 FB01 movw r30,r22
+ 716 .LSM88:
+ 717 0004 8485 ldd r24,Z+12
+ 718 0006 9585 ldd r25,Z+13
+ 719 .LVL60:
+ 720 0008 622F mov r22,r18
+ 721 .LVL61:
+ 722 000a 0E94 0000 call CDC_Device_SendByte
+ 723 .LVL62:
+ 724 000e 8823 tst r24
+ 725 0010 01F4 brne .L51
+ 726 0012 20E0 ldi r18,lo8(0)
+ 727 0014 30E0 ldi r19,hi8(0)
+ 728 0016 00C0 rjmp .L52
+ 729 .L51:
+ 730 0018 2FEF ldi r18,lo8(-1)
+ 731 001a 3FEF ldi r19,hi8(-1)
+ 732 .L52:
+ 733 .LSM89:
+ 734 001c C901 movw r24,r18
+ 735 /* epilogue start */
+ 736 001e 0895 ret
+ 737 .LFE93:
+ 739 .section .text.CDC_Device_ConfigureEndpoints,"ax",@progbits
+ 740 .global CDC_Device_ConfigureEndpoints
+ 742 CDC_Device_ConfigureEndpoints:
+ 743 .LFB83:
+ 744 .LSM90:
+ 745 .LVL63:
+ 746 0000 1F93 push r17
+ 747 0002 CF93 push r28
+ 748 0004 DF93 push r29
+ 749 /* prologue: function */
+ 750 /* frame size = 0 */
+ 751 0006 EC01 movw r28,r24
+ 752 .LSM91:
+ 753 0008 0D96 adiw r24,13
+ 754 .LVL64:
+ 755 000a FC01 movw r30,r24
+ 756 000c 89E0 ldi r24,lo8(9)
+ 757 000e DF01 movw r26,r30
+ 758 0010 1D92 st X+,__zero_reg__
+ 759 0012 8A95 dec r24
+ 760 0014 01F4 brne .-6
+ 761 0016 11E0 ldi r17,lo8(1)
+ 762 .LVL65:
+ 763 .L64:
+ 764 .LBB118:
+ 765 .LBB119:
+ 766 .LSM92:
+ 767 0018 8981 ldd r24,Y+1
+ 768 001a 1817 cp r17,r24
+ 769 001c 01F4 brne .L55
+ 770 .LSM93:
+ 771 001e EA81 ldd r30,Y+2
+ 772 0020 FB81 ldd r31,Y+3
+ 773 .LVL66:
+ 774 .LSM94:
+ 775 0022 8C81 ldd r24,Y+4
+ 776 .LVL67:
+ 777 0024 62E0 ldi r22,lo8(2)
+ 778 .LVL68:
+ 779 0026 00C0 rjmp .L67
+ 780 .LVL69:
+ 781 .L55:
+ 782 .LSM95:
+ 783 0028 8D81 ldd r24,Y+5
+ 784 002a 1817 cp r17,r24
+ 785 002c 01F4 brne .L57
+ 786 .LSM96:
+ 787 002e EE81 ldd r30,Y+6
+ 788 0030 FF81 ldd r31,Y+7
+ 789 .LVL70:
+ 790 .LSM97:
+ 791 0032 8885 ldd r24,Y+8
+ 792 .LVL71:
+ 793 0034 62E0 ldi r22,lo8(2)
+ 794 .LVL72:
+ 795 0036 30E0 ldi r19,lo8(0)
+ 796 .LVL73:
+ 797 0038 00C0 rjmp .L56
+ 798 .LVL74:
+ 799 .L57:
+ 800 .LSM98:
+ 801 003a 8985 ldd r24,Y+9
+ 802 003c 1817 cp r17,r24
+ 803 003e 01F4 brne .L58
+ 804 .LSM99:
+ 805 0040 EA85 ldd r30,Y+10
+ 806 0042 FB85 ldd r31,Y+11
+ 807 .LVL75:
+ 808 .LSM100:
+ 809 0044 8C85 ldd r24,Y+12
+ 810 .LVL76:
+ 811 0046 63E0 ldi r22,lo8(3)
+ 812 .LVL77:
+ 813 .L67:
+ 814 0048 31E0 ldi r19,lo8(1)
+ 815 .LVL78:
+ 816 .L56:
+ 817 .LSM101:
+ 818 004a 8823 tst r24
+ 819 004c 01F4 brne .L59
+ 820 004e 40E0 ldi r20,lo8(0)
+ 821 0050 00C0 rjmp .L60
+ 822 .L59:
+ 823 0052 44E0 ldi r20,lo8(4)
+ 824 .L60:
+ 825 0054 20E0 ldi r18,lo8(0)
+ 826 .LVL79:
+ 827 0056 88E0 ldi r24,lo8(8)
+ 828 0058 90E0 ldi r25,hi8(8)
+ 829 .LVL80:
+ 830 005a 00C0 rjmp .L61
+ 831 .L62:
+ 832 .LBB120:
+ 833 .LBB121:
+ 834 .LBB122:
+ 835 .LBB123:
+ 836 .LSM102:
+ 837 005c 2F5F subi r18,lo8(-(1))
+ 838 .LSM103:
+ 839 005e 880F lsl r24
+ 840 0060 991F rol r25
+ 841 .L61:
+ 842 .LSM104:
+ 843 0062 8E17 cp r24,r30
+ 844 0064 9F07 cpc r25,r31
+ 845 0066 00F0 brlo .L62
+ 846 .LBE123:
+ 847 .LBE122:
+ 848 .LBE121:
+ 849 .LSM105:
+ 850 0068 6295 swap r22
+ 851 006a 660F lsl r22
+ 852 006c 660F lsl r22
+ 853 006e 607C andi r22,lo8(-64)
+ 854 0070 632B or r22,r19
+ 855 0072 4260 ori r20,lo8(2)
+ 856 0074 2295 swap r18
+ 857 0076 207F andi r18,lo8(-16)
+ 858 0078 422B or r20,r18
+ 859 007a 812F mov r24,r17
+ 860 .LVL81:
+ 861 007c 0E94 0000 call Endpoint_ConfigureEndpoint_Prv
+ 862 .LVL82:
+ 863 .LBE120:
+ 864 .LSM106:
+ 865 0080 8823 tst r24
+ 866 0082 01F0 breq .L63
+ 867 .L58:
+ 868 .LBE119:
+ 869 .LSM107:
+ 870 0084 1F5F subi r17,lo8(-(1))
+ 871 0086 1530 cpi r17,lo8(5)
+ 872 0088 01F4 brne .L64
+ 873 008a 81E0 ldi r24,lo8(1)
+ 874 .L63:
+ 875 /* epilogue start */
+ 876 .LBE118:
+ 877 .LSM108:
+ 878 008c DF91 pop r29
+ 879 008e CF91 pop r28
+ 880 .LVL83:
+ 881 0090 1F91 pop r17
+ 882 .LVL84:
+ 883 0092 0895 ret
+ 884 .LFE83:
+ 886 .section .text.CDC_Device_ProcessControlRequest,"ax",@progbits
+ 887 .global CDC_Device_ProcessControlRequest
+ 889 CDC_Device_ProcessControlRequest:
+ 890 .LFB82:
+ 891 .LSM109:
+ 892 .LVL85:
+ 893 0000 CF93 push r28
+ 894 0002 DF93 push r29
+ 895 /* prologue: function */
+ 896 /* frame size = 0 */
+ 897 0004 EC01 movw r28,r24
+ 898 .LBB124:
+ 899 .LBB125:
+ 900 .LSM110:
+ 901 0006 8091 E800 lds r24,232
+ 902 .LVL86:
+ 903 .LBE125:
+ 904 .LBE124:
+ 905 .LSM111:
+ 906 000a 83FF sbrs r24,3
+ 907 000c 00C0 rjmp .L75
+ 908 .LSM112:
+ 909 000e 8881 ld r24,Y
+ 910 0010 90E0 ldi r25,lo8(0)
+ 911 0012 2091 0000 lds r18,USB_ControlRequest+4
+ 912 0016 3091 0000 lds r19,(USB_ControlRequest+4)+1
+ 913 001a 2817 cp r18,r24
+ 914 001c 3907 cpc r19,r25
+ 915 001e 01F0 breq .+2
+ 916 0020 00C0 rjmp .L75
+ 917 .LSM113:
+ 918 0022 8091 0000 lds r24,USB_ControlRequest+1
+ 919 0026 8132 cpi r24,lo8(33)
+ 920 0028 01F0 breq .L71
+ 921 002a 8232 cpi r24,lo8(34)
+ 922 002c 00F4 brsh .L74
+ 923 002e 8032 cpi r24,lo8(32)
+ 924 0030 01F0 breq .+2
+ 925 0032 00C0 rjmp .L75
+ 926 0034 00C0 rjmp .L76
+ 927 .L74:
+ 928 0036 8232 cpi r24,lo8(34)
+ 929 0038 01F0 breq .L72
+ 930 003a 8332 cpi r24,lo8(35)
+ 931 003c 01F0 breq .+2
+ 932 003e 00C0 rjmp .L75
+ 933 0040 00C0 rjmp .L77
+ 934 .L71:
+ 935 .LSM114:
+ 936 0042 8091 0000 lds r24,USB_ControlRequest
+ 937 0046 813A cpi r24,lo8(-95)
+ 938 0048 01F0 breq .+2
+ 939 004a 00C0 rjmp .L75
+ 940 .LBB126:
+ 941 .LBB127:
+ 942 .LSM115:
+ 943 004c 8091 E800 lds r24,232
+ 944 0050 877F andi r24,lo8(-9)
+ 945 0052 8093 E800 sts 232,r24
+ 946 .LBE127:
+ 947 .LBE126:
+ 948 .LSM116:
+ 949 0056 CE01 movw r24,r28
+ 950 0058 0F96 adiw r24,15
+ 951 005a 67E0 ldi r22,lo8(7)
+ 952 005c 70E0 ldi r23,hi8(7)
+ 953 005e 0E94 0000 call Endpoint_Write_Control_Stream_LE
+ 954 .LBB128:
+ 955 .LBB129:
+ 956 .LSM117:
+ 957 0062 8091 E800 lds r24,232
+ 958 0066 8B77 andi r24,lo8(123)
+ 959 0068 8093 E800 sts 232,r24
+ 960 006c 00C0 rjmp .L75
+ 961 .L76:
+ 962 .LBE129:
+ 963 .LBE128:
+ 964 .LSM118:
+ 965 006e 8091 0000 lds r24,USB_ControlRequest
+ 966 0072 8132 cpi r24,lo8(33)
+ 967 0074 01F4 brne .L75
+ 968 .LBB130:
+ 969 .LBB131:
+ 970 .LSM119:
+ 971 0076 8091 E800 lds r24,232
+ 972 007a 877F andi r24,lo8(-9)
+ 973 007c 8093 E800 sts 232,r24
+ 974 .LBE131:
+ 975 .LBE130:
+ 976 .LSM120:
+ 977 0080 CE01 movw r24,r28
+ 978 0082 0F96 adiw r24,15
+ 979 0084 67E0 ldi r22,lo8(7)
+ 980 0086 70E0 ldi r23,hi8(7)
+ 981 0088 0E94 0000 call Endpoint_Read_Control_Stream_LE
+ 982 .LBB132:
+ 983 .LBB133:
+ 984 .LSM121:
+ 985 008c 8091 E800 lds r24,232
+ 986 0090 8E77 andi r24,lo8(126)
+ 987 0092 8093 E800 sts 232,r24
+ 988 .LBE133:
+ 989 .LBE132:
+ 990 .LSM122:
+ 991 0096 CE01 movw r24,r28
+ 992 0098 0E94 0000 call EVENT_CDC_Device_LineEncodingChanged
+ 993 009c 00C0 rjmp .L75
+ 994 .L72:
+ 995 .LSM123:
+ 996 009e 8091 0000 lds r24,USB_ControlRequest
+ 997 00a2 8132 cpi r24,lo8(33)
+ 998 00a4 01F4 brne .L75
+ 999 .LBB134:
+ 1000 .LBB135:
+ 1001 .LSM124:
+ 1002 00a6 8091 E800 lds r24,232
+ 1003 00aa 877F andi r24,lo8(-9)
+ 1004 00ac 8093 E800 sts 232,r24
+ 1005 .LBE135:
+ 1006 .LBE134:
+ 1007 .LSM125:
+ 1008 00b0 0E94 0000 call Endpoint_ClearStatusStage
+ 1009 .LSM126:
+ 1010 00b4 8091 0000 lds r24,USB_ControlRequest+2
+ 1011 00b8 8D87 std Y+13,r24
+ 1012 .LSM127:
+ 1013 00ba CE01 movw r24,r28
+ 1014 00bc 0E94 0000 call EVENT_CDC_Device_ControLineStateChanged
+ 1015 00c0 00C0 rjmp .L75
+ 1016 .L77:
+ 1017 .LSM128:
+ 1018 00c2 8091 0000 lds r24,USB_ControlRequest
+ 1019 00c6 8132 cpi r24,lo8(33)
+ 1020 00c8 01F4 brne .L75
+ 1021 .LBB136:
+ 1022 .LBB137:
+ 1023 .LSM129:
+ 1024 00ca 8091 E800 lds r24,232
+ 1025 00ce 877F andi r24,lo8(-9)
+ 1026 00d0 8093 E800 sts 232,r24
+ 1027 .LBE137:
+ 1028 .LBE136:
+ 1029 .LSM130:
+ 1030 00d4 0E94 0000 call Endpoint_ClearStatusStage
+ 1031 .LSM131:
+ 1032 00d8 CE01 movw r24,r28
+ 1033 00da 6091 0000 lds r22,USB_ControlRequest+2
+ 1034 00de 0E94 0000 call EVENT_CDC_Device_BreakSent
+ 1035 .L75:
+ 1036 /* epilogue start */
+ 1037 .LSM132:
+ 1038 00e2 DF91 pop r29
+ 1039 00e4 CF91 pop r28
+ 1040 .LVL87:
+ 1041 00e6 0895 ret
+ 1042 .LFE82:
+ 1044 .data
+ 1047 C.17.3562:
+ 1048 0000 A1 .byte -95
+ 1049 0001 20 .byte 32
+ 1050 0002 0000 .word 0
+ 1051 0004 0000 .word 0
+ 1052 0006 0100 .word 1
+ 1053 .weak EVENT_CDC_Device_LineEncodingChanged
+ 1054 .set EVENT_CDC_Device_LineEncodingChanged,CDC_Device_Event_Stub
+ 1055 .weak EVENT_CDC_Device_ControLineStateChanged
+ 1056 .set EVENT_CDC_Device_ControLineStateChanged,CDC_Device_Event_Stub
+ 1057 .weak EVENT_CDC_Device_BreakSent
+ 1058 .set EVENT_CDC_Device_BreakSent,CDC_Device_Event_Stub
+ 1195 .Letext0:
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 CDC.c
+ /tmp/cc6wpRq4.s:2 *ABS*:000000000000003f __SREG__
+ /tmp/cc6wpRq4.s:3 *ABS*:000000000000003e __SP_H__
+ /tmp/cc6wpRq4.s:4 *ABS*:000000000000003d __SP_L__
+ /tmp/cc6wpRq4.s:5 *ABS*:0000000000000034 __CCP__
+ /tmp/cc6wpRq4.s:6 *ABS*:0000000000000000 __tmp_reg__
+ /tmp/cc6wpRq4.s:7 *ABS*:0000000000000001 __zero_reg__
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 CDC_Device_Event_Stub
+ /tmp/cc6wpRq4.s:32 .text.CDC_Device_BytesReceived:0000000000000000 CDC_Device_BytesReceived
+ /tmp/cc6wpRq4.s:111 .text.CDC_Device_ReceiveByte:0000000000000000 CDC_Device_ReceiveByte
+ /tmp/cc6wpRq4.s:210 .text.CDC_Device_CreateStream:0000000000000000 CDC_Device_CreateStream
+ /tmp/cc6wpRq4.s:708 .text.CDC_Device_putchar:0000000000000000 CDC_Device_putchar
+ /tmp/cc6wpRq4.s:277 .text.CDC_Device_getchar:0000000000000000 CDC_Device_getchar
+ /tmp/cc6wpRq4.s:244 .text.CDC_Device_CreateBlockingStream:0000000000000000 CDC_Device_CreateBlockingStream
+ /tmp/cc6wpRq4.s:574 .text.CDC_Device_getchar_Blocking:0000000000000000 CDC_Device_getchar_Blocking
+ /tmp/cc6wpRq4.s:309 .text.CDC_Device_SendControlLineStateChange:0000000000000000 CDC_Device_SendControlLineStateChange
+ /tmp/cc6wpRq4.s:1047 .data:0000000000000000 C.17.3562
+ /tmp/cc6wpRq4.s:405 .text.CDC_Device_SendString:0000000000000000 CDC_Device_SendString
+ /tmp/cc6wpRq4.s:453 .text.CDC_Device_Flush:0000000000000000 CDC_Device_Flush
+ /tmp/cc6wpRq4.s:544 .text.CDC_Device_USBTask:0000000000000000 CDC_Device_USBTask
+ /tmp/cc6wpRq4.s:626 .text.CDC_Device_SendByte:0000000000000000 CDC_Device_SendByte
+ /tmp/cc6wpRq4.s:742 .text.CDC_Device_ConfigureEndpoints:0000000000000000 CDC_Device_ConfigureEndpoints
+ /tmp/cc6wpRq4.s:889 .text.CDC_Device_ProcessControlRequest:0000000000000000 CDC_Device_ProcessControlRequest
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_LineEncodingChanged
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_ControLineStateChanged
+ /tmp/cc6wpRq4.s:19 .text.CDC_Device_Event_Stub:0000000000000000 EVENT_CDC_Device_BreakSent
+
+UNDEFINED SYMBOLS
+USB_DeviceState
+Endpoint_Write_Stream_LE
+Endpoint_WaitUntilReady
+USB_USBTask
+Endpoint_ConfigureEndpoint_Prv
+USB_ControlRequest
+Endpoint_Write_Control_Stream_LE
+Endpoint_Read_Control_Stream_LE
+Endpoint_ClearStatusStage
+__do_copy_data