1 .file "VirtualSerial.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.lock_timer_setup,"ax",@progbits 17 .global lock_timer_setup 19 lock_timer_setup: 20 .LFB86: 21 .LSM0: 22 /* prologue: function */ 23 /* frame size = 0 */ 24 .LSM1: 25 0000 E0E8 ldi r30,lo8(128) 26 0002 F0E0 ldi r31,hi8(128) 27 0004 F093 8900 sts (136)+1,r31 28 0008 E093 8800 sts 136,r30 29 .LSM2: 30 000c 88E0 ldi r24,lo8(8) 31 000e 8083 st Z,r24 32 .LSM3: 33 0010 84E0 ldi r24,lo8(4) 34 0012 8093 8100 sts 129,r24 35 .LSM4: 36 0016 82E0 ldi r24,lo8(2) 37 0018 8093 6F00 sts 111,r24 38 /* epilogue start */ 39 .LSM5: 40 001c 0895 ret 41 .LFE86: 43 .section .text.lock_timer_reset,"ax",@progbits 44 .global lock_timer_reset 46 lock_timer_reset: 47 .LFB87: 48 .LSM6: 49 /* prologue: function */ 50 /* frame size = 0 */ 51 .LSM7: 52 0000 1092 0000 sts lock_timer_ticks,__zero_reg__ 53 /* epilogue start */ 54 .LSM8: 55 0004 0895 ret 56 .LFE87: 58 .section .text.EVENT_USB_Device_Connect,"ax",@progbits 59 .global EVENT_USB_Device_Connect 61 EVENT_USB_Device_Connect: 62 .LFB93: 63 .LSM9: 64 /* prologue: function */ 65 /* frame size = 0 */ 66 /* epilogue start */ 67 .LSM10: 68 0000 0895 ret 69 .LFE93: 71 .section .text.EVENT_USB_Device_Disconnect,"ax",@progbits 72 .global EVENT_USB_Device_Disconnect 74 EVENT_USB_Device_Disconnect: 75 .LFB94: 76 .LSM11: 77 /* prologue: function */ 78 /* frame size = 0 */ 79 /* epilogue start */ 80 .LSM12: 81 0000 0895 ret 82 .LFE94: 84 .section .text.__vector_15,"ax",@progbits 85 .global __vector_15 87 __vector_15: 88 .LFB97: 89 .LSM13: 90 0000 1F92 push __zero_reg__ 91 0002 0F92 push r0 92 0004 0FB6 in r0,__SREG__ 93 0006 0F92 push r0 94 0008 1124 clr __zero_reg__ 95 000a 8F93 push r24 96 /* prologue: Signal */ 97 /* frame size = 0 */ 98 .LSM14: 99 000c 1D99 sbic 35-32,5 100 .LSM15: 101 000e 2C9A sbi 37-32,4 102 .L10: 103 .LSM16: 104 0010 8091 0000 lds r24,lock_timer_ticks 105 0014 8F3F cpi r24,lo8(-1) 106 0016 01F0 breq .L13 107 .LSM17: 108 0018 8091 0000 lds r24,lock_timer_ticks 109 001c 8E31 cpi r24,lo8(30) 110 001e 00F4 brsh .L12 111 .LSM18: 112 0020 8091 0000 lds r24,lock_timer_ticks 113 0024 8F5F subi r24,lo8(-(1)) 114 0026 00C0 rjmp .L14 115 .L12: 116 .LSM19: 117 0028 2C9A sbi 37-32,4 118 .LSM20: 119 002a 8FEF ldi r24,lo8(-1) 120 .L14: 121 002c 8093 0000 sts lock_timer_ticks,r24 122 .L13: 123 /* epilogue start */ 124 .LSM21: 125 0030 8F91 pop r24 126 0032 0F90 pop r0 127 0034 0FBE out __SREG__,r0 128 0036 0F90 pop r0 129 0038 1F90 pop __zero_reg__ 130 003a 1895 reti 131 .LFE97: 133 .section .text.EVENT_USB_Device_ControlRequest,"ax",@progbits 134 .global EVENT_USB_Device_ControlRequest 136 EVENT_USB_Device_ControlRequest: 137 .LFB96: 138 .LSM22: 139 /* prologue: function */ 140 /* frame size = 0 */ 141 .LSM23: 142 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) 143 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) 144 0004 0E94 0000 call CDC_Device_ProcessControlRequest 145 /* epilogue start */ 146 .LSM24: 147 0008 0895 ret 148 .LFE96: 150 .section .text.EVENT_USB_Device_ConfigurationChanged,"ax",@progbits 151 .global EVENT_USB_Device_ConfigurationChanged 153 EVENT_USB_Device_ConfigurationChanged: 154 .LFB95: 155 .LSM25: 156 /* prologue: function */ 157 /* frame size = 0 */ 158 .LSM26: 159 0000 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) 160 0002 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) 161 0004 0E94 0000 call CDC_Device_ConfigureEndpoints 162 /* epilogue start */ 163 .LSM27: 164 0008 0895 ret 165 .LFE95: 167 .data 168 .LC0: 169 0000 4865 6C6C .string "Hello, World!\r\n" 169 6F2C 2057 169 6F72 6C64 169 210D 0A00 170 .LC1: 171 0010 5265 626F .string "Rebooting!\r\n" 171 6F74 696E 171 6721 0D0A 171 00 172 .section .text.CheckPinStatus,"ax",@progbits 173 .global CheckPinStatus 175 CheckPinStatus: 176 .LFB92: 177 .LSM28: 178 /* prologue: function */ 179 /* frame size = 0 */ 180 .LSM29: 181 0000 1E9B sbis 35-32,6 182 0002 00C0 rjmp .L20 183 0004 20E0 ldi r18,lo8(0) 184 0006 30E0 ldi r19,hi8(0) 185 .LVL0: 186 0008 00C0 rjmp .L21 187 .LVL1: 188 .L20: 189 .LSM30: 190 000a 1092 0000 sts ActionSent.3565,__zero_reg__ 191 000e 20E0 ldi r18,lo8(.LC0) 192 0010 30E0 ldi r19,hi8(.LC0) 193 .LVL2: 194 .L21: 195 .LSM31: 196 0012 1F99 sbic 35-32,7 197 0014 00C0 rjmp .L22 198 .LSM32: 199 0016 1092 0000 sts ActionSent.3565,__zero_reg__ 200 .LSM33: 201 001a 1092 0000 sts (running)+1,__zero_reg__ 202 001e 1092 0000 sts running,__zero_reg__ 203 0022 20E0 ldi r18,lo8(.LC1) 204 0024 30E0 ldi r19,hi8(.LC1) 205 0026 00C0 rjmp .L23 206 .L22: 207 .LSM34: 208 0028 2115 cp r18,__zero_reg__ 209 002a 3105 cpc r19,__zero_reg__ 210 002c 01F0 breq .L26 211 .L23: 212 002e 8091 0000 lds r24,ActionSent.3565 213 0032 8823 tst r24 214 0034 01F4 brne .L26 215 .LSM35: 216 0036 81E0 ldi r24,lo8(1) 217 0038 8093 0000 sts ActionSent.3565,r24 218 .LSM36: 219 003c C901 movw r24,r18 220 003e 60E0 ldi r22,lo8(USBSerialStream) 221 0040 70E0 ldi r23,hi8(USBSerialStream) 222 0042 0E94 0000 call fputs 223 .LVL3: 224 0046 88EE ldi r24,lo8(1000) 225 0048 93E0 ldi r25,hi8(1000) 226 .LVL4: 227 .LBB22: 228 .LBB23: 229 .LBB24: 230 .LBB25: 231 .LSM37: 232 004a 20E9 ldi r18,lo8(400) 233 004c 31E0 ldi r19,hi8(400) 234 .L25: 235 004e F901 movw r30,r18 236 .LVL5: 237 /* #APP */ 238 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1 239 0050 3197 1: sbiw r30,1 240 0052 01F4 brne 1b 241 ; 0 "" 2 242 /* #NOAPP */ 243 .LBE25: 244 .LBE24: 245 .LSM38: 246 0054 0197 sbiw r24,1 247 .LSM39: 248 0056 01F4 brne .L25 249 .LVL6: 250 .L26: 251 0058 0895 ret 252 .LBE23: 253 .LBE22: 254 .LFE92: 256 .section .text.SetupHardware,"ax",@progbits 257 .global SetupHardware 259 SetupHardware: 260 .LFB91: 261 .LSM40: 262 /* prologue: function */ 263 /* frame size = 0 */ 264 .LSM41: 265 0000 84B7 in r24,84-32 266 0002 877F andi r24,lo8(-9) 267 0004 84BF out 84-32,r24 268 .LSM42: 269 0006 2EE0 ldi r18,lo8(14) 270 0008 88E1 ldi r24,lo8(24) 271 000a 90E0 ldi r25,hi8(24) 272 /* #APP */ 273 ; 212 "VirtualSerial.c" 1 274 000c 0FB6 in __tmp_reg__,__SREG__ 275 000e F894 cli 276 0010 A895 wdr 277 0012 8093 6000 sts 96,r24 278 0016 0FBE out __SREG__,__tmp_reg__ 279 0018 2093 6000 sts 96,r18 280 281 ; 0 "" 2 282 /* #NOAPP */ 283 .LBB26: 284 .LBB27: 285 .LSM43: 286 001c 90E0 ldi r25,lo8(0) 287 001e 80E8 ldi r24,lo8(-128) 288 /* #APP */ 289 ; 1394 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/avr/power.h" 1 290 0020 0FB6 in __tmp_reg__,__SREG__ 291 0022 F894 cli 292 0024 8093 6100 sts 97, r24 293 0028 9093 6100 sts 97, r25 294 002c 0FBE out __SREG__, __tmp_reg__ 295 ; 0 "" 2 296 /* #NOAPP */ 297 .LBE27: 298 .LBE26: 299 .LSM44: 300 002e 0E94 0000 call USB_Init 301 /* epilogue start */ 302 .LSM45: 303 0032 0895 ret 304 .LFE91: 306 .data 307 .LC2: 308 001d 636F 6C61 .string "cola" 308 00 309 .LC3: 310 0022 6D6D 6D21 .string "mmm! LED toggeled\r\n" 310 204C 4544 310 2074 6F67 310 6765 6C65 310 640D 0A00 311 .LC4: 312 0036 7265 626F .string "reboot" 312 6F74 00 313 .LC5: 314 003d 7265 7365 .string "reset" 314 7400 315 .LC6: 316 0043 746F 6767 .string "toggle" 316 6C65 00 317 .LC7: 318 004a 546F 6767 .string "Toggling Magnet Lock\r\n" 318 6C69 6E67 318 204D 6167 318 6E65 7420 318 4C6F 636B 319 .LC8: 320 0061 6C6F 636B .string "lock" 320 00 321 .LC9: 322 0066 7374 6174 .string "status: locked\n" 322 7573 3A20 322 6C6F 636B 322 6564 0A00 323 .LC10: 324 0076 756E 6C6F .string "unlock" 324 636B 00 325 .LC11: 326 007d 7374 6174 .string "status: unlocked\n" 326 7573 3A20 326 756E 6C6F 326 636B 6564 326 0A00 327 .LC12: 328 008f 646F 6F72 .string "doorstatus" 328 7374 6174 328 7573 00 329 .LC13: 330 009a 646F 6F72 .string "doorstatus: open\n" 330 7374 6174 330 7573 3A20 330 6F70 656E 330 0A00 331 .LC14: 332 00ac 646F 6F72 .string "doorstatus: closed\n" 332 7374 6174 332 7573 3A20 332 636C 6F73 332 6564 0A00 333 .section .text.handle_command,"ax",@progbits 334 .global handle_command 336 handle_command: 337 .LFB89: 338 .LSM46: 339 .LVL7: 340 0000 CF93 push r28 341 0002 DF93 push r29 342 /* prologue: function */ 343 /* frame size = 0 */ 344 0004 EC01 movw r28,r24 345 .LSM47: 346 0006 80E0 ldi r24,lo8(.LC2) 347 0008 90E0 ldi r25,hi8(.LC2) 348 .LVL8: 349 000a BE01 movw r22,r28 350 000c 0E94 0000 call strcmp 351 0010 0097 sbiw r24,0 352 0012 01F4 brne .L31 353 .LSM48: 354 0014 85B1 in r24,37-32 355 0016 90E2 ldi r25,lo8(32) 356 0018 8927 eor r24,r25 357 001a 85B9 out 37-32,r24 358 .LSM49: 359 001c 80E0 ldi r24,lo8(.LC3) 360 001e 90E0 ldi r25,hi8(.LC3) 361 0020 00C0 rjmp .L40 362 .L31: 363 .LSM50: 364 0022 80E0 ldi r24,lo8(.LC4) 365 0024 90E0 ldi r25,hi8(.LC4) 366 0026 BE01 movw r22,r28 367 0028 0E94 0000 call strcmp 368 002c 0097 sbiw r24,0 369 002e 01F0 breq .L33 370 0030 80E0 ldi r24,lo8(.LC5) 371 0032 90E0 ldi r25,hi8(.LC5) 372 0034 BE01 movw r22,r28 373 0036 0E94 0000 call strcmp 374 003a 0097 sbiw r24,0 375 003c 01F4 brne .L34 376 .L33: 377 .LSM51: 378 003e 80E0 ldi r24,lo8(.LC1) 379 0040 90E0 ldi r25,hi8(.LC1) 380 0042 60E0 ldi r22,lo8(USBSerialStream) 381 0044 70E0 ldi r23,hi8(USBSerialStream) 382 0046 0E94 0000 call fputs 383 .LSM52: 384 004a 1092 0000 sts (running)+1,__zero_reg__ 385 004e 1092 0000 sts running,__zero_reg__ 386 0052 00C0 rjmp .L39 387 .L34: 388 .LSM53: 389 0054 80E0 ldi r24,lo8(.LC6) 390 0056 90E0 ldi r25,hi8(.LC6) 391 0058 BE01 movw r22,r28 392 005a 0E94 0000 call strcmp 393 005e 0097 sbiw r24,0 394 0060 01F4 brne .L35 395 .LSM54: 396 0062 80E0 ldi r24,lo8(.LC7) 397 0064 90E0 ldi r25,hi8(.LC7) 398 0066 60E0 ldi r22,lo8(USBSerialStream) 399 0068 70E0 ldi r23,hi8(USBSerialStream) 400 006a 0E94 0000 call fputs 401 .LSM55: 402 006e 85B1 in r24,37-32 403 0070 90E1 ldi r25,lo8(16) 404 0072 8927 eor r24,r25 405 0074 85B9 out 37-32,r24 406 0076 00C0 rjmp .L39 407 .L35: 408 .LSM56: 409 0078 80E0 ldi r24,lo8(.LC8) 410 007a 90E0 ldi r25,hi8(.LC8) 411 007c BE01 movw r22,r28 412 007e 0E94 0000 call strcmp 413 0082 0097 sbiw r24,0 414 0084 01F4 brne .L36 415 .LSM57: 416 0086 80E0 ldi r24,lo8(.LC9) 417 0088 90E0 ldi r25,hi8(.LC9) 418 008a 60E0 ldi r22,lo8(USBSerialStream) 419 008c 70E0 ldi r23,hi8(USBSerialStream) 420 008e 0E94 0000 call fputs 421 .LSM58: 422 0092 2C9A sbi 37-32,4 423 0094 00C0 rjmp .L39 424 .L36: 425 .LSM59: 426 0096 80E0 ldi r24,lo8(.LC10) 427 0098 90E0 ldi r25,hi8(.LC10) 428 009a BE01 movw r22,r28 429 009c 0E94 0000 call strcmp 430 00a0 0097 sbiw r24,0 431 00a2 01F4 brne .L37 432 .LSM60: 433 00a4 80E0 ldi r24,lo8(.LC11) 434 00a6 90E0 ldi r25,hi8(.LC11) 435 00a8 60E0 ldi r22,lo8(USBSerialStream) 436 00aa 70E0 ldi r23,hi8(USBSerialStream) 437 00ac 0E94 0000 call fputs 438 .LSM61: 439 00b0 2C98 cbi 37-32,4 440 .LSM62: 441 00b2 0E94 0000 call lock_timer_reset 442 00b6 00C0 rjmp .L39 443 .L37: 444 .LSM63: 445 00b8 80E0 ldi r24,lo8(.LC12) 446 00ba 90E0 ldi r25,hi8(.LC12) 447 00bc BE01 movw r22,r28 448 00be 0E94 0000 call strcmp 449 00c2 0097 sbiw r24,0 450 00c4 01F4 brne .L39 451 .LSM64: 452 00c6 1D9B sbis 35-32,5 453 00c8 00C0 rjmp .L38 454 .LSM65: 455 00ca 80E0 ldi r24,lo8(.LC13) 456 00cc 90E0 ldi r25,hi8(.LC13) 457 00ce 00C0 rjmp .L40 458 .L38: 459 .LSM66: 460 00d0 80E0 ldi r24,lo8(.LC14) 461 00d2 90E0 ldi r25,hi8(.LC14) 462 .L40: 463 00d4 60E0 ldi r22,lo8(USBSerialStream) 464 00d6 70E0 ldi r23,hi8(USBSerialStream) 465 00d8 0E94 0000 call fputs 466 .L39: 467 /* epilogue start */ 468 .LSM67: 469 00dc DF91 pop r29 470 00de CF91 pop r28 471 .LVL9: 472 00e0 0895 ret 473 .LFE89: 475 .section .text.CheckACMStatus,"ax",@progbits 476 .global CheckACMStatus 478 CheckACMStatus: 479 .LFB90: 480 .LSM68: 481 0000 CF93 push r28 482 0002 DF93 push r29 483 /* prologue: function */ 484 /* frame size = 0 */ 485 0004 00C0 rjmp .L48 486 .LVL10: 487 .L44: 488 .LSM69: 489 0006 CE01 movw r24,r28 490 .LVL11: 491 0008 60E0 ldi r22,lo8(USBSerialStream) 492 000a 70E0 ldi r23,hi8(USBSerialStream) 493 000c 0E94 0000 call fputc 494 .LSM70: 495 0010 CD30 cpi r28,13 496 0012 D105 cpc r29,__zero_reg__ 497 0014 01F4 brne .L43 498 .LSM71: 499 0016 8AE0 ldi r24,lo8(10) 500 0018 90E0 ldi r25,hi8(10) 501 001a 60E0 ldi r22,lo8(USBSerialStream) 502 001c 70E0 ldi r23,hi8(USBSerialStream) 503 001e 0E94 0000 call fputc 504 .LSM72: 505 0022 8091 0000 lds r24,len.3545 506 0026 E82F mov r30,r24 507 0028 F0E0 ldi r31,lo8(0) 508 002a E050 subi r30,lo8(-(buf.3544)) 509 002c F040 sbci r31,hi8(-(buf.3544)) 510 002e 1082 st Z,__zero_reg__ 511 0030 8F5F subi r24,lo8(-(1)) 512 0032 8093 0000 sts len.3545,r24 513 .LSM73: 514 0036 80E0 ldi r24,lo8(buf.3544) 515 0038 90E0 ldi r25,hi8(buf.3544) 516 003a 0E94 0000 call handle_command 517 003e 00C0 rjmp .L49 518 .L43: 519 .LSM74: 520 0040 8091 0000 lds r24,len.3545 521 0044 E82F mov r30,r24 522 0046 F0E0 ldi r31,lo8(0) 523 0048 E050 subi r30,lo8(-(buf.3544)) 524 004a F040 sbci r31,hi8(-(buf.3544)) 525 004c C083 st Z,r28 526 004e 8F5F subi r24,lo8(-(1)) 527 0050 8093 0000 sts len.3545,r24 528 .LSM75: 529 0054 8032 cpi r24,lo8(32) 530 0056 01F4 brne .L48 531 .L49: 532 .LSM76: 533 0058 1092 0000 sts len.3545,__zero_reg__ 534 .L48: 535 .LSM77: 536 005c 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) 537 005e 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) 538 0060 0E94 0000 call CDC_Device_ReceiveByte 539 0064 EC01 movw r28,r24 540 0066 1816 cp __zero_reg__,r24 541 0068 1906 cpc __zero_reg__,r25 542 006a 04F0 brlt .L44 543 .LVL12: 544 /* epilogue start */ 545 .LSM78: 546 006c DF91 pop r29 547 006e CF91 pop r28 548 0070 0895 ret 549 .LFE90: 551 .section .text.main,"ax",@progbits 552 .global main 554 main: 555 .LFB88: 556 .LSM79: 557 0000 CF93 push r28 558 0002 DF93 push r29 559 /* prologue: function */ 560 /* frame size = 0 */ 561 .LSM80: 562 0004 81E1 ldi r24,lo8(17) 563 0006 84B9 out 36-32,r24 564 .LSM81: 565 0008 15B8 out 37-32,__zero_reg__ 566 .LSM82: 567 000a 0E94 0000 call SetupHardware 568 .LSM83: 569 000e 0E94 0000 call lock_timer_setup 570 .LSM84: 571 0012 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) 572 0014 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) 573 0016 60E0 ldi r22,lo8(USBSerialStream) 574 0018 70E0 ldi r23,hi8(USBSerialStream) 575 001a 0E94 0000 call CDC_Device_CreateStream 576 .LSM85: 577 /* #APP */ 578 ; 109 "VirtualSerial.c" 1 579 001e 7894 sei 580 ; 0 "" 2 581 /* #NOAPP */ 582 .LBB28: 583 .LBB29: 584 .LBB30: 585 .LBB31: 586 .LSM86: 587 0020 C0E9 ldi r28,lo8(400) 588 0022 D1E0 ldi r29,hi8(400) 589 0024 00C0 rjmp .L51 590 .L53: 591 .LBE31: 592 .LBE30: 593 .LBE29: 594 .LBE28: 595 .LSM87: 596 /* #APP */ 597 ; 113 "VirtualSerial.c" 1 598 0026 A895 wdr 599 ; 0 "" 2 600 /* #NOAPP */ 601 0028 84EC ldi r24,lo8(2500) 602 002a 99E0 ldi r25,hi8(2500) 603 .LVL13: 604 .L52: 605 .LBB35: 606 .LBB34: 607 .LBB33: 608 .LBB32: 609 .LSM88: 610 002c FE01 movw r30,r28 611 .LVL14: 612 /* #APP */ 613 ; 105 "/usr/lib/gcc/avr/4.3.5/../../../avr/include/util/delay_basic.h" 1 614 002e 3197 1: sbiw r30,1 615 0030 01F4 brne 1b 616 ; 0 "" 2 617 /* #NOAPP */ 618 .LBE32: 619 .LBE33: 620 .LSM89: 621 0032 0197 sbiw r24,1 622 .LSM90: 623 0034 01F4 brne .L52 624 .LBE34: 625 .LBE35: 626 .LSM91: 627 0036 0E94 0000 call CheckACMStatus 628 .LVL15: 629 .LSM92: 630 003a 80E0 ldi r24,lo8(VirtualSerial_CDC_Interface) 631 003c 90E0 ldi r25,hi8(VirtualSerial_CDC_Interface) 632 003e 0E94 0000 call CDC_Device_USBTask 633 .LSM93: 634 0042 0E94 0000 call USB_USBTask 635 .L51: 636 .LSM94: 637 0046 8091 0000 lds r24,running 638 004a 9091 0000 lds r25,(running)+1 639 004e 892B or r24,r25 640 0050 01F4 brne .L53 641 .LBB36: 642 .LBB37: 643 .LSM95: 644 0052 8091 E000 lds r24,224 645 0056 8160 ori r24,lo8(1) 646 0058 8093 E000 sts 224,r24 647 .LBE37: 648 .LBE36: 649 .LSM96: 650 005c 2CE0 ldi r18,lo8(12) 651 005e 88E1 ldi r24,lo8(24) 652 0060 90E0 ldi r25,hi8(24) 653 /* #APP */ 654 ; 129 "VirtualSerial.c" 1 655 0062 0FB6 in __tmp_reg__,__SREG__ 656 0064 F894 cli 657 0066 A895 wdr 658 0068 8093 6000 sts 96,r24 659 006c 0FBE out __SREG__,__tmp_reg__ 660 006e 2093 6000 sts 96,r18 661 662 ; 0 "" 2 663 /* #NOAPP */ 664 .L54: 665 0072 00C0 rjmp .L54 666 .LFE88: 668 .global VirtualSerial_CDC_Interface 669 .data 672 VirtualSerial_CDC_Interface: 673 00c0 00 .byte 0 674 00c1 03 .byte 3 675 00c2 1000 .word 16 676 00c4 00 .byte 0 677 00c5 04 .byte 4 678 00c6 1000 .word 16 679 00c8 00 .byte 0 680 00c9 02 .byte 2 681 00ca 0800 .word 8 682 00cc 00 .byte 0 683 00cd 0000 0000 .skip 9,0 683 0000 0000 683 00 686 running: 687 00d6 0100 .word 1 688 .lcomm ActionSent.3565,1 689 .lcomm len.3545,1 690 .lcomm buf.3544,32 691 .lcomm USBSerialStream,14 692 .lcomm lock_timer_ticks,1 805 .Letext0: DEFINED SYMBOLS *ABS*:0000000000000000 VirtualSerial.c /tmp/ccpcr8YL.s:2 *ABS*:000000000000003f __SREG__ /tmp/ccpcr8YL.s:3 *ABS*:000000000000003e __SP_H__ /tmp/ccpcr8YL.s:4 *ABS*:000000000000003d __SP_L__ /tmp/ccpcr8YL.s:5 *ABS*:0000000000000034 __CCP__ /tmp/ccpcr8YL.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccpcr8YL.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccpcr8YL.s:19 .text.lock_timer_setup:0000000000000000 lock_timer_setup /tmp/ccpcr8YL.s:46 .text.lock_timer_reset:0000000000000000 lock_timer_reset /tmp/ccpcr8YL.s:691 .bss:0000000000000030 lock_timer_ticks /tmp/ccpcr8YL.s:61 .text.EVENT_USB_Device_Connect:0000000000000000 EVENT_USB_Device_Connect /tmp/ccpcr8YL.s:74 .text.EVENT_USB_Device_Disconnect:0000000000000000 EVENT_USB_Device_Disconnect /tmp/ccpcr8YL.s:87 .text.__vector_15:0000000000000000 __vector_15 /tmp/ccpcr8YL.s:136 .text.EVENT_USB_Device_ControlRequest:0000000000000000 EVENT_USB_Device_ControlRequest /tmp/ccpcr8YL.s:672 .data:00000000000000c0 VirtualSerial_CDC_Interface /tmp/ccpcr8YL.s:153 .text.EVENT_USB_Device_ConfigurationChanged:0000000000000000 EVENT_USB_Device_ConfigurationChanged /tmp/ccpcr8YL.s:175 .text.CheckPinStatus:0000000000000000 CheckPinStatus .bss:0000000000000000 ActionSent.3565 /tmp/ccpcr8YL.s:686 .data:00000000000000d6 running /tmp/ccpcr8YL.s:690 .bss:0000000000000022 USBSerialStream /tmp/ccpcr8YL.s:259 .text.SetupHardware:0000000000000000 SetupHardware /tmp/ccpcr8YL.s:336 .text.handle_command:0000000000000000 handle_command /tmp/ccpcr8YL.s:478 .text.CheckACMStatus:0000000000000000 CheckACMStatus /tmp/ccpcr8YL.s:688 .bss:0000000000000001 len.3545 /tmp/ccpcr8YL.s:689 .bss:0000000000000002 buf.3544 /tmp/ccpcr8YL.s:554 .text.main:0000000000000000 main UNDEFINED SYMBOLS CDC_Device_ProcessControlRequest CDC_Device_ConfigureEndpoints fputs USB_Init strcmp fputc CDC_Device_ReceiveByte CDC_Device_CreateStream CDC_Device_USBTask USB_USBTask __do_copy_data __do_clear_bss