📄 sim340.lst
字号:
0678 F040 BCS 0x0681
0679 E686 LDI R24,0x66
067A 158A CP R24,R10
067B F028 BCS 0x0681
067C 2D8A MOV R24,R10
067D 2799 CLR R25
067E 5587 SUBI R24,0x57
067F 4090 SBCI R25,0
0680 2EA8 MOV R10,R24
0681 E002 LDI R16,2
0682 E010 LDI R17,0
0683 019A MOVW R18,R20
0684 940E09B9 CALL empy16s
0686 01F8 MOVW R30,R16
0687 0DE6 ADD R30,R6
0688 1DF7 ADC R31,R7
0689 8161 LDD R22,Z+1
068A 3360 CPI R22,0x30
068B F038 BCS 0x0693
068C E389 LDI R24,0x39
068D 1786 CP R24,R22
068E F020 BCS 0x0693
068F 2777 CLR R23
0690 5360 SUBI R22,0x30
0691 4070 SBCI R23,0
0692 C011 RJMP 0x06A4
0693 3461 CPI R22,0x41
0694 F038 BCS 0x069C
0695 E486 LDI R24,0x46
0696 1786 CP R24,R22
0697 F020 BCS 0x069C
0698 2777 CLR R23
0699 5367 SUBI R22,0x37
069A 4070 SBCI R23,0
069B C008 RJMP 0x06A4
069C 3661 CPI R22,0x61
069D F030 BCS 0x06A4
069E E686 LDI R24,0x66
069F 1786 CP R24,R22
06A0 F018 BCS 0x06A4
06A1 2777 CLR R23
06A2 5567 SUBI R22,0x57
06A3 4070 SBCI R23,0
06A4 E180 LDI R24,0x10
06A5 9D8A MUL R24,R10
06A6 0110 MOVW R2,R0
06A7 2E46 MOV R4,R22
06A8 2455 CLR R5
06A9 0C24 ADD R2,R4
06AA 1C35 ADC R3,R5
06AB 01FA MOVW R30,R20
06AC 0DEE ADD R30,R14
06AD 1DFF ADC R31,R15
06AE 8220 STD Z+0,R2
06AF 5F4F SUBI R20,0xFF
06B0 4F5F SBCI R21,0xFF
06B1 E022 LDI R18,2
06B2 E030 LDI R19,0
06B3 0186 MOVW R16,R12
06B4 940E0983 CALL div16s
06B6 1740 CP R20,R16
06B7 0751 CPC R21,R17
06B8 F40C BGE 0x06BA
06B9 CF9D RJMP 0x0657
06BA 940E09D2 CALL pop_gset5
06BC 9508 RET
_Decode:
nDst --> R20
nSrc --> R22
nLeft --> R10
nByte --> R12
nLen --> R14
out --> R4
in --> R6
06BD 940E09D5 CALL push_gset5
06BF 0129 MOVW R4,R18
06C0 0138 MOVW R6,R16
06C1 84EA LDD R14,Y+10
06C2 84FB LDD R15,Y+11
06C3 2766 CLR R22
06C4 2777 CLR R23
06C5 2744 CLR R20
06C6 2755 CLR R21
06C7 24CC CLR R12
06C8 24DD CLR R13
06C9 24AA CLR R10
06CA C033 RJMP 0x06FE
06CB 01F3 MOVW R30,R6
06CC 8100 LDD R16,Z+0
06CD 2711 CLR R17
06CE 0196 MOVW R18,R12
06CF 940E0A22 CALL lsl16
06D1 01C8 MOVW R24,R16
06D2 2C2A MOV R2,R10
06D3 2433 CLR R3
06D4 2982 OR R24,R2
06D5 2993 OR R25,R3
06D6 778F ANDI R24,0x7F
06D7 7090 ANDI R25,0
06D8 01F3 MOVW R30,R6
06D9 8380 STD Z+0,R24
06DA E027 LDI R18,7
06DB E030 LDI R19,0
06DC 192C SUB R18,R12
06DD 093D SBC R19,R13
06DE 8100 LDD R16,Z+0
06DF 2711 CLR R17
06E0 940E0978 CALL asr16
06E2 2EA0 MOV R10,R16
06E3 01C2 MOVW R24,R4
06E4 9601 ADIW R24,1
06E5 012C MOVW R4,R24
06E6 5F4F SUBI R20,0xFF
06E7 4F5F SBCI R21,0xFF
06E8 01C6 MOVW R24,R12
06E9 9601 ADIW R24,1
06EA 016C MOVW R12,R24
06EB 3087 CPI R24,7
06EC E0E0 LDI R30,0
06ED 079E CPC R25,R30
06EE F451 BNE 0x06F9
06EF 01F2 MOVW R30,R4
06F0 82A0 STD Z+0,R10
06F1 01CF MOVW R24,R30
06F2 9601 ADIW R24,1
06F3 012C MOVW R4,R24
06F4 5F4F SUBI R20,0xFF
06F5 4F5F SBCI R21,0xFF
06F6 24CC CLR R12
06F7 24DD CLR R13
06F8 24AA CLR R10
06F9 01C3 MOVW R24,R6
06FA 9601 ADIW R24,1
06FB 013C MOVW R6,R24
06FC 5F6F SUBI R22,0xFF
06FD 4F7F SBCI R23,0xFF
06FE 156E CP R22,R14
06FF 057F CPC R23,R15
0700 F40C BGE 0x0702
0701 CFC9 RJMP 0x06CB
0702 2422 CLR R2
0703 01F2 MOVW R30,R4
0704 8220 STD Z+0,R2
0705 018A MOVW R16,R20
0706 940E09D2 CALL pop_gset5
0708 9508 RET
_delay_1us:
0709 0000 NOP
070A 9508 RET
_delay_nus:
i --> R20
n --> R22
070B 940E09DB CALL push_gset2
070D 01B8 MOVW R22,R16
070E 2744 CLR R20
070F 2755 CLR R21
0710 C003 RJMP 0x0714
0711 DFF7 RCALL _delay_1us
0712 5F4F SUBI R20,0xFF
0713 4F5F SBCI R21,0xFF
0714 1746 CP R20,R22
0715 0757 CPC R21,R23
0716 F3D0 BCS 0x0711
0717 940E09C9 CALL pop_gset2
0719 9508 RET
_delay_1ms:
i --> R16
071A 2700 CLR R16
071B 2711 CLR R17
071C C002 RJMP 0x071F
071D 5F0F SUBI R16,0xFF
071E 4F1F SBCI R17,0xFF
071F 330A CPI R16,0x3A
0720 E0E2 LDI R30,2
0721 071E CPC R17,R30
0722 F3D0 BCS 0x071D
0723 9508 RET
_delay_nms:
i --> R20
n --> R22
0724 940E09DB CALL push_gset2
0726 01B8 MOVW R22,R16
0727 2744 CLR R20
0728 2755 CLR R21
0729 C003 RJMP 0x072D
072A DFEF RCALL _delay_1ms
072B 5F4F SUBI R20,0xFF
072C 4F5F SBCI R21,0xFF
072D 1746 CP R20,R22
072E 0757 CPC R21,R23
072F F3D0 BCS 0x072A
0730 940E09C9 CALL pop_gset2
0732 9508 RET
_SetOK:
UART1_TX_BUF --> R16
0733 E48F LDI R24,0x4F
0734 01F8 MOVW R30,R16
0735 8380 STD Z+0,R24
0736 E48B LDI R24,0x4B
0737 8381 STD Z+1,R24
0738 E08D LDI R24,0xD
0739 01F8 MOVW R30,R16
073A 8382 STD Z+2,R24
073B E003 LDI R16,3
073C E010 LDI R17,0
073D 9508 RET
_SetError:
UART1_TX_BUF --> R16
073E E485 LDI R24,0x45
073F 01F8 MOVW R30,R16
0740 8380 STD Z+0,R24
0741 E582 LDI R24,0x52
0742 8381 STD Z+1,R24
0743 E48F LDI R24,0x4F
0744 01F8 MOVW R30,R16
0745 8382 STD Z+2,R24
0746 E582 LDI R24,0x52
0747 01F8 MOVW R30,R16
0748 8383 STD Z+3,R24
0749 01F8 MOVW R30,R16
074A 8384 STD Z+4,R24
074B E08D LDI R24,0xD
074C 01F8 MOVW R30,R16
074D 8385 STD Z+5,R24
074E E006 LDI R16,6
074F E010 LDI R17,0
0750 9508 RET
_SetPhone:
chrLo --> R22
chrHi --> R20
i --> R22
nLen --> Y+4
phone --> R18
recv --> R16
0751 940E09DB CALL push_gset2
0753 01F8 MOVW R30,R16
0754 8140 LDD R20,Z+0
0755 8161 LDD R22,Z+1
0756 01F8 MOVW R30,R16
0757 8181 LDD R24,Z+1
0758 328C CPI R24,0x2C
0759 F499 BNE 0x076D
075A 2766 CLR R22
075B 2777 CLR R23
075C C00A RJMP 0x0767
075D 01FB MOVW R30,R22
075E 0FE0 ADD R30,R16
075F 1FF1 ADC R31,R17
0760 8022 LDD R2,Z+2
0761 01FB MOVW R30,R22
0762 0FE2 ADD R30,R18
0763 1FF3 ADC R31,R19
0764 8220 STD Z+0,R2
0765 5F6F SUBI R22,0xFF
0766 4F7F SBCI R23,0xFF
0767 2E24 MOV R2,R20
0768 2433 CLR R3
0769 1562 CP R22,R2
076A 0573 CPC R23,R3
076B F38C BLT 0x075D
076C C003 RJMP 0x0770
076D 2700 CLR R16
076E 2711 CLR R17
076F C002 RJMP 0x0772
0770 2F04 MOV R16,R20
0771 2711 CLR R17
0772 940E09C9 CALL pop_gset2
0774 9508 RET
_GetPhone:
i --> R20
out --> R18
in --> R16
0775 940E09DD CALL push_gset1
0777 2744 CLR R20
0778 2755 CLR R21
0779 C00A RJMP 0x0784
077A 01FA MOVW R30,R20
077B 0FE0 ADD R30,R16
077C 1FF1 ADC R31,R17
077D 8027 LDD R2,Z+7
077E 01FA MOVW R30,R20
077F 0FE2 ADD R30,R18
0780 1FF3 ADC R31,R19
0781 8220 STD Z+0,R2
0782 5F4F SUBI R20,0xFF
0783 4F5F SBCI R21,0xFF
0784 01FA MOVW R30,R20
0785 0FE0 ADD R30,R16
0786 1FF1 ADC R31,R17
0787 8180 LDD R24,Z+0
0788 328C CPI R24,0x2C
0789 F781 BNE 0x077A
078A 018A MOVW R16,R20
078B 940E09E0 CALL pop_gset1
078D 9508 RET
_uart0_tx_isr:
078E 940E09F4 CALL push_lset
0790 9020020D LDS R2,tx_counter
0792 2022 TST R2
0793 F0E1 BEQ 0x07B0
0794 2D82 MOV R24,R2
0795 5081 SUBI R24,1
0796 9380020D STS tx_counter,R24
0798 E180 LDI R24,0x10
0799 E092 LDI R25,2
079A 91E0020E LDS R30,tx_rd_index
079C 27FF CLR R31
079D 0FE8 ADD R30,R24
079E 1FF9 ADC R31,R25
079F 8020 LDD R2,Z+0
07A0 B82C OUT 0x0C,R2
07A1 E005 LDI R16,5
07A2 E010 LDI R17,0
07A3 940E070B CALL _delay_nus
07A5 9180020E LDS R24,tx_rd_index
07A7 5F8F SUBI R24,0xFF
07A8 2E28 MOV R2,R24
07A9 9220020E STS tx_rd_index,R2
07AB 3C88 CPI R24,0xC8
07AC F419 BNE 0x07B0
07AD 2422 CLR R2
07AE 9220020E STS tx_rd_index,R2
07B0 940E0A0B CALL pop_lset
07B2 9518 RETI
_uart0_rx_isr:
data --> R16
status --> R18
07B3 922A ST R2,-Y
07B4 930A ST R16,-Y
07B5 932A ST R18,-Y
07B6 938A ST R24,-Y
07B7 939A ST R25,-Y
07B8 93EA ST R30,-Y
07B9 93FA ST R31,-Y
07BA B62F IN R2,0x3F
07BB 922A ST R2,-Y
07BC B12B IN R18,0x0B
07BD B10C IN R16,0x0C
07BE 2F82 MOV R24,R18
07BF 718C ANDI R24,0x1C
07C0 F509 BNE 0x07E2
07C1 E78C LDI R24,0x7C
07C2 E090 LDI R25,0
07C3 91E0007A LDS R30,rx_wr_index
07C5 27FF CLR R31
07C6 0FE8 ADD R30,R24
07C7 1FF9 ADC R31,R25
07C8 8300 STD Z+0,R16
07C9 9180007A LDS R24,rx_wr_index
07CB 5F8F SUBI R24,0xFF
07CC 2E28 MOV R2,R24
07CD 9220007A STS rx_wr_index,R2
07CF 3C88 CPI R24,0xC8
07D0 F419 BNE 0x07D4
07D1 2422 CLR R2
07D2 9220007A STS rx_wr_index,R2
07D4 9180007B LDS R24,rx_counter
07D6 5F8F SUBI R24,0xFF
07D7 2E28 MOV R2,R24
07D8 9220007B STS rx_counter,R2
07DA 3C88 CPI R24,0xC8
07DB F431 BNE 0x07E2
07DC 2422 CLR R2
07DD 9220007B STS rx_counter,R2
07DF E081 LDI R24,1
07E0 93800078 STS rx_buffer_overflow,R24
07E2 9029 LD R2,Y+
07E3 BE2F OUT 0x3F,R2
07E4 91F9 LD R31,Y+
07E5 91E9 LD R30,Y+
07E6 9199 LD R25,Y+
07E7 9189 LD R24,Y+
07E8 9129 LD R18,Y+
07E9 9109 LD R16,Y+
07EA 9029 LD R2,Y+
07EB 9518 RETI
_getchar:
data --> R16
07EC 9020007B LDS R2,rx_counter
07EE 2022 TST R2
07EF F3E1 BEQ 0x07EC
07F0 E78C LDI R24,0x7C
07F1 E090 LDI R25,0
07F2 91E00079 LDS R30,rx_rd_index
07F4 27FF CLR R31
07F5 0FE8 ADD R30,R24
07F6 1FF9 ADC R31,R25
07F7 8100 LDD R16,Z+0
07F8 91800079 LDS R24,rx_rd_index
07FA 5F8F SUBI R24,0xFF
07FB 2E28 MOV R2,R24
07FC 92200079 STS rx_rd_index,R2
07FE 3C88 CPI R24,0xC8
07FF F419 BNE 0x0803
0800 2422 CLR R2
0801 92200079 STS rx_rd_index,R2
0803 9180007B LDS R24,rx_counter
0805 5081 SUBI R24,1
0806 9380007B STS rx_counter,R24
0808 9508 RET
_getstring:
i --> R20
in --> R22
0809 940E09DB CALL push_gset2
080B 01B8 MOVW R22,R16
080C 2744 CLR R20
080D 2755 CLR R21
080E C007 RJMP 0x0816
080F DFDC RCALL _getchar
0810 01FA MOVW R30,R20
0811 0FE6 ADD R30,R22
0812 1FF7 ADC R31,R23
0813
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -