Blame | Last modification | View Log | RSS feed
1 .file "main.c"2 __SREG__ = 0x3f3 __SP_H__ = 0x3e4 __SP_L__ = 0x3d5 __CCP__ = 0x346 __tmp_reg__ = 07 __zero_reg__ = 115 .Ltext0:16 .global usbFunctionSetup18 usbFunctionSetup:19 .LFB6:20 .LM1:21 .LVL0:22 /* prologue: function */23 /* frame size = 0 */24 /* stack size = 0 */25 .L__stack_usage = 026 .LM2:27 0000 80E0 ldi r24,lo8(0)28 .LVL1:29 /* epilogue start */30 0002 0895 ret31 .LFE6:33 .global hadUsbReset35 hadUsbReset:36 .LFB8:37 .LM3:38 0004 AF92 push r1039 0006 BF92 push r1140 0008 DF92 push r1341 000a EF92 push r1442 000c FF92 push r1543 000e 0F93 push r1644 0010 1F93 push r1745 0012 CF93 push r2846 0014 DF93 push r2947 /* prologue: function */48 /* frame size = 0 */49 /* stack size = 9 */50 .L__stack_usage = 951 .LVL2:52 .LM4:53 0016 08E0 ldi r16,lo8(8)54 0018 10E0 ldi r17,hi8(8)55 .LM5:56 001a EE24 clr r1457 .LM6:58 001c 80E8 ldi r24,lo8(-128)59 001e F82E mov r15,r2460 .LVL3:61 .L4:62 .LBB40:63 .LBB41:64 .LM7:65 0020 DF2C mov r13,r1566 0022 DE0C add r13,r1467 0024 D1BE out 81-32,r1368 .LM8:69 0026 00D0 rcall usbMeasureFrameLength70 0028 A82E mov r10,r2471 002a E501 movw r28,r1072 002c 5E01 movw r10,r2873 002e B92E mov r11,r2574 0030 E501 movw r28,r1075 .LVL4:76 .LM9:77 0032 99E0 ldi r25,hi8(2356)78 0034 C433 cpi r28,lo8(2356)79 0036 D907 cpc r29,r2580 0038 04F4 brge .L381 .LM10:82 003a ED2C mov r14,r1383 .LVL5:84 .L3:85 .LM11:86 003c F694 lsr r1587 .LVL6:88 003e 0150 subi r16,lo8(-(-1))89 0040 1040 sbci r17,hi8(-(-1))90 .LM12:91 0042 01F4 brne .L492 .LVL7:93 .LM13:94 0044 8E2D mov r24,r1495 0046 8150 subi r24,lo8(-(-1))96 0048 81BF out 81-32,r2497 004a 81B7 in r24,81-3298 004c 0E2D mov r16,r1499 004e 10E0 ldi r17,lo8(0)100 0050 0F5F subi r16,lo8(-(1))101 0052 1F4F sbci r17,hi8(-(1))102 0054 90E0 ldi r25,lo8(0)103 0056 0817 cp r16,r24104 0058 1907 cpc r17,r25105 005a 04F4 brge .L9106 005c 00C0 rjmp .L5107 .LVL8:108 .L6:109 .LM14:110 005e 8C17 cp r24,r28111 0060 9D07 cpc r25,r29112 0062 04F4 brge .L7113 .LVL9:114 .LM15:115 0064 E1B6 in r14,81-32116 .LVL10:117 0066 EC01 movw r28,r24118 .LVL11:119 .L7:120 .LM16:121 0068 81B7 in r24,81-32122 .LVL12:123 006a 8F5F subi r24,lo8(-(1))124 006c 81BF out 81-32,r24125 006e 81B7 in r24,81-32126 0070 90E0 ldi r25,lo8(0)127 0072 0817 cp r16,r24128 0074 1907 cpc r17,r25129 0076 04F0 brlt .L5130 .LVL13:131 .L9:132 .LM17:133 0078 00D0 rcall usbMeasureFrameLength134 007a 8453 subi r24,lo8(-(-2356))135 007c 9940 sbci r25,hi8(-(-2356))136 007e 97FF sbrs r25,7137 0080 00C0 rjmp .L6138 0082 9095 com r25139 0084 8195 neg r24140 0086 9F4F sbci r25,lo8(-1)141 0088 00C0 rjmp .L6142 .L5:143 .LM18:144 008a E1BE out 81-32,r14145 .LBE41:146 .LBE40:147 .LM19:148 008c 61B7 in r22,81-32149 008e 80E0 ldi r24,lo8(0)150 0090 90E0 ldi r25,hi8(0)151 0092 00D0 rcall __eewr_byte_tn85152 /* epilogue start */153 .LM20:154 0094 DF91 pop r29155 0096 CF91 pop r28156 0098 1F91 pop r17157 009a 0F91 pop r16158 009c FF90 pop r15159 .LVL14:160 009e EF90 pop r14161 .LVL15:162 00a0 DF90 pop r13163 00a2 BF90 pop r11164 00a4 AF90 pop r10165 00a6 0895 ret166 .LFE8:168 .global main170 main:171 .LFB9:172 .LM21:173 00a8 0F93 push r16174 00aa 1F93 push r17175 /* prologue: function */176 /* frame size = 0 */177 /* stack size = 2 */178 .L__stack_usage = 2179 .L14:180 .LM22:181 00ac E199 sbic 60-32,1182 00ae 00C0 rjmp .L14183 .LM23:184 00b0 80E0 ldi r24,lo8(0)185 00b2 90E0 ldi r25,hi8(0)186 00b4 00D0 rcall __eerd_byte_tn85187 .LVL16:188 .LM24:189 00b6 8F3F cpi r24,lo8(-1)190 00b8 01F0 breq .L15191 .LM25:192 00ba 81BF out 81-32,r24193 .L15:194 .LVL17:195 .LBB42:196 .LBB43:197 .LM26:198 00bc 81E2 ldi r24,lo8(-24287)199 00be 91EA ldi r25,hi8(-24287)200 00c0 0197 1:sbiw r24,1201 00c2 01F4 brne 1b202 .LVL18:203 00c4 00C0 rjmp .204 00c6 0000 nop205 .LBE43:206 .LBE42:207 .LM27:208 00c8 479A sbi 40-32,7209 .LM28:210 00ca B89A sbi 55-32,0211 .LVL19:212 .LBB44:213 .LBB45:214 .LM29:215 00cc 8FE4 ldi r24,lo8(1649999)216 00ce 9DE2 ldi r25,hi8(1649999)217 00d0 A9E1 ldi r26,hlo8(1649999)218 00d2 8150 1:subi r24,1219 00d4 9040 sbci r25,0220 00d6 A040 sbci r26,0221 00d8 01F4 brne 1b222 00da 00C0 rjmp .223 00dc 0000 nop224 .LBE45:225 .LBE44:226 .LM30:227 00de B898 cbi 55-32,0228 .LM31:229 00e0 2EE0 ldi r18,lo8(14)230 00e2 88E1 ldi r24,lo8(24)231 00e4 90E0 ldi r25,hi8(24)232 /* #APP */233 ; 124 "main.c" 1234 00e6 0FB6 in __tmp_reg__,__SREG__235 00e8 F894 cli236 00ea A895 wdr237 00ec 81BD out 33,r24238 00ee 0FBE out __SREG__,__tmp_reg__239 00f0 21BD out 33,r18240 ; 0 "" 2241 .LM32:242 /* #NOAPP */243 00f2 00D0 rcall usbInit244 .LM33:245 /* #APP */246 ; 126 "main.c" 1247 00f4 7894 sei248 ; 0 "" 2249 .LM34:250 /* #NOAPP */251 00f6 BB9A sbi 55-32,3252 .LM35:253 00f8 B998 cbi 55-32,1254 .LM36:255 00fa BC9A sbi 55-32,4256 .LM37:257 00fc C398 cbi 56-32,3258 .LM38:259 00fe C498 cbi 56-32,4260 .LM39:261 0100 15E0 ldi r17,lo8(5)262 .LM40:263 0102 05E2 ldi r16,lo8(37)264 .L29:265 .LM41:266 /* #APP */267 ; 136 "main.c" 1268 0104 A895 wdr269 ; 0 "" 2270 .LM42:271 /* #NOAPP */272 0106 00D0 rcall usbPoll273 .LM43:274 0108 8091 0000 lds r24,usbTxStatus1275 010c 84FF sbrs r24,4276 010e 00C0 rjmp .L29277 .LM44:278 0110 1093 0000 sts reportBuffer,r17279 .LM45:280 0114 C49A sbi 56-32,4281 .LVL20:282 .LBB46:283 .LBB47:284 .LM46:285 0116 95E0 ldi r25,lo8(5)286 0118 9A95 1:dec r25287 011a 01F4 brne 1b288 011c 00C0 rjmp .289 .LBE47:290 .LBE46:291 .LM47:292 011e C498 cbi 56-32,4293 .LVL21:294 .LBB48:295 .LBB49:296 .LM48:297 0120 A5E0 ldi r26,lo8(5)298 0122 AA95 1:dec r26299 0124 01F4 brne 1b300 0126 00C0 rjmp .301 .LBE49:302 .LBE48:303 .LM49:304 0128 B199 sbic 54-32,1305 012a 00C0 rjmp .L17306 .LM50:307 012c 0093 0000 sts reportBuffer,r16308 .L17:309 .LM51:310 0130 C39A sbi 56-32,3311 .LVL22:312 .LBB50:313 .LBB51:314 .LM52:315 0132 B5E0 ldi r27,lo8(5)316 0134 BA95 1:dec r27317 0136 01F4 brne 1b318 0138 00C0 rjmp .319 .LBE51:320 .LBE50:321 .LM53:322 013a C398 cbi 56-32,3323 .LVL23:324 .LBB52:325 .LBB53:326 .LM54:327 013c 85E0 ldi r24,lo8(5)328 013e 8A95 1:dec r24329 0140 01F4 brne 1b330 0142 00C0 rjmp .331 .LBE53:332 .LBE52:333 .LM55:334 0144 B199 sbic 54-32,1335 0146 00C0 rjmp .L18336 .LM56:337 0148 8091 0000 lds r24,reportBuffer338 014c 8061 ori r24,lo8(16)339 014e 8093 0000 sts reportBuffer,r24340 .L18:341 .LM57:342 0152 C39A sbi 56-32,3343 .LVL24:344 .LBB54:345 .LBB55:346 .LM58:347 0154 95E0 ldi r25,lo8(5)348 0156 9A95 1:dec r25349 0158 01F4 brne 1b350 015a 00C0 rjmp .351 .LBE55:352 .LBE54:353 .LM59:354 015c C398 cbi 56-32,3355 .LVL25:356 .LBB56:357 .LBB57:358 .LM60:359 015e A5E0 ldi r26,lo8(5)360 0160 AA95 1:dec r26361 0162 01F4 brne 1b362 0164 00C0 rjmp .363 .LBE57:364 .LBE56:365 .LM61:366 0166 B199 sbic 54-32,1367 0168 00C0 rjmp .L19368 .LM62:369 016a 8091 0000 lds r24,reportBuffer370 016e 8064 ori r24,lo8(64)371 0170 8093 0000 sts reportBuffer,r24372 .L19:373 .LM63:374 0174 C39A sbi 56-32,3375 .LVL26:376 .LBB58:377 .LBB59:378 .LM64:379 0176 B5E0 ldi r27,lo8(5)380 0178 BA95 1:dec r27381 017a 01F4 brne 1b382 017c 00C0 rjmp .383 .LBE59:384 .LBE58:385 .LM65:386 017e C398 cbi 56-32,3387 .LVL27:388 .LBB60:389 .LBB61:390 .LM66:391 0180 85E0 ldi r24,lo8(5)392 0182 8A95 1:dec r24393 0184 01F4 brne 1b394 0186 00C0 rjmp .395 .LBE61:396 .LBE60:397 .LM67:398 0188 B199 sbic 54-32,1399 018a 00C0 rjmp .L20400 .LM68:401 018c 8091 0000 lds r24,reportBuffer402 0190 8068 ori r24,lo8(-128)403 0192 8093 0000 sts reportBuffer,r24404 .L20:405 .LM69:406 0196 C39A sbi 56-32,3407 .LVL28:408 .LBB62:409 .LBB63:410 .LM70:411 0198 95E0 ldi r25,lo8(5)412 019a 9A95 1:dec r25413 019c 01F4 brne 1b414 019e 00C0 rjmp .415 .LBE63:416 .LBE62:417 .LM71:418 01a0 C398 cbi 56-32,3419 .LVL29:420 .LBB64:421 .LBB65:422 .LM72:423 01a2 A5E0 ldi r26,lo8(5)424 01a4 AA95 1:dec r26425 01a6 01F4 brne 1b426 01a8 00C0 rjmp .427 .LBE65:428 .LBE64:429 .LM73:430 01aa B199 sbic 54-32,1431 01ac 00C0 rjmp .L21432 .LM74:433 01ae 9091 0000 lds r25,reportBuffer434 01b2 892F mov r24,r25435 01b4 8695 lsr r24436 01b6 8695 lsr r24437 01b8 8D5F subi r24,lo8(-(3))438 01ba 8370 andi r24,lo8(3)439 01bc 880F lsl r24440 01be 880F lsl r24441 01c0 937F andi r25,lo8(-13)442 01c2 982B or r25,r24443 01c4 9093 0000 sts reportBuffer,r25444 .L21:445 .LM75:446 01c8 C39A sbi 56-32,3447 .LVL30:448 .LBB66:449 .LBB67:450 .LM76:451 01ca B5E0 ldi r27,lo8(5)452 01cc BA95 1:dec r27453 01ce 01F4 brne 1b454 01d0 00C0 rjmp .455 .LBE67:456 .LBE66:457 .LM77:458 01d2 C398 cbi 56-32,3459 .LVL31:460 .LBB68:461 .LBB69:462 .LM78:463 01d4 85E0 ldi r24,lo8(5)464 01d6 8A95 1:dec r24465 01d8 01F4 brne 1b466 01da 00C0 rjmp .467 .LBE69:468 .LBE68:469 .LM79:470 01dc B199 sbic 54-32,1471 01de 00C0 rjmp .L22472 .LM80:473 01e0 9091 0000 lds r25,reportBuffer474 01e4 892F mov r24,r25475 01e6 8695 lsr r24476 01e8 8695 lsr r24477 01ea 8F5F subi r24,lo8(-(1))478 01ec 8370 andi r24,lo8(3)479 01ee 880F lsl r24480 01f0 880F lsl r24481 01f2 937F andi r25,lo8(-13)482 01f4 982B or r25,r24483 01f6 9093 0000 sts reportBuffer,r25484 .L22:485 .LM81:486 01fa C39A sbi 56-32,3487 .LVL32:488 .LBB70:489 .LBB71:490 .LM82:491 01fc 95E0 ldi r25,lo8(5)492 01fe 9A95 1:dec r25493 0200 01F4 brne 1b494 0202 00C0 rjmp .495 .LBE71:496 .LBE70:497 .LM83:498 0204 C398 cbi 56-32,3499 .LVL33:500 .LBB72:501 .LBB73:502 .LM84:503 0206 A5E0 ldi r26,lo8(5)504 0208 AA95 1:dec r26505 020a 01F4 brne 1b506 020c 00C0 rjmp .507 .LBE73:508 .LBE72:509 .LM85:510 020e B199 sbic 54-32,1511 0210 00C0 rjmp .L23512 .LM86:513 0212 8091 0000 lds r24,reportBuffer514 0216 982F mov r25,r24515 0218 9D5F subi r25,lo8(-(3))516 021a 9370 andi r25,lo8(3)517 021c 8C7F andi r24,lo8(-4)518 021e 892B or r24,r25519 0220 8093 0000 sts reportBuffer,r24520 .L23:521 .LM87:522 0224 C39A sbi 56-32,3523 .LVL34:524 .LBB74:525 .LBB75:526 .LM88:527 0226 B5E0 ldi r27,lo8(5)528 0228 BA95 1:dec r27529 022a 01F4 brne 1b530 022c 00C0 rjmp .531 .LBE75:532 .LBE74:533 .LM89:534 022e C398 cbi 56-32,3535 .LVL35:536 .LBB76:537 .LBB77:538 .LM90:539 0230 85E0 ldi r24,lo8(5)540 0232 8A95 1:dec r24541 0234 01F4 brne 1b542 0236 00C0 rjmp .543 .LBE77:544 .LBE76:545 .LM91:546 0238 B199 sbic 54-32,1547 023a 00C0 rjmp .L24548 .LM92:549 023c 8091 0000 lds r24,reportBuffer550 0240 982F mov r25,r24551 0242 9F5F subi r25,lo8(-(1))552 0244 9370 andi r25,lo8(3)553 0246 8C7F andi r24,lo8(-4)554 0248 892B or r24,r25555 024a 8093 0000 sts reportBuffer,r24556 .L24:557 .LM93:558 024e 80E0 ldi r24,lo8(reportBuffer)559 0250 90E0 ldi r25,hi8(reportBuffer)560 0252 61E0 ldi r22,lo8(1)561 0254 00D0 rcall usbSetInterrupt562 0256 00C0 rjmp .L29563 .LFE9:565 .global usbDescriptorHidReport566 .section .progmem.data,"a",@progbits569 usbDescriptorHidReport:570 0000 05 .byte 5571 0001 01 .byte 1572 0002 09 .byte 9573 0003 05 .byte 5574 0004 A1 .byte -95575 0005 01 .byte 1576 0006 09 .byte 9577 0007 01 .byte 1578 0008 A1 .byte -95579 0009 00 .byte 0580 000a 09 .byte 9581 000b 30 .byte 48582 000c 09 .byte 9583 000d 31 .byte 49584 000e 15 .byte 21585 000f 00 .byte 0586 0010 25 .byte 37587 0011 02 .byte 2588 0012 75 .byte 117589 0013 02 .byte 2590 0014 95 .byte -107591 0015 02 .byte 2592 0016 81 .byte -127593 0017 02 .byte 2594 0018 C0 .byte -64595 0019 05 .byte 5596 001a 09 .byte 9597 001b 19 .byte 25598 001c 01 .byte 1599 001d 29 .byte 41600 001e 04 .byte 4601 001f 15 .byte 21602 0020 00 .byte 0603 0021 25 .byte 37604 0022 01 .byte 1605 0023 75 .byte 117606 0024 01 .byte 1607 0025 95 .byte -107608 0026 04 .byte 4609 0027 81 .byte -127610 0028 02 .byte 2611 0029 C0 .byte -64612 .global __fuse613 .section .fuse,"aw",@progbits616 __fuse:617 0000 E1 .byte -31618 0001 DD .byte -35619 0002 FF .byte -1620 .comm reportBuffer,1,1661 .Letext0:DEFINED SYMBOLS*ABS*:00000000 main.c/tmp/ccamLJh6.s:2 *ABS*:0000003f __SREG__/tmp/ccamLJh6.s:3 *ABS*:0000003e __SP_H__/tmp/ccamLJh6.s:4 *ABS*:0000003d __SP_L__/tmp/ccamLJh6.s:5 *ABS*:00000034 __CCP__/tmp/ccamLJh6.s:6 *ABS*:00000000 __tmp_reg__/tmp/ccamLJh6.s:7 *ABS*:00000001 __zero_reg__/tmp/ccamLJh6.s:18 .text:00000000 usbFunctionSetup/tmp/ccamLJh6.s:35 .text:00000004 hadUsbReset/tmp/ccamLJh6.s:170 .text:000000a8 main*COM*:00000001 reportBuffer/tmp/ccamLJh6.s:569 .progmem.data:00000000 usbDescriptorHidReport/tmp/ccamLJh6.s:616 .fuse:00000000 __fuseUNDEFINED SYMBOLSusbMeasureFrameLength__eewr_byte_tn85__eerd_byte_tn85usbInitusbPollusbTxStatus1usbSetInterrupt__do_clear_bss