From 0c0436f47c296513dace43d3ba20e3cc36f8f527 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 25 Mar 2012 17:46:26 +0200 Subject: Board, rev A. --- firmware/LUFA/Drivers/USB/Class/Device/CDC.lst | 1059 ++++++++++++++++++++++++ 1 file changed, 1059 insertions(+) create mode 100644 firmware/LUFA/Drivers/USB/Class/Device/CDC.lst (limited to 'firmware/LUFA/Drivers/USB/Class/Device/CDC.lst') 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 -- cgit v1.2.3