📄 m64.lst
字号:
01F7 2733 CLR R19
01F8 EE08 LDI R16,0xE8
01F9 E013 LDI R17,3
01FA 940E06A0 CALL empy16s
01FC 01C8 MOVW R24,R16
01FD 5880 SUBI R24,0x80
01FE 4B9B SBCI R25,0xBB
01FF 91200116 LDS R18,b
0201 2733 CLR R19
0202 E100 LDI R16,0x10
0203 E217 LDI R17,0x27
0204 940E06A0 CALL empy16s
0206 01F8 MOVW R30,R16
0207 50E0 SUBI R30,0
0208 45F3 SBCI R31,0x53
0209 0FE8 ADD R30,R24
020A 1FF9 ADC R31,R25
020B 90200118 LDS R2,d
020D E684 LDI R24,0x64
020E 9D82 MUL R24,R2
020F 01C0 MOVW R24,R0
0210 5C80 SUBI R24,0xC0
0211 4192 SBCI R25,0x12
0212 0FE8 ADD R30,R24
0213 1FF9 ADC R31,R25
0214 90200119 LDS R2,e
0216 E08A LDI R24,0xA
0217 9D82 MUL R24,R2
0218 01C0 MOVW R24,R0
0219 5E80 SUBI R24,0xE0
021A 4091 SBCI R25,1
021B 0FE8 ADD R30,R24
021C 1FF9 ADC R31,R25
021D 9180011A LDS R24,f
021F 2799 CLR R25
0220 97C0 SBIW R24,0x30
0221 0FE8 ADD R30,R24
0222 1FF9 ADC R31,R25
0223 95E0 COM R30
0224 95F0 COM R31
0225 5FEF SUBI R30,0xFF
0226 4FFF SBCI R31,0xFF
0227 011F MOVW R2,R30
0228 2444 CLR R4
0229 FC37 SBRC R3,7
022A 9440 COM R4
022B 2455 CLR R5
022C FC47 SBRC R4,7
022D 9450 COM R5
022E 92300120 STS juli+1,R3
0230 9220011F STS juli,R2
0232 92500122 STS juli+3,R5
0234 92400121 STS juli+2,R4
(0139) all=0;return;}
0236 2422 CLR R2
0237 92200114 STS all,R2
0239 C08C RJMP 0x02C6
(0140) if (a!=0) {all=0;return;}
023A 90200115 LDS R2,a
023C 2022 TST R2
023D F409 BNE 0x023F
023E C087 RJMP 0x02C6
023F 2422 CLR R2
0240 92200114 STS all,R2
0242 C083 RJMP 0x02C6
(0141) //PORTF=a;
(0142) }
(0143) else if (all==0)//(johu!=3)&&(johu!=5) //5:7-bit 3:8-bit
0243 90200114 LDS R2,all
0245 2022 TST R2
0246 F009 BEQ 0x0248
0247 C07E RJMP 0x02C6
(0144) {
(0145) a=b;
0248 90200116 LDS R2,b
024A 92200115 STS a,R2
(0146) b=c;
024C 90200117 LDS R2,c
024E 92200116 STS b,R2
(0147) c=d;
0250 90200118 LDS R2,d
0252 92200117 STS c,R2
(0148) d=UDR1;
0254 9020009C LDS R2,0x9C
0256 92200118 STS d,R2
(0149) if ((a=='c')&&(b=='i')&&(c=='r'))
0258 91800115 LDS R24,a
025A 3683 CPI R24,0x63
025B F4C9 BNE 0x0275
025C 91800116 LDS R24,b
025E 3689 CPI R24,0x69
025F F4A9 BNE 0x0275
0260 91800117 LDS R24,c
0262 3782 CPI R24,0x72
0263 F489 BNE 0x0275
(0150) {
(0151) all=CIR;
0264 E081 LDI R24,1
0265 93800114 STS all,R24
(0152) a=0;b=0;c=0;d=0;e=0;f=0;
0267 2422 CLR R2
0268 92200115 STS a,R2
026A 92200116 STS b,R2
026C 92200117 STS c,R2
026E 92200118 STS d,R2
0270 92200119 STS e,R2
0272 9220011A STS f,R2
(0153) return; }//RXlen=4;{johu=3;RXlen=3;return;}
0274 C051 RJMP 0x02C6
(0154) else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e'))
0275 91800115 LDS R24,a
0277 368C CPI R24,0x6C
0278 F4E9 BNE 0x0296
0279 91800116 LDS R24,b
027B 3689 CPI R24,0x69
027C F4C9 BNE 0x0296
027D 91800117 LDS R24,c
027F 368E CPI R24,0x6E
0280 F4A9 BNE 0x0296
0281 91800118 LDS R24,d
0283 3685 CPI R24,0x65
0284 F489 BNE 0x0296
(0155) {
(0156) all=LINE;
0285 E082 LDI R24,2
0286 93800114 STS all,R24
(0157) a=0;b=0;c=0;d=0;e=0;f=0;
0288 2422 CLR R2
0289 92200115 STS a,R2
028B 92200116 STS b,R2
028D 92200117 STS c,R2
028F 92200118 STS d,R2
0291 92200119 STS e,R2
0293 9220011A STS f,R2
(0158) return; }//RXlen=4;{johu=5;RXlen=3;return;}
0295 C030 RJMP 0x02C6
(0159) else if ((b=='c')&&(c=='l')&&(d=='s'))
0296 91800116 LDS R24,b
0298 3683 CPI R24,0x63
0299 F561 BNE 0x02C6
029A 91800117 LDS R24,c
029C 368C CPI R24,0x6C
029D F541 BNE 0x02C6
029E 91800118 LDS R24,d
02A0 3783 CPI R24,0x73
02A1 F521 BNE 0x02C6
(0160) {
(0161) xx=0;
02A2 E040 LDI R20,0
02A3 E050 LDI R21,0
02A4 E060 LDI R22,0
02A5 E070 LDI R23,0
02A6 93500107 STS xx+1,R21
02A8 93400106 STS xx,R20
02AA 93700109 STS xx+3,R23
02AC 93600108 STS xx+2,R22
(0162) jiaodu=0;
02AE E040 LDI R20,0
02AF E050 LDI R21,0
02B0 E060 LDI R22,0
02B1 E070 LDI R23,0
02B2 9350011C STS jiaodu+1,R21
02B4 9340011B STS jiaodu,R20
02B6 9370011E STS jiaodu+3,R23
02B8 9360011D STS jiaodu+2,R22
(0163) juli=0;
02BA E040 LDI R20,0
02BB E050 LDI R21,0
02BC E060 LDI R22,0
02BD E070 LDI R23,0
02BE 93500120 STS juli+1,R21
02C0 9340011F STS juli,R20
02C2 93700122 STS juli+3,R23
02C4 93600121 STS juli+2,R22
(0164) }
(0165) ////////////////////////////////////////////////////////////////////
(0166) }
02C6 940E06B0 CALL pop_gset2
02C8 9009 LD R0,Y+
02C9 BE0F OUT 0x3F,R0
02CA 91F9 LD R31,Y+
02CB 91E9 LD R30,Y+
02CC 9199 LD R25,Y+
02CD 9189 LD R24,Y+
02CE 9139 LD R19,Y+
02CF 9129 LD R18,Y+
02D0 9119 LD R17,Y+
02D1 9109 LD R16,Y+
02D2 9059 LD R5,Y+
02D3 9049 LD R4,Y+
02D4 9039 LD R3,Y+
02D5 9029 LD R2,Y+
02D6 9019 LD R1,Y+
02D7 9009 LD R0,Y+
02D8 9518 RETI
_number_uart1:
n --> Y+0
huanhang --> R10
NUM --> Y+10
02D9 940E05F0 CALL push_arg4
02DB 940E06BA CALL push_gset3
02DD 9724 SBIW R28,4
02DE 84AE LDD R10,Y+14
(0167) }
(0168)
(0169)
(0170)
(0171) /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK)
(0172) {
(0173) char code[]={'0','1','2','3','4','5','6','7','8','9',};
(0174) if (NUM<0)
(0175) {LCD_write_String1(X,Y,"-");NUM=-NUM;}
(0176) else
(0177) {LCD_write_String1(X,Y,"+");}
(0178) X=X+6;
(0179) while(LEN--)
(0180) {
(0181) LCD_write_String1(X+LEN*6,Y,& code[NUM%10]);
(0182) NUM=NUM/10;
(0183) }
(0184) }*/
(0185) void number_uart1(long NUM,char huanhang)
(0186) {long n=0;
02DF E040 LDI R20,0
02E0 E050 LDI R21,0
02E1 E060 LDI R22,0
02E2 E070 LDI R23,0
02E3 01FE MOVW R30,R28
02E4 8340 STD Z+0,R20
02E5 8351 STD Z+1,R21
02E6 8362 STD Z+2,R22
02E7 8373 STD Z+3,R23
(0187) if (NUM<0){n=-NUM; while(!(UCSR1A&(1<<UDRE1))); UDR1='-';}
02E8 E040 LDI R20,0
02E9 E050 LDI R21,0
02EA E060 LDI R22,0
02EB E070 LDI R23,0
02EC 01FE MOVW R30,R28
02ED 8422 LDD R2,Z+10
02EE 8433 LDD R3,Z+11
02EF 8444 LDD R4,Z+12
02F0 8455 LDD R5,Z+13
02F1 1624 CP R2,R20
02F2 0635 CPC R3,R21
02F3 0646 CPC R4,R22
02F4 0657 CPC R5,R23
02F5 F4A4 BGE 0x030A
02F6 01FE MOVW R30,R28
02F7 8502 LDD R16,Z+10
02F8 8513 LDD R17,Z+11
02F9 8524 LDD R18,Z+12
02FA 8535 LDD R19,Z+13
02FB 940E06D5 CALL neg32
02FD 01FE MOVW R30,R28
02FE 8300 STD Z+0,R16
02FF 8311 STD Z+1,R17
0300 8322 STD Z+2,R18
0301 8333 STD Z+3,R19
0302 9020009B LDS R2,0x9B
0304 FE25 SBRS R2,5
0305 CFFC RJMP 0x0302
0306 E28D LDI R24,0x2D
0307 9380009C STS 0x9C,R24
0309 C011 RJMP 0x031B
(0188) else {n=NUM;while(!(UCSR1A&(1<<UDRE1))); UDR1='+';}
030A 01FE MOVW R30,R28
030B 8422 LDD R2,Z+10
030C 8433 LDD R3,Z+11
030D 8444 LDD R4,Z+12
030E 8455 LDD R5,Z+13
030F 01FE MOVW R30,R28
0310 8220 STD Z+0,R2
0311 8231 STD Z+1,R3
0312 8242 STD Z+2,R4
0313 8253 STD Z+3,R5
0314 9020009B LDS R2,0x9B
0316 FE25 SBRS R2,5
0317 CFFC RJMP 0x0314
0318 E28B LDI R24,0x2B
0319 9380009C STS 0x9C,R24
(0189) while(!(UCSR1A&(1<<UDRE1)));
031B 9020009B LDS R2,0x9B
031D FE25 SBRS R2,5
031E CFFC RJMP 0x031B
(0190) UDR1=(n/10000)%10+48;
031F E140 LDI R20,0x10
0320 E257 LDI R21,0x27
0321 E060 LDI R22,0
0322 E070 LDI R23,0
0323 01FE MOVW R30,R28
0324 8020 LDD R2,Z+0
0325 8031 LDD R3,Z+1
0326 8042 LDD R4,Z+2
0327 8053 LDD R5,Z+3
0328 937A ST R23,-Y
0329 936A ST R22,-Y
032A 935A ST R21,-Y
032B 934A ST R20,-Y
032C 0181 MOVW R16,R2
032D 0192 MOVW R18,R4
032E 940E0635 CALL div32s
0330 E04A LDI R20,0xA
0331 E050 LDI R21,0
0332 E060 LDI R22,0
0333 E070 LDI R23,0
0334 937A ST R23,-Y
0335 936A ST R22,-Y
0336 935A ST R21,-Y
0337 934A ST R20,-Y
0338 940E0637 CALL mod32s
033A 0118 MOVW R2,R16
033B 0129 MOVW R4,R18
033C E340 LDI R20,0x30
033D E050 LDI R21,0
033E E060 LDI R22,0
033F E070 LDI R23,0
0340 0E24 ADD R2,R20
0341 1E35 ADC R3,R21
0342 1E46 ADC R4,R22
0343 1E57 ADC R5,R23
0344 9220009C STS 0x9C,R2
(0191) while(!(UCSR1A&(1<<UDRE1)));
0346 9020009B LDS R2,0x9B
0348 FE25 SBRS R2,5
0349 CFFC RJMP 0x0346
(0192) UDR1=(n/1000)%10+48;
034A EE48 LDI R20,0xE8
034B E053 LDI R21,3
034C E060 LDI R22,0
034D E070 LDI R23,0
034E 01FE MOVW R30,R28
034F 8020 LDD R2,Z+0
0350 8031 LDD R3,Z+1
0351 8042 LDD R4,Z+2
0352 8053 LDD R5,Z+3
0353 937A ST R23,-Y
0354 936A ST R22,-Y
0355 935A ST R21,-Y
0356 934A ST R20,-Y
0357 0181 MOVW R16,R2
0358 0192 MOVW R18,R4
0359 940E0635 CALL div32s
035B E04A LDI R20,0xA
035C E050 LDI R21,0
035D E060 LDI R22,0
035E E070 LDI R23,0
035F 937A ST R23,-Y
0360 936A ST R22,-Y
0361 935A ST R21,-Y
0362 934A ST R20,-Y
0363 940E0637 CALL mod32s
0365 0118 MOVW R2,R16
0366 0129 MOVW R4,R18
0367 E340 LDI R20,0x30
0368 E050 LDI R21,0
0369 E060 LDI R22,0
036A E070 LDI R23,0
036B 0E24 ADD R2,R20
036C 1E35 ADC R3,R21
036D 1E46 ADC R4,R22
036E 1E57 ADC R5,R23
036F 9220009C STS 0x9C,R2
(0193) while(!(UCSR1A&(1<<UDRE1)));
0371 9020009B LDS R2,0x9B
0373 FE25 SBRS R2,5
0374 CFFC RJMP 0x0371
(0194) UDR1=(n/100)%10+48;
0375 E644 LDI R20,0x64
0376 E050 LDI R21,0
0377 E060 LDI R22,0
0378 E070 LDI R23,0
0379 01FE MOVW R30,R28
037A 8020 LDD R2,Z+0
037B 8031 LDD R3,Z+1
037C 8042 LDD R4,Z+2
037D 8053 LDD R5,Z+3
037E 937A ST R23,-Y
037F 936A ST R22,-Y
0380 935A ST R21,-Y
0381 934A ST R20,-Y
0382 0181 MOVW R16,R2
0383 0192 MOVW R18,R4
0384 940E0635 CALL div32s
0386 E04A LDI R20,0xA
0387 E050 LDI R21,0
0388 E060 LDI R22,0
0389 E070 LDI R23,0
038A 937A ST R23,-Y
038B 936A ST R22,-Y
038C 935A ST R21,-Y
038D 934A ST R20,-Y
038E 940E0637 CALL mod32s
0390 0118 MOVW R2,R16
0391 0129 MOVW R4,R18
0392 E340 LDI R20,0x30
0393 E050 LDI R21,0
0394 E060 LDI R22,0
0395 E070 LDI R23,0
0396 0E24 ADD R2,R20
0397 1E35 ADC R3,R21
0398 1E46 ADC R4,R22
0399 1E57 ADC R5,R23
039A 9220009C STS 0x9C,R2
(0195) while(!(UCSR1A&(1<<UDRE1)));
039C 9020009B LDS R2,0x9B
039E FE25 SBRS R2,5
039F CFFC RJMP 0x039C
(0196) UDR1=(n/10)%10+48;
03A0 E04A LDI R20,0xA
03A1 E050 LDI R21,0
03A2 E060 LDI R22,0
03A3 E070 LDI R23,0
03A4 01FE MOVW R30,R28
03A5 8020 LDD R2,Z+0
03A6 8031 LDD R3,Z+1
03A7 8042 LDD R4,Z+2
03A8 8053 LDD R5,Z+3
03A9 937A ST R23,-Y
03AA 936A ST R22,-Y
03AB 935A ST R21,-Y
03AC 934A ST R20,-Y
03AD 0181 MOVW R16,R2
03AE 0192 MOVW R18,R4
03AF 940E0635 CALL div32s
03B1 E04A LDI R20,0xA
03B2 E050 LDI R21,0
03B3 E060 LDI R22,0
03B4 E070 LDI R23,0
03B5 937A ST R23,-Y
03B6 936A ST R22,-Y
03B7 935A ST R21,-Y
03B8 934A ST R20,-Y
03B9 940E0637 CALL mod32s
03BB 0118 MOVW R2,R16
03BC 0129 MOVW R4,R18
03BD E340 LDI R20,0x30
03BE E050 LDI R21,0
03BF E060 LDI R22,0
03C0 E070 LDI R23,0
03C1 0E24 ADD R2,R20
03C2 1E35 ADC R3,R21
03C3 1E46 ADC R4,R22
03C4 1E57 ADC R5,R23
03C5 9220009C STS 0x9C,R2
(0197) while(!(UCSR1A&(1<<UDRE1)));
03C7 9020009B LDS R2,0x9B
03C9 FE25 SBRS R2,5
03CA CFFC RJMP 0x03C7
(0198) UDR1=n%10+48;
03CB E04A LDI R20,0xA
03CC E050 LDI R21,0
03CD E060 LDI R22,0
03CE E070 LDI R23,0
03CF 01FE MOVW R30,R28
03D0 8020 LDD R2,Z+0
03D1 8031 LDD R3,Z+1
03D2 8042 LDD R4,Z+2
03D3 8053 LDD R5,Z+3
03D4 937A ST R23,-Y
03D5 936A ST R22,-Y
03D6 935A ST R21,-Y
03D7 934A ST R20,-Y
03D8 0181 MOVW R16,R2
03D9 0192 MOVW R18,R4
03DA 940E0637 CALL mod32s
03DC 0118 MOVW R2,R16
03DD 0129 MOVW R4,R18
03DE E340 LDI R20,0x30
03DF E050 LDI R21,0
03E0 E060 LDI R22,0
03E1 E070 LDI R23,0
03E2 0E24 ADD R2,R20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -