📄 main.lis
字号:
028C F91F adc R31,R25
028E 20901800 lds R2,_d
0292 84E6 ldi R24,100
0294 829D mul R24,R2
0296 C001 movw R24,R0
0298 805C subi R24,192
029A 9241 sbci R25,18
029C E80F add R30,R24
029E F91F adc R31,R25
02A0 20901900 lds R2,_e
02A4 8AE0 ldi R24,10
02A6 829D mul R24,R2
02A8 C001 movw R24,R0
02AA 805E subi R24,224
02AC 9140 sbci R25,1
02AE E80F add R30,R24
02B0 F91F adc R31,R25
02B2 80911A00 lds R24,_f
02B6 9927 clr R25
02B8 C097 sbiw R24,48
02BA E80F add R30,R24
02BC F91F adc R31,R25
02BE 1F01 movw R2,R30
02C0 4424 clr R4
02C2 37FC sbrc R3,7
02C4 4094 com R4
02C6 5524 clr R5
02C8 47FC sbrc R4,7
02CA 5094 com R5
02CC 30922000 sts _juli+1,R3
02D0 20921F00 sts _juli,R2
02D4 50922200 sts _juli+2+1,R5
02D8 40922100 sts _juli+2,R4
02DC .dbline 136
02DC ; all=0;return;}
02DC 2224 clr R2
02DE 20921400 sts _all,R2
02E2 .dbline 136
02E2 D6C0 xjmp L4
02E4 L21:
02E4 .dbline 137
02E4 ; else if (a=='-')
02E4 80911500 lds R24,_a
02E8 8D32 cpi R24,45
02EA 09F0 breq X8
02EC 45C0 xjmp L23
02EE X8:
02EE .dbline 138
02EE ; {juli=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48));
02EE .dbline 138
02EE 20911700 lds R18,_c
02F2 3327 clr R19
02F4 08EE ldi R16,1000
02F6 13E0 ldi R17,3
02F8 0E940000 xcall empy16s
02FC C801 movw R24,R16
02FE 8058 subi R24,128
0300 9B4B sbci R25,187
0302 20911600 lds R18,_b
0306 3327 clr R19
0308 00E1 ldi R16,10000
030A 17E2 ldi R17,39
030C 0E940000 xcall empy16s
0310 F801 movw R30,R16
0312 E050 subi R30,0
0314 F345 sbci R31,83
0316 E80F add R30,R24
0318 F91F adc R31,R25
031A 20901800 lds R2,_d
031E 84E6 ldi R24,100
0320 829D mul R24,R2
0322 C001 movw R24,R0
0324 805C subi R24,192
0326 9241 sbci R25,18
0328 E80F add R30,R24
032A F91F adc R31,R25
032C 20901900 lds R2,_e
0330 8AE0 ldi R24,10
0332 829D mul R24,R2
0334 C001 movw R24,R0
0336 805E subi R24,224
0338 9140 sbci R25,1
033A E80F add R30,R24
033C F91F adc R31,R25
033E 80911A00 lds R24,_f
0342 9927 clr R25
0344 C097 sbiw R24,48
0346 E80F add R30,R24
0348 F91F adc R31,R25
034A E095 com R30
034C F095 com R31
034E EF5F subi R30,0xFF
0350 FF4F sbci R31,0xFF
0352 1F01 movw R2,R30
0354 4424 clr R4
0356 37FC sbrc R3,7
0358 4094 com R4
035A 5524 clr R5
035C 47FC sbrc R4,7
035E 5094 com R5
0360 30922000 sts _juli+1,R3
0364 20921F00 sts _juli,R2
0368 50922200 sts _juli+2+1,R5
036C 40922100 sts _juli+2,R4
0370 .dbline 139
0370 ; all=0;return;}
0370 2224 clr R2
0372 20921400 sts _all,R2
0376 .dbline 139
0376 8CC0 xjmp L4
0378 L23:
0378 .dbline 140
0378 ; if (a!=0) {all=0;return;}
0378 20901500 lds R2,_a
037C 2220 tst R2
037E 09F4 brne X9
0380 87C0 xjmp L17
0382 X9:
0382 .dbline 140
0382 .dbline 140
0382 2224 clr R2
0384 20921400 sts _all,R2
0388 .dbline 140
0388 83C0 xjmp L4
038A X1:
038A .dbline 142
038A ; //PORTF=a;
038A ; }
038A L16:
038A .dbline 143
038A ; else if (all==0)//(johu!=3)&&(johu!=5) //5:7-bit 3:8-bit
038A 20901400 lds R2,_all
038E 2220 tst R2
0390 09F0 breq X10
0392 7EC0 xjmp L27
0394 X10:
0394 .dbline 144
0394 ; {
0394 .dbline 145
0394 ; a=b;
0394 20901600 lds R2,_b
0398 20921500 sts _a,R2
039C .dbline 146
039C ; b=c;
039C 20901700 lds R2,_c
03A0 20921600 sts _b,R2
03A4 .dbline 147
03A4 ; c=d;
03A4 20901800 lds R2,_d
03A8 20921700 sts _c,R2
03AC .dbline 148
03AC ; d=UDR1;
03AC 20909C00 lds R2,156
03B0 20921800 sts _d,R2
03B4 .dbline 149
03B4 ; if ((a=='c')&&(b=='i')&&(c=='r'))
03B4 80911500 lds R24,_a
03B8 8336 cpi R24,99
03BA C9F4 brne L29
03BC 80911600 lds R24,_b
03C0 8936 cpi R24,105
03C2 A9F4 brne L29
03C4 80911700 lds R24,_c
03C8 8237 cpi R24,114
03CA 89F4 brne L29
03CC .dbline 150
03CC ; {
03CC .dbline 151
03CC ; all=CIR;
03CC 81E0 ldi R24,1
03CE 80931400 sts _all,R24
03D2 .dbline 152
03D2 ; a=0;b=0;c=0;d=0;e=0;f=0;
03D2 2224 clr R2
03D4 20921500 sts _a,R2
03D8 .dbline 152
03D8 20921600 sts _b,R2
03DC .dbline 152
03DC 20921700 sts _c,R2
03E0 .dbline 152
03E0 20921800 sts _d,R2
03E4 .dbline 152
03E4 20921900 sts _e,R2
03E8 .dbline 152
03E8 20921A00 sts _f,R2
03EC .dbline 153
03EC ; return; }//RXlen=4;{johu=3;RXlen=3;return;}
03EC 51C0 xjmp L4
03EE L29:
03EE .dbline 154
03EE ; else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e'))
03EE 80911500 lds R24,_a
03F2 8C36 cpi R24,108
03F4 E9F4 brne L31
03F6 80911600 lds R24,_b
03FA 8936 cpi R24,105
03FC C9F4 brne L31
03FE 80911700 lds R24,_c
0402 8E36 cpi R24,110
0404 A9F4 brne L31
0406 80911800 lds R24,_d
040A 8536 cpi R24,101
040C 89F4 brne L31
040E .dbline 155
040E ; {
040E .dbline 156
040E ; all=LINE;
040E 82E0 ldi R24,2
0410 80931400 sts _all,R24
0414 .dbline 157
0414 ; a=0;b=0;c=0;d=0;e=0;f=0;
0414 2224 clr R2
0416 20921500 sts _a,R2
041A .dbline 157
041A 20921600 sts _b,R2
041E .dbline 157
041E 20921700 sts _c,R2
0422 .dbline 157
0422 20921800 sts _d,R2
0426 .dbline 157
0426 20921900 sts _e,R2
042A .dbline 157
042A 20921A00 sts _f,R2
042E .dbline 158
042E ; return; }//RXlen=4;{johu=5;RXlen=3;return;}
042E 30C0 xjmp L4
0430 L31:
0430 .dbline 159
0430 ; else if ((b=='c')&&(c=='l')&&(d=='s'))
0430 80911600 lds R24,_b
0434 8336 cpi R24,99
0436 61F5 brne L33
0438 80911700 lds R24,_c
043C 8C36 cpi R24,108
043E 41F5 brne L33
0440 80911800 lds R24,_d
0444 8337 cpi R24,115
0446 21F5 brne L33
0448 .dbline 160
0448 ; {
0448 .dbline 161
0448 ; xx=0;
0448 40E0 ldi R20,0
044A 50E0 ldi R21,0
044C 60E0 ldi R22,0
044E 70E0 ldi R23,0
0450 50930700 sts _xx+1,R21
0454 40930600 sts _xx,R20
0458 70930900 sts _xx+2+1,R23
045C 60930800 sts _xx+2,R22
0460 .dbline 162
0460 ; jiaodu=0;
0460 40E0 ldi R20,0
0462 50E0 ldi R21,0
0464 60E0 ldi R22,0
0466 70E0 ldi R23,0
0468 50931C00 sts _jiaodu+1,R21
046C 40931B00 sts _jiaodu,R20
0470 70931E00 sts _jiaodu+2+1,R23
0474 60931D00 sts _jiaodu+2,R22
0478 .dbline 163
0478 ; juli=0;
0478 40E0 ldi R20,0
047A 50E0 ldi R21,0
047C 60E0 ldi R22,0
047E 70E0 ldi R23,0
0480 50932000 sts _juli+1,R21
0484 40931F00 sts _juli,R20
0488 70932200 sts _juli+2+1,R23
048C 60932100 sts _juli+2,R22
0490 .dbline 164
0490 ; }
0490 L33:
0490 .dbline 166
0490 ; ////////////////////////////////////////////////////////////////////
0490 ; }
0490 L27:
0490 L17:
0490 L6:
0490 .dbline -2
0490 L4:
0490 0E940000 xcall pop_gset2
0494 0990 ld R0,y+
0496 0FBE out 0x3f,R0
0498 F991 ld R31,y+
049A E991 ld R30,y+
049C 9991 ld R25,y+
049E 8991 ld R24,y+
04A0 3991 ld R19,y+
04A2 2991 ld R18,y+
04A4 1991 ld R17,y+
04A6 0991 ld R16,y+
04A8 5990 ld R5,y+
04AA 4990 ld R4,y+
04AC 3990 ld R3,y+
04AE 2990 ld R2,y+
04B0 1990 ld R1,y+
04B2 0990 ld R0,y+
04B4 .dbline 0 ; func end
04B4 1895 reti
04B6 .dbend
04B6 .dbfunc e number_uart1 _number_uart1 fV
04B6 ; n -> y+0
04B6 ; huanhang -> R10
04B6 ; NUM -> y+10
.even
04B6 _number_uart1::
04B6 0E940000 xcall push_arg4
04BA 0E940000 xcall push_gset3
04BE 2497 sbiw R28,4
04C0 AE84 ldd R10,y+14
04C2 .dbline -1
04C2 .dbline 186
04C2 ; }
04C2 ;
04C2 ;
04C2 ;
04C2 ; /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK)
04C2 ; {
04C2 ; char code[]={'0','1','2','3','4','5','6','7','8','9',};
04C2 ; if (NUM<0)
04C2 ; {LCD_write_String1(X,Y,"-");NUM=-NUM;}
04C2 ; else
04C2 ; {LCD_write_String1(X,Y,"+");}
04C2 ; X=X+6;
04C2 ; while(LEN--)
04C2 ; {
04C2 ; LCD_write_String1(X+LEN*6,Y,& code[NUM%10]);
04C2 ; NUM=NUM/10;
04C2 ; }
04C2 ; }*/
04C2 ; void number_uart1(long NUM,char huanhang)
04C2 ; {long n=0;
04C2 .dbline 186
04C2 40E0 ldi R20,0
04C4 50E0 ldi R21,0
04C6 60E0 ldi R22,0
04C8 70E0 ldi R23,0
04CA FE01 movw R30,R28
04CC 4083 std z+0,R20
04CE 5183 std z+1,R21
04D0 6283 std z+2,R22
04D2 7383 std z+3,R23
04D4 .dbline 187
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -