📄 cdcmega.lss
字号:
5ac: 09 36 cpi r16, 0x69 ; 105
5ae: c1 f0 breq .+48 ; 0x5e0 <handleIn>
5b0: 07 77 andi r16, 0x77 ; 119
5b2: 03 34 cpi r16, 0x43 ; 67
5b4: 31 f5 brne .+76 ; 0x602 <rxDoReturn>
000005b6 <isData>:
5b6: 10 91 bb 00 lds r17, 0x00BB
5ba: 11 23 and r17, r17
5bc: 11 f1 breq .+68 ; 0x602 <rxDoReturn>
5be: 00 91 b9 00 lds r16, 0x00B9
5c2: 00 30 cpi r16, 0x00 ; 0
5c4: f1 f5 brne .+124 ; 0x642 <sendNakAndReti>
5c6: 34 30 cpi r19, 0x04 ; 4
5c8: fa f1 brmi .+126 ; 0x648 <sendAckAndReti>
5ca: 30 93 b9 00 sts 0x00B9, r19
5ce: 10 93 b6 00 sts 0x00B6, r17
5d2: 00 91 a8 00 lds r16, 0x00A8
5d6: c0 93 a8 00 sts 0x00A8, r28
5da: 00 93 b4 00 sts 0x00B4, r16
5de: 34 c0 rjmp .+104 ; 0x648 <sendAckAndReti>
000005e0 <handleIn>:
5e0: 12 17 cp r17, r18
5e2: 79 f4 brne .+30 ; 0x602 <rxDoReturn>
5e4: 47 fd sbrc r20, 7
5e6: 3e c0 rjmp .+124 ; 0x664 <handleIn1>
5e8: 30 91 64 00 lds r19, 0x0064
5ec: 3f 3f cpi r19, 0xFF ; 255
5ee: 49 f1 breq .+82 ; 0x642 <sendNakAndReti>
5f0: 0f ef ldi r16, 0xFF ; 255
5f2: 00 93 64 00 sts 0x0064, r16
5f6: c2 e9 ldi r28, 0x92 ; 146
5f8: d0 e0 ldi r29, 0x00 ; 0
5fa: 29 c0 rjmp .+82 ; 0x64e <usbSendAndReti>
000005fc <otherOutOrSetup>:
5fc: 00 27 eor r16, r16
5fe: 00 93 bb 00 sts 0x00BB, r16
00000602 <rxDoReturn>:
602: 4f 91 pop r20
604: cf 91 pop r28
606: df 91 pop r29
608: 13 c0 rjmp .+38 ; 0x630 <sofError>
0000060a <isSetupOrOut>:
60a: 12 17 cp r17, r18
60c: b9 f7 brne .-18 ; 0x5fc <otherOutOrSetup>
60e: 0f 77 andi r16, 0x7F ; 127
610: 40 78 andi r20, 0x80 ; 128
612: 04 2b or r16, r20
614: 00 93 bb 00 sts 0x00BB, r16
618: 2a f0 brmi .+10 ; 0x624 <dontResetEP0>
61a: 0f ef ldi r16, 0xFF ; 255
61c: 00 93 65 00 sts 0x0065, r16
620: 00 93 64 00 sts 0x0064, r16
00000624 <dontResetEP0>:
624: 4f 91 pop r20
626: cf 91 pop r28
628: 0a b7 in r16, 0x3a ; 58
62a: 06 fd sbrc r16, 6
62c: 31 cf rjmp .-414 ; 0x490 <shortcutToStart>
62e: df 91 pop r29
00000630 <sofError>:
630: 00 e4 ldi r16, 0x40 ; 64
632: 0a bf out 0x3a, r16 ; 58
634: 2f 91 pop r18
636: 3f 91 pop r19
638: 1f 91 pop r17
63a: 0f 91 pop r16
63c: 0f bf out 0x3f, r16 ; 63
63e: 0f 91 pop r16
640: 18 95 reti
00000642 <sendNakAndReti>:
642: c0 e6 ldi r28, 0x60 ; 96
644: d0 e0 ldi r29, 0x00 ; 0
646: 02 c0 rjmp .+4 ; 0x64c <usbSendToken>
00000648 <sendAckAndReti>:
648: c1 e6 ldi r28, 0x61 ; 97
64a: d0 e0 ldi r29, 0x00 ; 0
0000064c <usbSendToken>:
64c: 32 e0 ldi r19, 0x02 ; 2
0000064e <usbSendAndReti>:
64e: 5f 93 push r21
650: 02 b3 in r16, 0x12 ; 18
652: 03 7f andi r16, 0xF3 ; 243
654: 08 60 ori r16, 0x08 ; 8
656: 02 bb out 0x12, r16 ; 18
658: 5c e0 ldi r21, 0x0C ; 12
65a: 11 b3 in r17, 0x11 ; 17
65c: 1c 60 ori r17, 0x0C ; 12
65e: 11 bb out 0x11, r17 ; 17
660: 20 e8 ldi r18, 0x80 ; 128
662: 25 c0 rjmp .+74 ; 0x6ae <txLoop>
00000664 <handleIn1>:
664: 0f ef ldi r16, 0xFF ; 255
666: 1a 81 ldd r17, Y+2 ; 0x02
668: 10 fd sbrc r17, 0
66a: 09 c0 rjmp .+18 ; 0x67e <handleIn3>
66c: 30 91 63 00 lds r19, 0x0063
670: 3f 3f cpi r19, 0xFF ; 255
672: 39 f3 breq .-50 ; 0x642 <sendNakAndReti>
674: 00 93 63 00 sts 0x0063, r16
678: c9 ea ldi r28, 0xA9 ; 169
67a: d0 e0 ldi r29, 0x00 ; 0
67c: e8 cf rjmp .-48 ; 0x64e <usbSendAndReti>
0000067e <handleIn3>:
67e: 30 91 62 00 lds r19, 0x0062
682: 3f 3f cpi r19, 0xFF ; 255
684: f1 f2 breq .-68 ; 0x642 <sendNakAndReti>
686: 00 93 62 00 sts 0x0062, r16
68a: cd e9 ldi r28, 0x9D ; 157
68c: d0 e0 ldi r29, 0x00 ; 0
68e: df cf rjmp .-66 ; 0x64e <usbSendAndReti>
00000690 <bitstuff0>:
690: 05 27 eor r16, r21
692: 10 e0 ldi r17, 0x00 ; 0
694: 02 bb out 0x12, r16 ; 18
696: 10 c0 rjmp .+32 ; 0x6b8 <didStuff0>
00000698 <bitstuff1>:
698: 05 27 eor r16, r21
69a: 10 e0 ldi r17, 0x00 ; 0
69c: 08 94 sec
69e: 02 bb out 0x12, r16 ; 18
6a0: 13 c0 rjmp .+38 ; 0x6c8 <didStuff1>
000006a2 <bitstuff2>:
6a2: 05 27 eor r16, r21
6a4: 10 e0 ldi r17, 0x00 ; 0
6a6: 15 c0 rjmp .+42 ; 0x6d2 <didStuff2>
000006a8 <bitstuff3>:
6a8: 05 27 eor r16, r21
6aa: 10 e0 ldi r17, 0x00 ; 0
6ac: 19 c0 rjmp .+50 ; 0x6e0 <didStuff3>
000006ae <txLoop>:
6ae: 20 ff sbrs r18, 0
6b0: 05 27 eor r16, r21
6b2: 02 bb out 0x12, r16 ; 18
6b4: 27 95 ror r18
6b6: 17 95 ror r17
000006b8 <didStuff0>:
6b8: 1c 3f cpi r17, 0xFC ; 252
6ba: 50 f7 brcc .-44 ; 0x690 <bitstuff0>
6bc: 20 ff sbrs r18, 0
6be: 05 27 eor r16, r21
6c0: 27 95 ror r18
6c2: 02 bb out 0x12, r16 ; 18
6c4: 17 95 ror r17
6c6: 1c 3f cpi r17, 0xFC ; 252
000006c8 <didStuff1>:
6c8: 38 f7 brcc .-50 ; 0x698 <bitstuff1>
6ca: 20 ff sbrs r18, 0
6cc: 05 27 eor r16, r21
6ce: 27 95 ror r18
6d0: 17 95 ror r17
000006d2 <didStuff2>:
6d2: 02 bb out 0x12, r16 ; 18
6d4: 1c 3f cpi r17, 0xFC ; 252
6d6: 28 f7 brcc .-54 ; 0x6a2 <bitstuff2>
6d8: 20 ff sbrs r18, 0
6da: 05 27 eor r16, r21
6dc: 27 95 ror r18
6de: 17 95 ror r17
000006e0 <didStuff3>:
6e0: 1c 3f cpi r17, 0xFC ; 252
6e2: 02 bb out 0x12, r16 ; 18
6e4: 08 f7 brcc .-62 ; 0x6a8 <bitstuff3>
6e6: 00 c0 rjmp .+0 ; 0x6e8 <didStuff3+0x8>
6e8: 49 91 ld r20, Y+
6ea: 20 ff sbrs r18, 0
6ec: 05 27 eor r16, r21
6ee: 02 bb out 0x12, r16 ; 18
6f0: 27 95 ror r18
6f2: 17 95 ror r17
000006f4 <didStuff4>:
6f4: 1c 3f cpi r17, 0xFC ; 252
6f6: 80 f5 brcc .+96 ; 0x758 <bitstuff4>
6f8: 20 ff sbrs r18, 0
6fa: 05 27 eor r16, r21
6fc: 27 95 ror r18
6fe: 02 bb out 0x12, r16 ; 18
700: 17 95 ror r17
702: 1c 3f cpi r17, 0xFC ; 252
00000704 <didStuff5>:
704: 68 f5 brcc .+90 ; 0x760 <bitstuff5>
706: 20 ff sbrs r18, 0
708: 05 27 eor r16, r21
70a: 27 95 ror r18
70c: 17 95 ror r17
0000070e <didStuff6>:
70e: 02 bb out 0x12, r16 ; 18
710: 1c 3f cpi r17, 0xFC ; 252
712: 58 f5 brcc .+86 ; 0x76a <bitstuff6>
714: 20 ff sbrs r18, 0
716: 05 27 eor r16, r21
718: 27 95 ror r18
71a: 17 95 ror r17
0000071c <didStuff7>:
71c: 1c 3f cpi r17, 0xFC ; 252
71e: 02 bb out 0x12, r16 ; 18
720: 38 f5 brcc .+78 ; 0x770 <bitstuff7>
722: 24 2f mov r18, r20
724: 3a 95 dec r19
726: 19 f6 brne .-122 ; 0x6ae <txLoop>
728: 03 7f andi r16, 0xF3 ; 243
72a: 5f 91 pop r21
72c: 02 bb out 0x12, r16 ; 18
72e: 32 e0 ldi r19, 0x02 ; 2
00000730 <se0Delay>:
730: 3a 95 dec r19
732: f1 f7 brne .-4 ; 0x730 <se0Delay>
734: 10 91 ba 00 lds r17, 0x00BA
738: c2 56 subi r28, 0x62 ; 98
73a: d0 40 sbci r29, 0x00 ; 0
73c: 11 f0 breq .+4 ; 0x742 <skipAddrAssign>
73e: 10 93 b5 00 sts 0x00B5, r17
00000742 <skipAddrAssign>:
742: 08 60 ori r16, 0x08 ; 8
744: 11 b3 in r17, 0x11 ; 17
746: 13 7f andi r17, 0xF3 ; 243
748: 02 bb out 0x12, r16 ; 18
74a: 03 7f andi r16, 0xF3 ; 243
74c: 4f 91 pop r20
74e: cf 91 pop r28
750: 11 bb out 0x11, r17 ; 17
752: 02 bb out 0x12, r16 ; 18
754: df 91 pop r29
756: 6c cf rjmp .-296 ; 0x630 <sofError>
00000758 <bitstuff4>:
758: 05 27 eor r16, r21
75a: 10 e0 ldi r17, 0x00 ; 0
75c: 02 bb out 0x12, r16 ; 18
75e: ca cf rjmp .-108 ; 0x6f4 <didStuff4>
00000760 <bitstuff5>:
760: 05 27 eor r16, r21
762: 10 e0 ldi r17, 0x00 ; 0
764: 08 94 sec
766: 02 bb out 0x12, r16 ; 18
768: cd cf rjmp .-102 ; 0x704 <didStuff5>
0000076a <bitstuff6>:
76a: 05 27 eor r16, r21
76c: 10 e0 ldi r17, 0x00 ; 0
76e: cf cf rjmp .-98 ; 0x70e <didStuff6>
00000770 <bitstuff7>:
770: 05 27 eor r16, r21
772: 10 e0 ldi r17, 0x00 ; 0
774: d3 cf rjmp .-90 ; 0x71c <didStuff7>
00000776 <usbCrc16>:
776: a8 2f mov r26, r24
778: b9 2f mov r27, r25
77a: 8f ef ldi r24, 0xFF ; 255
77c: 9f ef ldi r25, 0xFF ; 255
77e: 41 e0 ldi r20, 0x01 ; 1
780: 50 ea ldi r21, 0xA0 ; 160
00000782 <crcByteLoop>:
782: 61 50 subi r22, 0x01 ; 1
784: 70 f0 brcs .+28 ; 0x7a2 <crcReady>
786: 2d 91 ld r18, X+
788: 38 e0 ldi r19, 0x08 ; 8
0000078a <crcBitLoop>:
78a: 72 2f mov r23, r18
78c: 78 27 eor r23, r24
78e: 96 95 lsr r25
790: 87 95 ror r24
792: 26 95 lsr r18
794: 70 ff sbrs r23, 0
796: 02 c0 rjmp .+4 ; 0x79c <crcNoXor>
798: 84 27 eor r24, r20
79a: 95 27 eor r25, r21
0000079c <crcNoXor>:
79c: 3a 95 dec r19
79e: a9 f7 brne .-22 ; 0x78a <crcBitLoop>
7a0: f0 cf rjmp .-32 ; 0x782 <crcByteLoop>
000007a2 <crcReady>:
7a2: 80 95 com r24
7a4: 90 95 com r25
7a6: 08 95 ret
000007a8 <usbCrc16Append>:
7a8: e6 df rcall .-52 ; 0x776 <usbCrc16>
7aa: 8d 93 st X+, r24
7ac: 9d 93 st X+, r25
7ae: 08 95 ret
000007b0 <uartInit>:
7b0: cf 92 push r12
7b2: df 92 push r13
7b4: ef 92 push r14
7b6: ff 92 push r15
7b8: 0f 93 push r16
7ba: 1f 93 push r17
7bc: cf 93 push r28
7be: 6b 01 movw r12, r22
7c0: 7c 01 movw r14, r24
7c2: c4 2f mov r28, r20
7c4: 12 2f mov r17, r18
7c6: 89 9a sbi 0x11, 1 ; 17
7c8: 88 98 cbi 0x11, 0 ; 17
7ca: 73 e0 ldi r23, 0x03 ; 3
7cc: cc 0c add r12, r12
7ce: dd 1c adc r13, r13
7d0: ee 1c adc r14, r14
7d2: ff 1c adc r15, r15
7d4: 7a 95 dec r23
7d6: d1 f7 brne .-12 ; 0x7cc <uartInit+0x1c>
7d8: 60 e0 ldi r22, 0x00 ; 0
7da: 7b e1 ldi r23, 0x1B ; 27
7dc: 87 eb ldi r24, 0xB7 ; 183
7de: 90 e0 ldi r25, 0x00 ; 0
7e0: a7 01 movw r20, r14
7e2: 96 01 movw r18, r12
7e4: 0e 94 5f 05 call 0xabe <__udivmodsi4>
7e8: 21 50 subi r18, 0x01 ; 1
7ea: 30 40 sbci r19, 0x00 ; 0
7ec: 40 40 sbci r20, 0x00 ; 0
7ee: 50 40 sbci r21, 0x00 ; 0
7f0: 59 9a sbi 0x0b, 1 ; 11
7f2: 1a b8 out 0x0a, r1 ; 10
7f4: 16 95 lsr r17
7f6: e1 2f mov r30, r17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -