📄 test_usart.lst
字号:
0119 EE48 LDI R20,0xE8
011A E053 LDI R21,3
011B E060 LDI R22,0
011C E070 LDI R23,0
011D 01FE MOVW R30,R28
011E 8820 LDD R2,Z+16
011F 8831 LDD R3,Z+17
0120 8842 LDD R4,Z+18
0121 8853 LDD R5,Z+19
0122 937A ST R23,-Y
0123 936A ST R22,-Y
0124 935A ST R21,-Y
0125 934A ST R20,-Y
0126 0181 MOVW R16,R2
0127 0192 MOVW R18,R4
0128 940E01A1 CALL div32u
012A E04A LDI R20,0xA
012B E050 LDI R21,0
012C E060 LDI R22,0
012D E070 LDI R23,0
012E 937A ST R23,-Y
012F 936A ST R22,-Y
0130 935A ST R21,-Y
0131 934A ST R20,-Y
0132 940E01A3 CALL mod32u
0134 830E STD Y+6,R16
(0079) temp[7]=(data/100)%10;
0135 E644 LDI R20,0x64
0136 E050 LDI R21,0
0137 E060 LDI R22,0
0138 E070 LDI R23,0
0139 01FE MOVW R30,R28
013A 8820 LDD R2,Z+16
013B 8831 LDD R3,Z+17
013C 8842 LDD R4,Z+18
013D 8853 LDD R5,Z+19
013E 937A ST R23,-Y
013F 936A ST R22,-Y
0140 935A ST R21,-Y
0141 934A ST R20,-Y
0142 0181 MOVW R16,R2
0143 0192 MOVW R18,R4
0144 940E01A1 CALL div32u
0146 E04A LDI R20,0xA
0147 E050 LDI R21,0
0148 E060 LDI R22,0
0149 E070 LDI R23,0
014A 937A ST R23,-Y
014B 936A ST R22,-Y
014C 935A ST R21,-Y
014D 934A ST R20,-Y
014E 940E01A3 CALL mod32u
0150 830F STD Y+7,R16
(0080) temp[8]=(data/10)%10;
0151 E04A LDI R20,0xA
0152 E050 LDI R21,0
0153 E060 LDI R22,0
0154 E070 LDI R23,0
0155 01FE MOVW R30,R28
0156 8820 LDD R2,Z+16
0157 8831 LDD R3,Z+17
0158 8842 LDD R4,Z+18
0159 8853 LDD R5,Z+19
015A 937A ST R23,-Y
015B 936A ST R22,-Y
015C 935A ST R21,-Y
015D 934A ST R20,-Y
015E 0181 MOVW R16,R2
015F 0192 MOVW R18,R4
0160 940E01A1 CALL div32u
0162 E04A LDI R20,0xA
0163 E050 LDI R21,0
0164 E060 LDI R22,0
0165 E070 LDI R23,0
0166 937A ST R23,-Y
0167 936A ST R22,-Y
0168 935A ST R21,-Y
0169 934A ST R20,-Y
016A 940E01A3 CALL mod32u
016C 8708 STD Y+8,R16
(0081) temp[9]=data%10;
016D E04A LDI R20,0xA
016E E050 LDI R21,0
016F E060 LDI R22,0
0170 E070 LDI R23,0
0171 01FE MOVW R30,R28
0172 8820 LDD R2,Z+16
0173 8831 LDD R3,Z+17
0174 8842 LDD R4,Z+18
0175 8853 LDD R5,Z+19
0176 937A ST R23,-Y
0177 936A ST R22,-Y
0178 935A ST R21,-Y
0179 934A ST R20,-Y
017A 0181 MOVW R16,R2
017B 0192 MOVW R18,R4
017C 940E01A3 CALL mod32u
017E 8709 STD Y+9,R16
(0082) for(i=0;i<10;i++)
017F 24AA CLR R10
0180 C00B RJMP 0x018C
(0083) {
(0084) USART_TX(temp[i]);
0181 01CE MOVW R24,R28
0182 2DEA MOV R30,R10
0183 27FF CLR R31
0184 0FE8 ADD R30,R24
0185 1FF9 ADC R31,R25
0186 8100 LDD R16,Z+0
0187 DEE2 RCALL _USART_TX
(0085) DELAY_NMS(1);
0188 E001 LDI R16,1
0189 E010 LDI R17,0
018A DEC9 RCALL _DELAY_NMS
018B 94A3 INC R10
018C 2D8A MOV R24,R10
018D 308A CPI R24,0xA
018E F390 BCS 0x0181
018F 962A ADIW R28,0xA
0190 940E0212 CALL pop_gset3
0192 9624 ADIW R28,4
0193 9508 RET
(0086) }
(0087) }
(0088) //**************************************************
(0089) //主函数
(0090) //**************************************************
(0091) void main(void)
(0092) {
(0093) USART_INIT();
_main:
0194 DECC RCALL _USART_INIT
(0094) DATA_DISPLAY(4294967295);
0195 EF0F LDI R16,0xFF
0196 EF1F LDI R17,0xFF
0197 EF2F LDI R18,0xFF
0198 EF3F LDI R19,0xFF
0199 DEDC RCALL _DATA_DISPLAY
(0095) while(1)
FILE: <library>
019A CFFF RJMP 0x019A
019B 9508 RET
push_arg4:
019C 933A ST R19,-Y
019D 932A ST R18,-Y
push_arg2:
019E 931A ST R17,-Y
019F 930A ST R16,-Y
01A0 9508 RET
div32u:
01A1 94E8 BCLR 6
01A2 C001 RJMP 0x01A4
mod32u:
01A3 9468 BSET 6
01A4 D02F RCALL long_div_prolog
01A5 24CC CLR R12
01A6 C008 RJMP 0x01AF
div32s:
01A7 94E8 BCLR 6
01A8 C001 RJMP 0x01AA
mod32s:
01A9 9468 BSET 6
01AA D029 RCALL long_div_prolog
01AB FD37 SBRC R19,7
01AC D053 RCALL neg_R16_R19
01AD FDB7 SBRC R27,7
01AE D05A RCALL neg_R24_R27
01AF 2477 CLR R7
01B0 2488 CLR R8
01B1 2499 CLR R9
01B2 24AA CLR R10
01B3 24BB CLR R11
01B4 D041 RCALL tst_R16_R19
01B5 F0C1 BEQ 0x01CE
01B6 D044 RCALL tst_R24_R27
01B7 F0B1 BEQ 0x01CE
01B8 E2E8 LDI R30,0x28
01B9 0F00 LSL R16
01BA 1F11 ROL R17
01BB 1F22 ROL R18
01BC 1F33 ROL R19
01BD 1C77 ROL R7
01BE 1C88 ROL R8
01BF 1C99 ROL R9
01C0 1CAA ROL R10
01C1 1CBB ROL R11
01C2 1688 CP R8,R24
01C3 0699 CPC R9,R25
01C4 06AA CPC R10,R26
01C5 06BB CPC R11,R27
01C6 F028 BCS 0x01CC
01C7 1A88 SUB R8,R24
01C8 0A99 SBC R9,R25
01C9 0AAA SBC R10,R26
01CA 0ABB SBC R11,R27
01CB 9503 INC R16
01CC 95EA DEC R30
01CD F759 BNE 0x01B9
01CE F426 BRTC 0x01D3
01CF 2D08 MOV R16,R8
01D0 2D19 MOV R17,R9
01D1 2D2A MOV R18,R10
01D2 2D3B MOV R19,R11
01D3 C013 RJMP long_div_epilog
long_div_prolog:
01D4 927A ST R7,-Y
01D5 928A ST R8,-Y
01D6 929A ST R9,-Y
01D7 92AA ST R10,-Y
01D8 92BA ST R11,-Y
01D9 92CA ST R12,-Y
01DA 93EA ST R30,-Y
01DB 938A ST R24,-Y
01DC 939A ST R25,-Y
01DD 93AA ST R26,-Y
01DE 93BA ST R27,-Y
01DF 858B LDD R24,Y+11
01E0 859C LDD R25,Y+12
01E1 85AD LDD R26,Y+13
01E2 85BE LDD R27,Y+14
01E3 2EC3 MOV R12,R19
01E4 F00E BRTS 0x01E6
01E5 26CB EOR R12,R27
01E6 9508 RET
long_div_epilog:
01E7 FCC7 SBRC R12,7
01E8 D017 RCALL neg_R16_R19
01E9 91B9 LD R27,Y+
01EA 91A9 LD R26,Y+
01EB 9199 LD R25,Y+
01EC 9189 LD R24,Y+
01ED 91E9 LD R30,Y+
01EE 90C9 LD R12,Y+
01EF 90B9 LD R11,Y+
01F0 90A9 LD R10,Y+
01F1 9099 LD R9,Y+
01F2 9089 LD R8,Y+
01F3 9079 LD R7,Y+
01F4 9624 ADIW R28,4
01F5 9508 RET
tst_R16_R19:
01F6 2FE0 MOV R30,R16
01F7 2BE1 OR R30,R17
01F8 2BE2 OR R30,R18
01F9 2BE3 OR R30,R19
01FA 9508 RET
tst_R24_R27:
01FB 2FE8 MOV R30,R24
01FC 2BE9 OR R30,R25
01FD 2BEA OR R30,R26
01FE 2BEB OR R30,R27
01FF 9508 RET
neg_R16_R19:
0200 9500 COM R16
0201 9510 COM R17
0202 9520 COM R18
0203 9530 COM R19
0204 5F0F SUBI R16,0xFF
0205 4F1F SBCI R17,0xFF
0206 4F2F SBCI R18,0xFF
0207 4F3F SBCI R19,0xFF
0208 9508 RET
neg_R24_R27:
0209 9580 COM R24
020A 9590 COM R25
020B 95A0 COM R26
020C 95B0 COM R27
020D 5F8F SUBI R24,0xFF
020E 4F9F SBCI R25,0xFF
020F 4FAF SBCI R26,0xFF
0210 4FBF SBCI R27,0xFF
0211 9508 RET
pop_gset3:
0212 E0E4 LDI R30,4
0213 940C0221 JMP pop
push_gset5:
0215 92FA ST R15,-Y
0216 92EA ST R14,-Y
push_gset4:
0217 92DA ST R13,-Y
0218 92CA ST R12,-Y
push_gset3:
0219 92BA ST R11,-Y
021A 92AA ST R10,-Y
push_gset2:
021B 937A ST R23,-Y
021C 936A ST R22,-Y
push_gset1:
021D 935A ST R21,-Y
021E 934A ST R20,-Y
021F 9508 RET
pop_gset1:
0220 E0E1 LDI R30,1
pop:
0221 9149 LD R20,Y+
0222 9159 LD R21,Y+
0223 FDE0 SBRC R30,0
0224 9508 RET
0225 9169 LD R22,Y+
0226 9179 LD R23,Y+
0227 FDE1 SBRC R30,1
0228 9508 RET
0229 90A9 LD R10,Y+
022A 90B9 LD R11,Y+
022B FDE2 SBRC R30,2
022C 9508 RET
022D 90C9 LD R12,Y+
022E 90D9 LD R13,Y+
022F FDE3 SBRC R30,3
0230 9508 RET
0231 90E9 LD R14,Y+
0232 90F9 LD R15,Y+
0233 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -