📄 test_7135.lst
字号:
0143 98C0 CBI 0x18,0
(0195) CLI();
0144 94F8 BCLR 7
(0196) }
0145 9109 LD R16,Y+
0146 BF0F OUT 0x3F,R16
0147 9109 LD R16,Y+
0148 9518 RETI
_DATA_DISPLAY:
temp --> Y+0
i --> R20
data --> R20
0149 940E0251 CALL push_gset1
014B 01A8 MOVW R20,R16
014C 9724 SBIW R28,4
(0197) }
(0198) //*****************************************************
(0199) //函数名称:void USART_INIT(void)
(0200) //函数功能:8M,波特率9600
(0201) //注意事项:
(0202) //*****************************************************
(0203) void DATA_DISPLAY(unsigned int data)
(0204) {
(0205) unsigned char temp[4],i;
(0206) temp[0]=data/1000;
014D EE28 LDI R18,0xE8
014E E033 LDI R19,3
014F 018A MOVW R16,R20
0150 940E018B CALL div16u
0152 8308 STD Y+0,R16
(0207) temp[1]=(data/100)%10;
0153 E624 LDI R18,0x64
0154 E030 LDI R19,0
0155 018A MOVW R16,R20
0156 940E018B CALL div16u
0158 E02A LDI R18,0xA
0159 E030 LDI R19,0
015A 940E0189 CALL mod16u
015C 8309 STD Y+1,R16
(0208) temp[2]=(data/10)%10;
015D E02A LDI R18,0xA
015E E030 LDI R19,0
015F 018A MOVW R16,R20
0160 940E018B CALL div16u
0162 E02A LDI R18,0xA
0163 E030 LDI R19,0
0164 940E0189 CALL mod16u
0166 830A STD Y+2,R16
(0209) temp[3]=data%10;
0167 E02A LDI R18,0xA
0168 E030 LDI R19,0
0169 018A MOVW R16,R20
016A 940E0189 CALL mod16u
016C 830B STD Y+3,R16
(0210) for(i=0;i<4;i++)
016D 2744 CLR R20
016E C00B RJMP 0x017A
(0211) {
(0212) USART_TX(temp[i]);
016F 01CE MOVW R24,R28
0170 2FE4 MOV R30,R20
0171 27FF CLR R31
0172 0FE8 ADD R30,R24
0173 1FF9 ADC R31,R25
0174 8100 LDD R16,Z+0
0175 DFB8 RCALL _USART_TX
(0213) DELAY_NMS(1);
0176 E001 LDI R16,1
0177 E010 LDI R17,0
0178 DEDD RCALL _DELAY_NMS
0179 9543 INC R20
017A 3044 CPI R20,4
017B F398 BCS 0x016F
017C 9624 ADIW R28,4
017D 940E0254 CALL pop_gset1
017F 9508 RET
(0214) }
(0215) }
(0216) //**********************************************************
(0217) //主函数
(0218) //**********************************************************
(0219) void main(void)
(0220) {
(0221) CLI();
_main:
0180 94F8 BCLR 7
(0222) PORT_INIT();
0181 DEE1 RCALL _PORT_INIT
(0223) T0_125K();
0182 DEE8 RCALL _T0_125K
(0224) INT0_INIT();
0183 DEF2 RCALL _INT0_INIT
(0225) T1_INIT();
0184 DF85 RCALL _T1_INIT
(0226) USART_INIT();
0185 DF9F RCALL _USART_INIT
(0227) SEI();
0186 9478 BSET 7
(0228) //PORTB|=(1<<0);//先不 进行ad采样,等待上位机命令
(0229) while(1)
FILE: <library>
0187 CFFF RJMP 0x0187
0188 9508 RET
mod16u:
0189 9468 BSET 6
018A C001 RJMP xdiv16u
div16u:
018B 94E8 BCLR 6
xdiv16u:
018C 92EA ST R14,-Y
018D 92FA ST R15,-Y
018E 938A ST R24,-Y
018F 24EE CLR R14
0190 24FF CLR R15
0191 E180 LDI R24,0x10
0192 0F00 LSL R16
0193 1F11 ROL R17
0194 1CEE ROL R14
0195 1CFF ROL R15
0196 16E2 CP R14,R18
0197 06F3 CPC R15,R19
0198 F018 BCS 0x019C
0199 1AE2 SUB R14,R18
019A 0AF3 SBC R15,R19
019B 9503 INC R16
019C 958A DEC R24
019D F7A1 BNE 0x0192
019E F416 BRTC 0x01A1
019F 2D0E MOV R16,R14
01A0 2D1F MOV R17,R15
01A1 9189 LD R24,Y+
01A2 90F9 LD R15,Y+
01A3 90E9 LD R14,Y+
01A4 9508 RET
div32u:
01A5 94E8 BCLR 6
01A6 C001 RJMP 0x01A8
mod32u:
01A7 9468 BSET 6
01A8 D02F RCALL long_div_prolog
01A9 24CC CLR R12
01AA C008 RJMP 0x01B3
div32s:
01AB 94E8 BCLR 6
01AC C001 RJMP 0x01AE
mod32s:
01AD 9468 BSET 6
01AE D029 RCALL long_div_prolog
01AF FD37 SBRC R19,7
01B0 D053 RCALL neg_R16_R19
01B1 FDB7 SBRC R27,7
01B2 D05A RCALL neg_R24_R27
01B3 2477 CLR R7
01B4 2488 CLR R8
01B5 2499 CLR R9
01B6 24AA CLR R10
01B7 24BB CLR R11
01B8 D041 RCALL tst_R16_R19
01B9 F0C1 BEQ 0x01D2
01BA D044 RCALL tst_R24_R27
01BB F0B1 BEQ 0x01D2
01BC E2E8 LDI R30,0x28
01BD 0F00 LSL R16
01BE 1F11 ROL R17
01BF 1F22 ROL R18
01C0 1F33 ROL R19
01C1 1C77 ROL R7
01C2 1C88 ROL R8
01C3 1C99 ROL R9
01C4 1CAA ROL R10
01C5 1CBB ROL R11
01C6 1688 CP R8,R24
01C7 0699 CPC R9,R25
01C8 06AA CPC R10,R26
01C9 06BB CPC R11,R27
01CA F028 BCS 0x01D0
01CB 1A88 SUB R8,R24
01CC 0A99 SBC R9,R25
01CD 0AAA SBC R10,R26
01CE 0ABB SBC R11,R27
01CF 9503 INC R16
01D0 95EA DEC R30
01D1 F759 BNE 0x01BD
01D2 F426 BRTC 0x01D7
01D3 2D08 MOV R16,R8
01D4 2D19 MOV R17,R9
01D5 2D2A MOV R18,R10
01D6 2D3B MOV R19,R11
01D7 C013 RJMP long_div_epilog
long_div_prolog:
01D8 927A ST R7,-Y
01D9 928A ST R8,-Y
01DA 929A ST R9,-Y
01DB 92AA ST R10,-Y
01DC 92BA ST R11,-Y
01DD 92CA ST R12,-Y
01DE 93EA ST R30,-Y
01DF 938A ST R24,-Y
01E0 939A ST R25,-Y
01E1 93AA ST R26,-Y
01E2 93BA ST R27,-Y
01E3 858B LDD R24,Y+11
01E4 859C LDD R25,Y+12
01E5 85AD LDD R26,Y+13
01E6 85BE LDD R27,Y+14
01E7 2EC3 MOV R12,R19
01E8 F00E BRTS 0x01EA
01E9 26CB EOR R12,R27
01EA 9508 RET
long_div_epilog:
01EB FCC7 SBRC R12,7
01EC D017 RCALL neg_R16_R19
01ED 91B9 LD R27,Y+
01EE 91A9 LD R26,Y+
01EF 9199 LD R25,Y+
01F0 9189 LD R24,Y+
01F1 91E9 LD R30,Y+
01F2 90C9 LD R12,Y+
01F3 90B9 LD R11,Y+
01F4 90A9 LD R10,Y+
01F5 9099 LD R9,Y+
01F6 9089 LD R8,Y+
01F7 9079 LD R7,Y+
01F8 9624 ADIW R28,4
01F9 9508 RET
tst_R16_R19:
01FA 2FE0 MOV R30,R16
01FB 2BE1 OR R30,R17
01FC 2BE2 OR R30,R18
01FD 2BE3 OR R30,R19
01FE 9508 RET
tst_R24_R27:
01FF 2FE8 MOV R30,R24
0200 2BE9 OR R30,R25
0201 2BEA OR R30,R26
0202 2BEB OR R30,R27
0203 9508 RET
neg_R16_R19:
0204 9500 COM R16
0205 9510 COM R17
0206 9520 COM R18
0207 9530 COM R19
0208 5F0F SUBI R16,0xFF
0209 4F1F SBCI R17,0xFF
020A 4F2F SBCI R18,0xFF
020B 4F3F SBCI R19,0xFF
020C 9508 RET
neg_R24_R27:
020D 9580 COM R24
020E 9590 COM R25
020F 95A0 COM R26
0210 95B0 COM R27
0211 5F8F SUBI R24,0xFF
0212 4F9F SBCI R25,0xFF
0213 4FAF SBCI R26,0xFF
0214 4FBF SBCI R27,0xFF
0215 9508 RET
empy32u:
empy32s:
0216 940E0268 CALL long_prolog
0218 927F PUSH R7
0219 940E0281 CALL tstzero1
021B F139 BEQ 0x0243
021C 2477 CLR R7
021D 940E0287 CALL tstzero2
021F F419 BNE 0x0223
0220 018C MOVW R16,R24
0221 019D MOVW R18,R26
0222 C020 RJMP 0x0243
0223 9F08 MUL R16,R24
0224 2CB0 MOV R11,R0
0225 2CA1 MOV R10,R1
0226 9F28 MUL R18,R24
0227 2C90 MOV R9,R0
0228 2C81 MOV R8,R1
0229 9F18 MUL R17,R24
022A 0CA0 ADD R10,R0
022B 1C91 ADC R9,R1
022C 1C87 ADC R8,R7
022D 9F09 MUL R16,R25
022E 0CA0 ADD R10,R0
022F 1C91 ADC R9,R1
0230 1C87 ADC R8,R7
0231 9F19 MUL R17,R25
0232 0C90 ADD R9,R0
0233 1C81 ADC R8,R1
0234 9F0A MUL R16,R26
0235 0C90 ADD R9,R0
0236 1C81 ADC R8,R1
0237 9F38 MUL R19,R24
0238 0C80 ADD R8,R0
0239 9F29 MUL R18,R25
023A 0C80 ADD R8,R0
023B 9F1A MUL R17,R26
023C 0C80 ADD R8,R0
023D 9F0B MUL R16,R27
023E 0C80 ADD R8,R0
023F 2D0B MOV R16,R11
0240 2D1A MOV R17,R10
0241 2D29 MOV R18,R9
0242 2D38 MOV R19,R8
0243 907F POP R7
0244 940C0276 JMP long_epilog
pop_gset2:
0246 E0E2 LDI R30,2
0247 940C0255 JMP pop
push_gset5:
0249 92FA ST R15,-Y
024A 92EA ST R14,-Y
push_gset4:
024B 92DA ST R13,-Y
024C 92CA ST R12,-Y
push_gset3:
024D 92BA ST R11,-Y
024E 92AA ST R10,-Y
push_gset2:
024F 937A ST R23,-Y
0250 936A ST R22,-Y
push_gset1:
0251 935A ST R21,-Y
0252 934A ST R20,-Y
0253 9508 RET
pop_gset1:
0254 E0E1 LDI R30,1
pop:
0255 9149 LD R20,Y+
0256 9159 LD R21,Y+
0257 FDE0 SBRC R30,0
0258 9508 RET
0259 9169 LD R22,Y+
025A 9179 LD R23,Y+
025B FDE1 SBRC R30,1
025C 9508 RET
025D 90A9 LD R10,Y+
025E 90B9 LD R11,Y+
025F FDE2 SBRC R30,2
0260 9508 RET
0261 90C9 LD R12,Y+
0262 90D9 LD R13,Y+
0263 FDE3 SBRC R30,3
0264 9508 RET
0265 90E9 LD R14,Y+
0266 90F9 LD R15,Y+
0267 9508 RET
long_prolog:
0268 928A ST R8,-Y
0269 929A ST R9,-Y
026A 92AA ST R10,-Y
026B 92BA ST R11,-Y
026C 93EA ST R30,-Y
026D 938A ST R24,-Y
026E 939A ST R25,-Y
026F 93AA ST R26,-Y
0270 93BA ST R27,-Y
0271 8589 LDD R24,Y+9
0272 859A LDD R25,Y+10
0273 85AB LDD R26,Y+11
0274 85BC LDD R27,Y+12
0275 9508 RET
long_epilog:
0276 91B9 LD R27,Y+
0277 91A9 LD R26,Y+
0278 9199 LD R25,Y+
0279 9189 LD R24,Y+
027A 91E9 LD R30,Y+
027B 90B9 LD R11,Y+
027C 90A9 LD R10,Y+
027D 9099 LD R9,Y+
027E 9089 LD R8,Y+
027F 9624 ADIW R28,4
0280 9508 RET
tstzero1:
0281 27EE CLR R30
0282 2BE0 OR R30,R16
0283 2BE1 OR R30,R17
0284 2BE2 OR R30,R18
0285 2BE3 OR R30,R19
0286 9508 RET
tstzero2:
0287 27EE CLR R30
0288 2BE8 OR R30,R24
0289 2BE9 OR R30,R25
028A 2BEA OR R30,R26
028B 2BEB OR R30,R27
028C 9508 RET
push_lset:
028D 93FA ST R31,-Y
028E 93EA ST R30,-Y
028F 93BA ST R27,-Y
0290 93AA ST R26,-Y
0291 939A ST R25,-Y
0292 938A ST R24,-Y
0293 933A ST R19,-Y
0294 932A ST R18,-Y
0295 931A ST R17,-Y
0296 930A ST R16,-Y
0297 929A ST R9,-Y
0298 928A ST R8,-Y
0299 927A ST R7,-Y
029A 926A ST R6,-Y
029B 925A ST R5,-Y
029C 924A ST R4,-Y
029D 923A ST R3,-Y
029E 922A ST R2,-Y
029F 921A ST R1,-Y
02A0 920A ST R0,-Y
02A1 B60F IN R0,0x3F
02A2 920A ST R0,-Y
02A3 9508 RET
pop_lset:
02A4 9009 LD R0,Y+
02A5 BE0F OUT 0x3F,R0
02A6 9009 LD R0,Y+
02A7 9019 LD R1,Y+
02A8 9029 LD R2,Y+
02A9 9039 LD R3,Y+
02AA 9049 LD R4,Y+
02AB 9059 LD R5,Y+
02AC 9069 LD R6,Y+
02AD 9079 LD R7,Y+
02AE 9089 LD R8,Y+
02AF 9099 LD R9,Y+
02B0 9109 LD R16,Y+
02B1 9119 LD R17,Y+
02B2 9129 LD R18,Y+
02B3 9139 LD R19,Y+
02B4 9189 LD R24,Y+
02B5 9199 LD R25,Y+
02B6 91A9 LD R26,Y+
02B7 91B9 LD R27,Y+
02B8 91E9 LD R30,Y+
02B9 91F9 LD R31,Y+
02BA 9508 RET
lsr32:
02BB 920F PUSH R0
02BC 9009 LD R0,Y+
02BD 2000 TST R0
02BE F031 BEQ 0x02C5
02BF 9536 LSR R19
02C0 9527 ROR R18
02C1 9517 ROR R17
02C2 9507 ROR R16
02C3 940A DEC R0
02C4 CFF8 RJMP 0x02BD
02C5 900F POP R0
02C6 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -