📄 cdcmega.lss
字号:
7f8: ff 27 eor r31, r31
7fa: ee 0f add r30, r30
7fc: ff 1f adc r31, r31
7fe: ee 0f add r30, r30
800: ff 1f adc r31, r31
802: ee 0f add r30, r30
804: ff 1f adc r31, r31
806: 60 2f mov r22, r16
808: 77 27 eor r23, r23
80a: 65 50 subi r22, 0x05 ; 5
80c: 70 40 sbci r23, 0x00 ; 0
80e: 66 0f add r22, r22
810: 77 1f adc r23, r23
812: c1 30 cpi r28, 0x01 ; 1
814: 79 f0 breq .+30 ; 0x834 <uartInit+0x84>
816: 8c 2f mov r24, r28
818: 99 27 eor r25, r25
81a: 82 95 swap r24
81c: 92 95 swap r25
81e: 90 7f andi r25, 0xF0 ; 240
820: 98 27 eor r25, r24
822: 80 7f andi r24, 0xF0 ; 240
824: 98 27 eor r25, r24
826: 8e 2b or r24, r30
828: 9f 2b or r25, r31
82a: 86 2b or r24, r22
82c: 97 2b or r25, r23
82e: 18 2f mov r17, r24
830: 10 68 ori r17, 0x80 ; 128
832: 04 c0 rjmp .+8 ; 0x83c <uartInit+0x8c>
834: e6 2b or r30, r22
836: f7 2b or r31, r23
838: 1e 2f mov r17, r30
83a: 10 6b ori r17, 0xB0 ; 176
83c: 10 bd out 0x20, r17 ; 32
83e: 29 b9 out 0x09, r18 ; 9
840: 30 bd out 0x20, r19 ; 32
842: 88 e1 ldi r24, 0x18 ; 24
844: 8a b9 out 0x0a, r24 ; 10
846: cf 91 pop r28
848: 1f 91 pop r17
84a: 0f 91 pop r16
84c: ff 90 pop r15
84e: ef 90 pop r14
850: df 90 pop r13
852: cf 90 pop r12
854: 08 95 ret
00000856 <uartPoll>:
856: 80 91 3f 02 lds r24, 0x023F
85a: 90 91 40 02 lds r25, 0x0240
85e: 89 17 cp r24, r25
860: 61 f0 breq .+24 ; 0x87a <uartPoll+0x24>
862: 5d 9b sbis 0x0b, 5 ; 11
864: 0a c0 rjmp .+20 ; 0x87a <uartPoll+0x24>
866: e9 2f mov r30, r25
868: ff 27 eor r31, r31
86a: e2 54 subi r30, 0x42 ; 66
86c: fe 4f sbci r31, 0xFE ; 254
86e: 80 81 ld r24, Z
870: 8c b9 out 0x0c, r24 ; 12
872: 9f 5f subi r25, 0xFF ; 255
874: 9f 77 andi r25, 0x7F ; 127
876: 90 93 40 02 sts 0x0240, r25
87a: 5f 9b sbis 0x0b, 7 ; 11
87c: 08 95 ret
87e: 8b b1 in r24, 0x0b ; 11
880: 2c b1 in r18, 0x0c ; 12
882: 8c 71 andi r24, 0x1C ; 28
884: d9 f7 brne .-10 ; 0x87c <uartPoll+0x26>
886: e0 91 bd 01 lds r30, 0x01BD
88a: 9e 2f mov r25, r30
88c: 9f 5f subi r25, 0xFF ; 255
88e: 80 91 3e 02 lds r24, 0x023E
892: 98 17 cp r25, r24
894: 99 f3 breq .-26 ; 0x87c <uartPoll+0x26>
896: ff 27 eor r31, r31
898: e3 54 subi r30, 0x43 ; 67
89a: ff 4f sbci r31, 0xFF ; 255
89c: 20 83 st Z, r18
89e: 90 93 bd 01 sts 0x01BD, r25
8a2: 08 95 ret
000008a4 <uartRxIsBusy>:
8a4: 8b b1 in r24, 0x0b ; 11
8a6: 99 27 eor r25, r25
8a8: 80 78 andi r24, 0x80 ; 128
8aa: 90 70 andi r25, 0x00 ; 0
8ac: 08 95 ret
000008ae <resetUart>:
8ae: 0f 93 push r16
8b0: 80 91 8e 00 lds r24, 0x008E
8b4: 90 91 8f 00 lds r25, 0x008F
8b8: a0 91 90 00 lds r26, 0x0090
8bc: b0 91 91 00 lds r27, 0x0091
8c0: 00 91 8d 00 lds r16, 0x008D
8c4: 20 91 8b 00 lds r18, 0x008B
8c8: 40 91 8c 00 lds r20, 0x008C
8cc: bc 01 movw r22, r24
8ce: cd 01 movw r24, r26
8d0: 0e 94 d8 03 call 0x7b0 <uartInit>
8d4: 10 92 40 02 sts 0x0240, r1
8d8: 10 92 bd 01 sts 0x01BD, r1
8dc: 10 92 3e 02 sts 0x023E, r1
8e0: 10 92 3f 02 sts 0x023F, r1
8e4: 0f 91 pop r16
8e6: 08 95 ret
000008e8 <usbFunctionSetup>:
8e8: fc 01 movw r30, r24
8ea: 80 81 ld r24, Z
8ec: 99 27 eor r25, r25
8ee: 80 76 andi r24, 0x60 ; 96
8f0: 90 70 andi r25, 0x00 ; 0
8f2: 80 97 sbiw r24, 0x20 ; 32
8f4: 19 f0 breq .+6 ; 0x8fc <usbFunctionSetup+0x14>
8f6: 80 e0 ldi r24, 0x00 ; 0
8f8: 90 e0 ldi r25, 0x00 ; 0
8fa: 08 95 ret
8fc: 91 81 ldd r25, Z+1 ; 0x01
8fe: 89 2f mov r24, r25
900: 80 52 subi r24, 0x20 ; 32
902: 82 30 cpi r24, 0x02 ; 2
904: 30 f0 brcs .+12 ; 0x912 <usbFunctionSetup+0x2a>
906: 92 32 cpi r25, 0x22 ; 34
908: b1 f7 brne .-20 ; 0x8f6 <usbFunctionSetup+0xe>
90a: 82 e0 ldi r24, 0x02 ; 2
90c: 80 93 8a 00 sts 0x008A, r24
910: f2 cf rjmp .-28 ; 0x8f6 <usbFunctionSetup+0xe>
912: 8f ef ldi r24, 0xFF ; 255
914: 90 e0 ldi r25, 0x00 ; 0
916: 08 95 ret
00000918 <usbFunctionRead>:
918: fc 01 movw r30, r24
91a: 80 91 8e 00 lds r24, 0x008E
91e: 80 83 st Z, r24
920: 80 91 8f 00 lds r24, 0x008F
924: 81 83 std Z+1, r24 ; 0x01
926: 80 91 90 00 lds r24, 0x0090
92a: 82 83 std Z+2, r24 ; 0x02
92c: 80 91 91 00 lds r24, 0x0091
930: 83 83 std Z+3, r24 ; 0x03
932: 80 91 8b 00 lds r24, 0x008B
936: 84 83 std Z+4, r24 ; 0x04
938: 80 91 8c 00 lds r24, 0x008C
93c: 85 83 std Z+5, r24 ; 0x05
93e: 80 91 8d 00 lds r24, 0x008D
942: 86 83 std Z+6, r24 ; 0x06
944: 87 e0 ldi r24, 0x07 ; 7
946: 90 e0 ldi r25, 0x00 ; 0
948: 08 95 ret
0000094a <usbFunctionWrite>:
94a: fc 01 movw r30, r24
94c: 80 81 ld r24, Z
94e: 80 93 8e 00 sts 0x008E, r24
952: 81 81 ldd r24, Z+1 ; 0x01
954: 80 93 8f 00 sts 0x008F, r24
958: 82 81 ldd r24, Z+2 ; 0x02
95a: 80 93 90 00 sts 0x0090, r24
95e: 83 81 ldd r24, Z+3 ; 0x03
960: 80 93 91 00 sts 0x0091, r24
964: 0e 94 57 04 call 0x8ae <resetUart>
968: 81 e0 ldi r24, 0x01 ; 1
96a: 90 e0 ldi r25, 0x00 ; 0
96c: 08 95 ret
0000096e <usbFunctionWriteOut>:
96e: dc 01 movw r26, r24
970: 8f ef ldi r24, 0xFF ; 255
972: 80 93 b9 00 sts 0x00B9, r24
976: 66 23 and r22, r22
978: a1 f0 breq .+40 ; 0x9a2 <usbFunctionWriteOut+0x34>
97a: e0 91 3f 02 lds r30, 0x023F
97e: 20 91 40 02 lds r18, 0x0240
982: 9d 91 ld r25, X+
984: ef 5f subi r30, 0xFF ; 255
986: 8e 2f mov r24, r30
988: 8f 77 andi r24, 0x7F ; 127
98a: e1 50 subi r30, 0x01 ; 1
98c: 82 17 cp r24, r18
98e: 39 f0 breq .+14 ; 0x99e <usbFunctionWriteOut+0x30>
990: ff 27 eor r31, r31
992: e2 54 subi r30, 0x42 ; 66
994: fe 4f sbci r31, 0xFE ; 254
996: 90 83 st Z, r25
998: e8 2f mov r30, r24
99a: 80 93 3f 02 sts 0x023F, r24
99e: 61 50 subi r22, 0x01 ; 1
9a0: 81 f7 brne .-32 ; 0x982 <usbFunctionWriteOut+0x14>
9a2: 08 95 ret
000009a4 <main>:
9a4: cf e5 ldi r28, 0x5F ; 95
9a6: d4 e0 ldi r29, 0x04 ; 4
9a8: de bf out 0x3e, r29 ; 62
9aa: cd bf out 0x3d, r28 ; 61
9ac: 88 e1 ldi r24, 0x18 ; 24
9ae: 90 e0 ldi r25, 0x00 ; 0
9b0: 2e e0 ldi r18, 0x0E ; 14
9b2: 0f b6 in r0, 0x3f ; 63
9b4: f8 94 cli
9b6: a8 95 wdr
9b8: 81 bd out 0x21, r24 ; 33
9ba: 0f be out 0x3f, r0 ; 63
9bc: 21 bd out 0x21, r18 ; 33
9be: 83 ef ldi r24, 0xF3 ; 243
9c0: 82 bb out 0x12, r24 ; 18
9c2: 8c e0 ldi r24, 0x0C ; 12
9c4: 81 bb out 0x11, r24 ; 17
9c6: 2f ef ldi r18, 0xFF ; 255
9c8: 80 e0 ldi r24, 0x00 ; 0
9ca: 81 50 subi r24, 0x01 ; 1
9cc: f1 f7 brne .-4 ; 0x9ca <main+0x26>
9ce: 21 50 subi r18, 0x01 ; 1
9d0: d9 f7 brne .-10 ; 0x9c8 <main+0x24>
9d2: 21 bb out 0x11, r18 ; 17
9d4: 80 ec ldi r24, 0xC0 ; 192
9d6: 92 e1 ldi r25, 0x12 ; 18
9d8: a0 e0 ldi r26, 0x00 ; 0
9da: b0 e0 ldi r27, 0x00 ; 0
9dc: 80 93 8e 00 sts 0x008E, r24
9e0: 90 93 8f 00 sts 0x008F, r25
9e4: a0 93 90 00 sts 0x0090, r26
9e8: b0 93 91 00 sts 0x0091, r27
9ec: 20 93 8b 00 sts 0x008B, r18
9f0: 20 93 8c 00 sts 0x008C, r18
9f4: 88 e0 ldi r24, 0x08 ; 8
9f6: 80 93 8d 00 sts 0x008D, r24
9fa: 0e 94 57 04 call 0x8ae <resetUart>
9fe: 0e 94 04 02 call 0x408 <usbInit>
a02: 78 94 sei
a04: 60 e0 ldi r22, 0x00 ; 0
a06: 80 e0 ldi r24, 0x00 ; 0
a08: 90 e0 ldi r25, 0x00 ; 0
a0a: 0e 94 8d 00 call 0x11a <usbSetInterrupt>
a0e: 0c c0 rjmp .+24 ; 0xa28 <main+0x84>
a10: 80 91 63 00 lds r24, 0x0063
a14: 8f 3f cpi r24, 0xFF ; 255
a16: 61 f1 breq .+88 ; 0xa70 <main+0xcc>
a18: 90 91 8a 00 lds r25, 0x008A
a1c: 99 23 and r25, r25
a1e: 21 f0 breq .+8 ; 0xa28 <main+0x84>
a20: 80 91 62 00 lds r24, 0x0062
a24: 8f 3f cpi r24, 0xFF ; 255
a26: b9 f0 breq .+46 ; 0xa56 <main+0xb2>
a28: a8 95 wdr
a2a: 0e 94 dd 00 call 0x1ba <usbPoll>
a2e: 0e 94 2b 04 call 0x856 <uartPoll>
a32: 80 91 b9 00 lds r24, 0x00B9
a36: 87 ff sbrs r24, 7
a38: eb cf rjmp .-42 ; 0xa10 <main+0x6c>
a3a: 80 91 40 02 lds r24, 0x0240
a3e: 90 91 3f 02 lds r25, 0x023F
a42: 89 1b sub r24, r25
a44: 81 50 subi r24, 0x01 ; 1
a46: 99 27 eor r25, r25
a48: 8f 77 andi r24, 0x7F ; 127
a4a: 90 70 andi r25, 0x00 ; 0
a4c: 88 30 cpi r24, 0x08 ; 8
a4e: 00 f3 brcs .-64 ; 0xa10 <main+0x6c>
a50: 10 92 b9 00 sts 0x00B9, r1
a54: dd cf rjmp .-70 ; 0xa10 <main+0x6c>
a56: 92 30 cpi r25, 0x02 ; 2
a58: 61 f1 breq .+88 ; 0xab2 <main+0x10e>
a5a: 62 e0 ldi r22, 0x02 ; 2
a5c: 8e e6 ldi r24, 0x6E ; 110
a5e: 90 e0 ldi r25, 0x00 ; 0
a60: 0e 94 b5 00 call 0x16a <usbSetInterrupt3>
a64: 80 91 8a 00 lds r24, 0x008A
a68: 81 50 subi r24, 0x01 ; 1
a6a: 80 93 8a 00 sts 0x008A, r24
a6e: dc cf rjmp .-72 ; 0xa28 <main+0x84>
a70: 30 91 3e 02 lds r19, 0x023E
a74: 83 2f mov r24, r19
a76: 99 27 eor r25, r25
a78: 83 54 subi r24, 0x43 ; 67
a7a: 9f 4f sbci r25, 0xFF ; 255
a7c: 20 91 bd 01 lds r18, 0x01BD
a80: 23 17 cp r18, r19
a82: 98 f0 brcs .+38 ; 0xaaa <main+0x106>
a84: 23 1b sub r18, r19
a86: 33 27 eor r19, r19
a88: c2 2f mov r28, r18
a8a: 22 23 and r18, r18
a8c: 29 f2 breq .-118 ; 0xa18 <main+0x74>
a8e: 28 30 cpi r18, 0x08 ; 8
a90: 18 f0 brcs .+6 ; 0xa98 <main+0xf4>
a92: 28 30 cpi r18, 0x08 ; 8
a94: 91 f0 breq .+36 ; 0xaba <main+0x116>
a96: c8 e0 ldi r28, 0x08 ; 8
a98: 6c 2f mov r22, r28
a9a: 0e 94 8d 00 call 0x11a <usbSetInterrupt>
a9e: 80 91 3e 02 lds r24, 0x023E
aa2: 8c 0f add r24, r28
aa4: 80 93 3e 02 sts 0x023E, r24
aa8: b7 cf rjmp .-146 ; 0xa18 <main+0x74>
aaa: 31 95 neg r19
aac: 23 2f mov r18, r19
aae: 33 27 eor r19, r19
ab0: eb cf rjmp .-42 ; 0xa88 <main+0xe4>
ab2: 68 e0 ldi r22, 0x08 ; 8
ab4: 86 e6 ldi r24, 0x66 ; 102
ab6: 90 e0 ldi r25, 0x00 ; 0
ab8: d3 cf rjmp .-90 ; 0xa60 <main+0xbc>
aba: c7 e0 ldi r28, 0x07 ; 7
abc: ed cf rjmp .-38 ; 0xa98 <main+0xf4>
00000abe <__udivmodsi4>:
abe: a1 e2 ldi r26, 0x21 ; 33
ac0: 1a 2e mov r1, r26
ac2: aa 1b sub r26, r26
ac4: bb 1b sub r27, r27
ac6: fd 01 movw r30, r26
ac8: 0d c0 rjmp .+26 ; 0xae4 <__udivmodsi4_ep>
00000aca <__udivmodsi4_loop>:
aca: aa 1f adc r26, r26
acc: bb 1f adc r27, r27
ace: ee 1f adc r30, r30
ad0: ff 1f adc r31, r31
ad2: a2 17 cp r26, r18
ad4: b3 07 cpc r27, r19
ad6: e4 07 cpc r30, r20
ad8: f5 07 cpc r31, r21
ada: 20 f0 brcs .+8 ; 0xae4 <__udivmodsi4_ep>
adc: a2 1b sub r26, r18
ade: b3 0b sbc r27, r19
ae0: e4 0b sbc r30, r20
ae2: f5 0b sbc r31, r21
00000ae4 <__udivmodsi4_ep>:
ae4: 66 1f adc r22, r22
ae6: 77 1f adc r23, r23
ae8: 88 1f adc r24, r24
aea: 99 1f adc r25, r25
aec: 1a 94 dec r1
aee: 69 f7 brne .-38 ; 0xaca <__udivmodsi4_loop>
af0: 60 95 com r22
af2: 70 95 com r23
af4: 80 95 com r24
af6: 90 95 com r25
af8: 9b 01 movw r18, r22
afa: ac 01 movw r20, r24
afc: bd 01 movw r22, r26
afe: cf 01 movw r24, r30
b00: 08 95 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -