📄 usb_to_232.lss
字号:
6a8: 41 e0 ldi r20, 0x01 ; 1
6aa: 50 ea ldi r21, 0xA0 ; 160
000006ac <crcByteLoop>:
6ac: 61 50 subi r22, 0x01 ; 1
6ae: 70 f0 brcs .+28 ; 0x6cc <crcReady>
6b0: 2d 91 ld r18, X+
6b2: 38 e0 ldi r19, 0x08 ; 8
000006b4 <crcBitLoop>:
6b4: 72 2f mov r23, r18
6b6: 78 27 eor r23, r24
6b8: 96 95 lsr r25
6ba: 87 95 ror r24
6bc: 26 95 lsr r18
6be: 70 ff sbrs r23, 0
6c0: 02 c0 rjmp .+4 ; 0x6c6 <crcNoXor>
6c2: 84 27 eor r24, r20
6c4: 95 27 eor r25, r21
000006c6 <crcNoXor>:
6c6: 3a 95 dec r19
6c8: a9 f7 brne .-22 ; 0x6b4 <crcBitLoop>
6ca: f0 cf rjmp .-32 ; 0x6ac <crcByteLoop>
000006cc <crcReady>:
6cc: 80 95 com r24
6ce: 90 95 com r25
6d0: 08 95 ret
000006d2 <usbCrc16Append>:
6d2: e6 df rcall .-52 ; 0x6a0 <usbCrc16>
6d4: 8d 93 st X+, r24
6d6: 9d 93 st X+, r25
6d8: 08 95 ret
000006da <usbInit>:
/* ------------------------------------------------------------------------- */
void usbInit(void)
{
6da: 80 e7 ldi r24, 0x70 ; 112
6dc: 90 e0 ldi r25, 0x00 ; 0
6de: 80 93 10 01 sts 0x0110, r24
usbInputBuf = (uchar)usbRxBuf[0];
usbAppBuf = (uchar)usbRxBuf[1];
6e2: 0b 96 adiw r24, 0x0b ; 11
6e4: 80 93 04 01 sts 0x0104, r24
#if USB_INTR_CFG_SET != 0
USB_INTR_CFG |= USB_INTR_CFG_SET;
6e8: 85 b7 in r24, 0x35 ; 53
6ea: 83 60 ori r24, 0x03 ; 3
6ec: 85 bf out 0x35, r24 ; 53
#endif
#if USB_INTR_CFG_CLR != 0
USB_INTR_CFG &= ~(USB_INTR_CFG_CLR);
#endif
USB_INTR_ENABLE |= (1 << USB_INTR_ENABLE_BIT);
6ee: 8b b7 in r24, 0x3b ; 59
6f0: 80 64 ori r24, 0x40 ; 64
6f2: 8b bf out 0x3b, r24 ; 59
6f4: 08 95 ret
000006f6 <usbSetInterrupt3>:
6f6: 1f 93 push r17
6f8: dc 01 movw r26, r24
6fa: 16 2f mov r17, r22
6fc: 90 91 03 01 lds r25, 0x0103
700: 90 ff sbrs r25, 0
702: 02 c0 rjmp .+4 ; 0x708 <usbSetInterrupt3+0x12>
704: 23 ec ldi r18, 0xC3 ; 195
706: 01 c0 rjmp .+2 ; 0x70a <usbSetInterrupt3+0x14>
708: 2b e4 ldi r18, 0x4B ; 75
70a: 80 91 6a 00 lds r24, 0x006A
70e: 87 ff sbrs r24, 7
710: 04 c0 rjmp .+8 ; 0x71a <usbSetInterrupt3+0x24>
712: 9f 5f subi r25, 0xFF ; 255
714: 90 93 03 01 sts 0x0103, r25
718: 03 c0 rjmp .+6 ; 0x720 <usbSetInterrupt3+0x2a>
71a: 8f ef ldi r24, 0xFF ; 255
71c: 80 93 6a 00 sts 0x006A, r24
720: 20 93 f8 00 sts 0x00F8, r18
724: 91 2f mov r25, r17
726: e9 ef ldi r30, 0xF9 ; 249
728: f0 e0 ldi r31, 0x00 ; 0
72a: 02 c0 rjmp .+4 ; 0x730 <usbSetInterrupt3+0x3a>
72c: 8d 91 ld r24, X+
72e: 81 93 st Z+, r24
730: 91 50 subi r25, 0x01 ; 1
732: e0 f7 brcc .-8 ; 0x72c <usbSetInterrupt3+0x36>
734: 61 2f mov r22, r17
736: 89 ef ldi r24, 0xF9 ; 249
738: 90 e0 ldi r25, 0x00 ; 0
73a: cb df rcall .-106 ; 0x6d2 <usbCrc16Append>
73c: 1c 5f subi r17, 0xFC ; 252
73e: 10 93 6a 00 sts 0x006A, r17
742: 1f 91 pop r17
744: 08 95 ret
00000746 <usbSetInterrupt>:
746: 1f 93 push r17
748: dc 01 movw r26, r24
74a: 16 2f mov r17, r22
74c: 90 91 15 01 lds r25, 0x0115
750: 90 ff sbrs r25, 0
752: 02 c0 rjmp .+4 ; 0x758 <usbSetInterrupt+0x12>
754: 23 ec ldi r18, 0xC3 ; 195
756: 01 c0 rjmp .+2 ; 0x75a <usbSetInterrupt+0x14>
758: 2b e4 ldi r18, 0x4B ; 75
75a: 80 91 69 00 lds r24, 0x0069
75e: 87 ff sbrs r24, 7
760: 04 c0 rjmp .+8 ; 0x76a <usbSetInterrupt+0x24>
762: 9f 5f subi r25, 0xFF ; 255
764: 90 93 15 01 sts 0x0115, r25
768: 03 c0 rjmp .+6 ; 0x770 <usbSetInterrupt+0x2a>
76a: 8f ef ldi r24, 0xFF ; 255
76c: 80 93 69 00 sts 0x0069, r24
770: 20 93 05 01 sts 0x0105, r18
774: 91 2f mov r25, r17
776: e6 e0 ldi r30, 0x06 ; 6
778: f1 e0 ldi r31, 0x01 ; 1
77a: 02 c0 rjmp .+4 ; 0x780 <usbSetInterrupt+0x3a>
77c: 8d 91 ld r24, X+
77e: 81 93 st Z+, r24
780: 91 50 subi r25, 0x01 ; 1
782: e0 f7 brcc .-8 ; 0x77c <usbSetInterrupt+0x36>
784: 61 2f mov r22, r17
786: 86 e0 ldi r24, 0x06 ; 6
788: 91 e0 ldi r25, 0x01 ; 1
78a: a3 df rcall .-186 ; 0x6d2 <usbCrc16Append>
78c: 1c 5f subi r17, 0xFC ; 252
78e: 10 93 69 00 sts 0x0069, r17
792: 1f 91 pop r17
794: 08 95 ret
00000796 <usbPoll>:
796: 0f 93 push r16
798: 1f 93 push r17
79a: cf 93 push r28
79c: df 93 push r29
79e: 60 91 16 01 lds r22, 0x0116
7a2: 66 23 and r22, r22
7a4: 09 f4 brne .+2 ; 0x7a8 <usbPoll+0x12>
7a6: a1 c0 rjmp .+322 ; 0x8ea <usbPoll+0x154>
7a8: 63 50 subi r22, 0x03 ; 3
7aa: 67 fd sbrc r22, 7
7ac: 98 c0 rjmp .+304 ; 0x8de <usbPoll+0x148>
7ae: 80 91 04 01 lds r24, 0x0104
7b2: 28 2f mov r18, r24
7b4: 2f 5f subi r18, 0xFF ; 255
7b6: e9 01 movw r28, r18
7b8: 80 91 12 01 lds r24, 0x0112
7bc: 87 ff sbrs r24, 7
7be: 03 c0 rjmp .+6 ; 0x7c6 <usbPoll+0x30>
7c0: ce 01 movw r24, r28
7c2: ff dc rcall .-1538 ; 0x1c2 <usbFunctionWriteOut>
7c4: 8c c0 rjmp .+280 ; 0x8de <usbPoll+0x148>
7c6: 8d 32 cpi r24, 0x2D ; 45
7c8: 09 f0 breq .+2 ; 0x7cc <usbPoll+0x36>
7ca: 6d c0 rjmp .+218 ; 0x8a6 <usbPoll+0x110>
7cc: 68 30 cpi r22, 0x08 ; 8
7ce: 09 f0 breq .+2 ; 0x7d2 <usbPoll+0x3c>
7d0: 80 c0 rjmp .+256 ; 0x8d2 <usbPoll+0x13c>
7d2: 88 81 ld r24, Y
7d4: 80 76 andi r24, 0x60 ; 96
7d6: 09 f0 breq .+2 ; 0x7da <usbPoll+0x44>
7d8: 5c c0 rjmp .+184 ; 0x892 <usbPoll+0xfc>
7da: 10 92 f6 00 sts 0x00F6, r1
7de: 89 81 ldd r24, Y+1 ; 0x01
7e0: 88 23 and r24, r24
7e2: 21 f4 brne .+8 ; 0x7ec <usbPoll+0x56>
7e4: 10 92 f7 00 sts 0x00F7, r1
7e8: 22 e0 ldi r18, 0x02 ; 2
7ea: 44 c0 rjmp .+136 ; 0x874 <usbPoll+0xde>
7ec: 85 30 cpi r24, 0x05 ; 5
7ee: 21 f4 brne .+8 ; 0x7f8 <usbPoll+0x62>
7f0: 8a 81 ldd r24, Y+2 ; 0x02
7f2: 80 93 17 01 sts 0x0117, r24
7f6: 3d c0 rjmp .+122 ; 0x872 <usbPoll+0xdc>
7f8: 86 30 cpi r24, 0x06 ; 6
7fa: 31 f5 brne .+76 ; 0x848 <usbPoll+0xb2>
7fc: 8b 81 ldd r24, Y+3 ; 0x03
7fe: 81 30 cpi r24, 0x01 ; 1
800: 21 f4 brne .+8 ; 0x80a <usbPoll+0x74>
802: 89 e6 ldi r24, 0x69 ; 105
804: 90 e0 ldi r25, 0x00 ; 0
806: 22 e1 ldi r18, 0x12 ; 18
808: 1d c0 rjmp .+58 ; 0x844 <usbPoll+0xae>
80a: 82 30 cpi r24, 0x02 ; 2
80c: 21 f4 brne .+8 ; 0x816 <usbPoll+0x80>
80e: 86 e2 ldi r24, 0x26 ; 38
810: 90 e0 ldi r25, 0x00 ; 0
812: 23 e4 ldi r18, 0x43 ; 67
814: 17 c0 rjmp .+46 ; 0x844 <usbPoll+0xae>
816: 83 30 cpi r24, 0x03 ; 3
818: 79 f4 brne .+30 ; 0x838 <usbPoll+0xa2>
81a: 8a 81 ldd r24, Y+2 ; 0x02
81c: 88 23 and r24, r24
81e: 21 f4 brne .+8 ; 0x828 <usbPoll+0x92>
820: 8b e7 ldi r24, 0x7B ; 123
822: 90 e0 ldi r25, 0x00 ; 0
824: 24 e0 ldi r18, 0x04 ; 4
826: 0e c0 rjmp .+28 ; 0x844 <usbPoll+0xae>
828: 81 30 cpi r24, 0x01 ; 1
82a: 21 f4 brne .+8 ; 0x834 <usbPoll+0x9e>
82c: 8f e7 ldi r24, 0x7F ; 127
82e: 90 e0 ldi r25, 0x00 ; 0
830: 22 e2 ldi r18, 0x22 ; 34
832: 08 c0 rjmp .+16 ; 0x844 <usbPoll+0xae>
834: 82 30 cpi r24, 0x02 ; 2
836: 19 f0 breq .+6 ; 0x83e <usbPoll+0xa8>
838: 20 e0 ldi r18, 0x00 ; 0
83a: 30 ec ldi r19, 0xC0 ; 192
83c: 1c c0 rjmp .+56 ; 0x876 <usbPoll+0xe0>
83e: 81 ea ldi r24, 0xA1 ; 161
840: 90 e0 ldi r25, 0x00 ; 0
842: 20 e1 ldi r18, 0x10 ; 16
844: 30 ec ldi r19, 0xC0 ; 192
846: 19 c0 rjmp .+50 ; 0x87a <usbPoll+0xe4>
848: 88 30 cpi r24, 0x08 ; 8
84a: 29 f4 brne .+10 ; 0x856 <usbPoll+0xc0>
84c: 21 e0 ldi r18, 0x01 ; 1
84e: 30 e8 ldi r19, 0x80 ; 128
850: 89 e1 ldi r24, 0x19 ; 25
852: 91 e0 ldi r25, 0x01 ; 1
854: 12 c0 rjmp .+36 ; 0x87a <usbPoll+0xe4>
856: 89 30 cpi r24, 0x09 ; 9
858: 21 f4 brne .+8 ; 0x862 <usbPoll+0xcc>
85a: 8a 81 ldd r24, Y+2 ; 0x02
85c: 80 93 19 01 sts 0x0119, r24
860: 08 c0 rjmp .+16 ; 0x872 <usbPoll+0xdc>
862: 8a 30 cpi r24, 0x0A ; 10
864: 11 f4 brne .+4 ; 0x86a <usbPoll+0xd4>
866: 21 e0 ldi r18, 0x01 ; 1
868: 05 c0 rjmp .+10 ; 0x874 <usbPoll+0xde>
86a: 8b 30 cpi r24, 0x0B ; 11
86c: 11 f4 brne .+4 ; 0x872 <usbPoll+0xdc>
86e: 10 92 15 01 sts 0x0115, r1
872: 20 e0 ldi r18, 0x00 ; 0
874: 30 e8 ldi r19, 0x80 ; 128
876: 86 ef ldi r24, 0xF6 ; 246
878: 90 e0 ldi r25, 0x00 ; 0
87a: 90 93 14 01 sts 0x0114, r25
87e: 80 93 13 01 sts 0x0113, r24
882: 8f 81 ldd r24, Y+7 ; 0x07
884: 88 23 and r24, r24
886: 39 f5 brne .+78 ; 0x8d6 <usbPoll+0x140>
888: 8e 81 ldd r24, Y+6 ; 0x06
88a: 82 17 cp r24, r18
88c: 20 f5 brcc .+72 ; 0x8d6 <usbPoll+0x140>
88e: 28 2f mov r18, r24
890: 22 c0 rjmp .+68 ; 0x8d6 <usbPoll+0x140>
892: ce 01 movw r24, r28
894: 7e dc rcall .-1796 ; 0x192 <usbFunctionSetup>
896: 28 2f mov r18, r24
898: 8f 3f cpi r24, 0xFF ; 255
89a: e1 f4 brne .+56 ; 0x8d4 <usbPoll+0x13e>
89c: 88 81 ld r24, Y
89e: 88 23 and r24, r24
8a0: b4 f4 brge .+44 ; 0x8ce <usbPoll+0x138>
8a2: 2e 81 ldd r18, Y+6 ; 0x06
8a4: 14 c0 rjmp .+40 ; 0x8ce <usbPoll+0x138>
8a6: 80 91 86 00 lds r24, 0x0086
8aa: 87 fd sbrc r24, 7
8ac: 12 c0 rjmp .+36 ; 0x8d2 <usbPoll+0x13c>
8ae: ce 01 movw r24, r28
8b0: 33 dd rcall .-1434 ; 0x318 <usbFunctionWrite>
8b2: 8f 3f cpi r24, 0xFF ; 255
8b4: 39 f4 brne .+14 ; 0x8c4 <usbPoll+0x12e>
8b6: 8e e1 ldi r24, 0x1E ; 30
8b8: 80 93 ed 00 sts 0x00ED, r24
8bc: 82 e0 ldi r24, 0x02 ; 2
8be: 80 93 68 00 sts 0x0068, r24
8c2: 04 c0 rjmp .+8 ; 0x8cc <usbPoll+0x136>
8c4: 88 23 and r24, r24
8c6: 11 f0 breq .+4 ; 0x8cc <usbPoll+0x136>
8c8: 20 e0 ldi r18, 0x00 ; 0
8ca: 01 c0 rjmp .+2 ; 0x8ce <usbPoll+0x138>
8cc: 2f ef ldi r18, 0xFF ; 255
8ce: 30 e0 ldi r19, 0x00 ; 0
8d0: 02 c0 rjmp .+4 ; 0x8d6 <usbPoll+0x140>
8d2: 20 e0 ldi r18, 0x00 ; 0
8d4: 30 e8 ldi r19, 0x80 ; 128
8d6: 30 93 86 00 sts 0x0086, r19
8da: 20 93 67 00 sts 0x0067, r18
8de: 80 91 16 01 lds r24, 0x0116
8e2: 18 16 cp r1, r24
8e4: 14 f4 brge .+4 ; 0x8ea <usbPoll+0x154>
8e6: 10 92 16 01 sts 0x0116, r1
8ea: 90 91 67 00 lds r25, 0x0067
8ee: 9f 3f cpi r25, 0xFF ; 255
8f0: 09 f4 brne .+2 ; 0x8f4 <usbPoll+0x15e>
8f2: 58 c0 rjmp .+176 ; 0x9a4 <usbPoll+0x20e>
8f4: 80 91 68 00 lds r24, 0x0068
8f8: 87 ff sbrs r24, 7
8fa: 54 c0 rjmp .+168 ; 0x9a4 <usbPoll+0x20e>
8fc: 69 2f mov r22, r25
8fe: 99 30 cpi r25, 0x09 ; 9
900: 08 f0 brcs .+2 ; 0x904 <usbPoll+0x16e>
902: 68 e0 ldi r22, 0x08 ; 8
904: 96 1b sub r25, r22
906: 90 93 67 00 sts 0x0067, r25
90a: 80 91 86 00 lds r24, 0x0086
90e: 80 ff sbrs r24, 0
910: 02 c0 rjmp .+4 ; 0x916 <usbPoll+0x180>
912: 03 ec ldi r16, 0xC3 ; 195
914: 01 c0 rjmp .+2 ; 0x918 <usbPoll+0x182>
916: 0b e4 ldi r16, 0x4B ; 75
918: 8f 5f subi r24, 0xFF ; 255
91a: 80 93 86 00 sts 0x0086, r24
91e: 87 ff sbrs r24, 7
920: 23 c0 rjmp .+70 ; 0x968 <usbPoll+0x1d2>
922: 20 91 13 01 lds r18, 0x0113
926: 30 91 14 01 lds r19, 0x0114
92a: 86 fd sbrc r24, 6
92c: 05 c0 rjmp .+10 ; 0x938 <usbPoll+0x1a2>
92e: 96 2f mov r25, r22
930: f9 01 movw r30, r18
932: ae ee ldi r26, 0xEE ; 238
934: b0 e0 ldi r27, 0x00 ; 0
936: 0d c0 rjmp .+26 ; 0x952 <usbPoll+0x1bc>
938: 96 2f mov r25, r22
93a: f9 01 movw r30, r18
93c: ae ee ldi r26, 0xEE ; 238
93e: b0 e0 ldi r27, 0x00 ; 0
940: 03 c0 rjmp .+6 ; 0x948 <usbPoll+0x1b2>
942: 84 91 lpm r24, Z
944: 8d 93 st X+, r24
946: 31 96 adiw r30, 0x01 ; 1
948: 91 50 subi r25, 0x01 ; 1
94a: d8 f7 brcc .-10 ; 0x942 <usbPoll+0x1ac>
94c: 04 c0 rjmp .+8 ; 0x956 <usbPoll+0x1c0>
94e: 81 91 ld r24, Z+
950: 8d 93 st X+, r24
952: 91 50 subi r25, 0x01 ; 1
954: e0 f7 brcc .-8 ; 0x94e <usbPoll+0x1b8>
956: c9 01 movw r24, r18
958: 86 0f add r24, r22
95a: 91 1d adc r25, r1
95c: 90 93 14 01 sts 0x0114, r25
960: 80 93 13 01 sts 0x0113, r24
964: 77 27 eor r23, r23
966: 07 c0 rjmp .+14 ; 0x976 <usbPoll+0x1e0>
968: 66 23 and r22, r22
96a: a1 f1 breq .+104 ; 0x9d4 <usbPoll+0x23e>
96c: 8e ee ldi r24, 0xEE ; 238
96e: 90 e0 ldi r25, 0x00 ; 0
970: e3 dc rcall .-1594 ; 0x338 <usbFunctionRead>
972: 68 2f mov r22, r24
974: 77 27 eor r23, r23
976: 16 2f mov r17, r22
978: 69 30 cpi r22, 0x09 ; 9
97a: 58 f4 brcc .+22 ; 0x992 <usbPoll+0x1fc>
97c: 8e ee ldi r24, 0xEE ; 238
97e: 90 e0 ldi r25, 0x00 ; 0
980: a8 de rcall .-688 ; 0x6d2 <usbCrc16Append>
982: 91 2f mov r25, r17
984: 9c 5f subi r25, 0xFC ; 252
986: 18 30 cpi r17, 0x08 ; 8
988: 48 f4 brcc .+18 ; 0x99c <usbPoll+0x206>
98a: 8f ef ldi r24, 0xFF ; 255
98c: 80 93 67 00 sts 0x0067, r24
990: 05 c0 rjmp .+10 ; 0x99c <usbPoll+0x206>
992: 8f ef ldi r24, 0xFF ; 255
994: 80 93 67 00 sts 0x0067, r24
998: 92 e0 ldi r25, 0x02 ; 2
99a: 0e e1 ldi r16, 0x1E ; 30
99c: 00 93 ed 00 sts 0x00ED, r16
9a0: 90 93 68 00 sts 0x0068, r25
9a4: 86 b3 in r24, 0x16 ; 22
9a6: 83 70 andi r24, 0x03 ; 3
9a8: 19 f0 breq .+6 ; 0x9b0 <usbPoll+0x21a>
9aa: 10 92 87 00 sts 0x0087, r1
9ae: 18 c0 rjmp .+48 ; 0x9e0 <usbPoll+0x24a>
9b0: 80 91 87 00 lds r24, 0x0087
9b4: 88 23 and r24, r24
9b6: a1 f4 brne .+40 ; 0x9e0 <usbPoll+0x24a>
9b8: 94 e6 ldi r25, 0x64 ; 100
9ba: 86 b3 in r24, 0x16 ; 22
9bc: 83 70 andi r24, 0x03 ; 3
9be: 81 f4 brne .+32 ; 0x9e0 <usbPoll+0x24a>
9c0: 91 50 subi r25, 0x01 ; 1
9c2: d9 f7 brne .-10 ; 0x9ba <usbPoll+0x224>
9c4: 81 e0 ldi r24, 0x01 ; 1
9c6: 80 93 87 00 sts 0x0087, r24
9ca: 10 92 17 01 sts 0x0117, r1
9ce: 10 92 11 01 sts 0x0111, r1
9d2: 06 c0 rjmp .+12 ; 0x9e0 <usbPoll+0x24a>
9d4: 60 e0 ldi r22, 0x00 ; 0
9d6: 8e ee ldi r24, 0xEE ; 238
9d8: 90 e0 ldi r25, 0x00 ; 0
9da: 7b de rcall .-778 ; 0x6d2 <usbCrc16Append>
9dc: 94 e0 ldi r25, 0x04 ; 4
9de: d5 cf rjmp .-86 ; 0x98a <usbPoll+0x1f4>
9e0: df 91 pop r29
9e2: cf 91 pop r28
9e4: 1f 91 pop r17
9e6: 0f 91 pop r16
9e8: 08 95 ret
000009ea <_exit>:
9ea: ff cf rjmp .-2 ; 0x9ea <_exit>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -