📄 main.lis
字号:
042C 20921700 sts _c,R2
0430 .dbline 217
0430 20921800 sts _d,R2
0434 .dbline 217
0434 20921900 sts _e,R2
0438 .dbline 217
0438 20921A00 sts _f,R2
043C .dbline 218
043C ; return; }//RXlen=4;{johu=3;RXlen=3;return;}
043C 51C0 xjmp L8
043E L33:
043E .dbline 219
043E ; else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e'))
043E 80911500 lds R24,_a
0442 8C36 cpi R24,108
0444 E9F4 brne L35
0446 80911600 lds R24,_b
044A 8936 cpi R24,105
044C C9F4 brne L35
044E 80911700 lds R24,_c
0452 8E36 cpi R24,110
0454 A9F4 brne L35
0456 80911800 lds R24,_d
045A 8536 cpi R24,101
045C 89F4 brne L35
045E .dbline 220
045E ; {
045E .dbline 221
045E ; all=LINE;
045E 82E0 ldi R24,2
0460 80931400 sts _all,R24
0464 .dbline 222
0464 ; a=0;b=0;c=0;d=0;e=0;f=0;
0464 2224 clr R2
0466 20921500 sts _a,R2
046A .dbline 222
046A 20921600 sts _b,R2
046E .dbline 222
046E 20921700 sts _c,R2
0472 .dbline 222
0472 20921800 sts _d,R2
0476 .dbline 222
0476 20921900 sts _e,R2
047A .dbline 222
047A 20921A00 sts _f,R2
047E .dbline 223
047E ; return; }//RXlen=4;{johu=5;RXlen=3;return;}
047E 30C0 xjmp L8
0480 L35:
0480 .dbline 224
0480 ; else if ((b=='c')&&(c=='l')&&(d=='s'))
0480 80911600 lds R24,_b
0484 8336 cpi R24,99
0486 61F5 brne L37
0488 80911700 lds R24,_c
048C 8C36 cpi R24,108
048E 41F5 brne L37
0490 80911800 lds R24,_d
0494 8337 cpi R24,115
0496 21F5 brne L37
0498 .dbline 225
0498 ; {
0498 .dbline 226
0498 ; xx=0;
0498 40E0 ldi R20,0
049A 50E0 ldi R21,0
049C 60E0 ldi R22,0
049E 70E0 ldi R23,0
04A0 50930700 sts _xx+1,R21
04A4 40930600 sts _xx,R20
04A8 70930900 sts _xx+2+1,R23
04AC 60930800 sts _xx+2,R22
04B0 .dbline 227
04B0 ; jiaodu=0;
04B0 40E0 ldi R20,0
04B2 50E0 ldi R21,0
04B4 60E0 ldi R22,0
04B6 70E0 ldi R23,0
04B8 50931C00 sts _jiaodu+1,R21
04BC 40931B00 sts _jiaodu,R20
04C0 70931E00 sts _jiaodu+2+1,R23
04C4 60931D00 sts _jiaodu+2,R22
04C8 .dbline 228
04C8 ; juli=0;
04C8 40E0 ldi R20,0
04CA 50E0 ldi R21,0
04CC 60E0 ldi R22,0
04CE 70E0 ldi R23,0
04D0 50932000 sts _juli+1,R21
04D4 40931F00 sts _juli,R20
04D8 70932200 sts _juli+2+1,R23
04DC 60932100 sts _juli+2,R22
04E0 .dbline 229
04E0 ; }
04E0 L37:
04E0 .dbline 231
04E0 ; ////////////////////////////////////////////////////////////////////
04E0 ; }
04E0 L31:
04E0 L21:
04E0 L10:
04E0 .dbline -2
04E0 L8:
04E0 0E940000 xcall pop_gset2
04E4 0990 ld R0,y+
04E6 0FBE out 0x3f,R0
04E8 F991 ld R31,y+
04EA E991 ld R30,y+
04EC 9991 ld R25,y+
04EE 8991 ld R24,y+
04F0 3991 ld R19,y+
04F2 2991 ld R18,y+
04F4 1991 ld R17,y+
04F6 0991 ld R16,y+
04F8 5990 ld R5,y+
04FA 4990 ld R4,y+
04FC 3990 ld R3,y+
04FE 2990 ld R2,y+
0500 1990 ld R1,y+
0502 0990 ld R0,y+
0504 .dbline 0 ; func end
0504 1895 reti
0506 .dbend
0506 .dbfunc e number_uart1 _number_uart1 fV
0506 ; n -> y+0
0506 ; huanhang -> R10
0506 ; NUM -> y+10
.even
0506 _number_uart1::
0506 0E940000 xcall push_arg4
050A 0E940000 xcall push_gset3
050E 2497 sbiw R28,4
0510 AE84 ldd R10,y+14
0512 .dbline -1
0512 .dbline 251
0512 ; }
0512 ;
0512 ;
0512 ;
0512 ; /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK)
0512 ; {
0512 ; char code[]={'0','1','2','3','4','5','6','7','8','9',};
0512 ; if (NUM<0)
0512 ; {LCD_write_String1(X,Y,"-");NUM=-NUM;}
0512 ; else
0512 ; {LCD_write_String1(X,Y,"+");}
0512 ; X=X+6;
0512 ; while(LEN--)
0512 ; {
0512 ; LCD_write_String1(X+LEN*6,Y,& code[NUM%10]);
0512 ; NUM=NUM/10;
0512 ; }
0512 ; }*/
0512 ; void number_uart1(long NUM,char huanhang)
0512 ; {long n=0;
0512 .dbline 251
0512 40E0 ldi R20,0
0514 50E0 ldi R21,0
0516 60E0 ldi R22,0
0518 70E0 ldi R23,0
051A FE01 movw R30,R28
051C 4083 std z+0,R20
051E 5183 std z+1,R21
0520 6283 std z+2,R22
0522 7383 std z+3,R23
0524 .dbline 252
0524 40E0 ldi R20,0
0526 50E0 ldi R21,0
0528 60E0 ldi R22,0
052A 70E0 ldi R23,0
052C FE01 movw R30,R28
052E 2284 ldd R2,z+10
0530 3384 ldd R3,z+11
0532 4484 ldd R4,z+12
0534 5584 ldd R5,z+13
0536 2416 cp R2,R20
0538 3506 cpc R3,R21
053A 4606 cpc R4,R22
053C 5706 cpc R5,R23
053E A4F4 brge L40
0540 .dbline 252
0540 .dbline 252
0540 FE01 movw R30,R28
0542 0285 ldd R16,z+10
0544 1385 ldd R17,z+11
0546 2485 ldd R18,z+12
0548 3585 ldd R19,z+13
054A 0E940000 xcall neg32
054E FE01 movw R30,R28
0550 0083 std z+0,R16
0552 1183 std z+1,R17
0554 2283 std z+2,R18
0556 3383 std z+3,R19
0558 L42:
0558 .dbline 252
0558 L43:
0558 .dbline 252
0558 ; if (NUM<0){n=-NUM; while(!(UCSR1A&(1<<UDRE1))); UDR1='-';}
0558 20909B00 lds R2,155
055C 25FE sbrs R2,5
055E FCCF rjmp L42
0560 .dbline 252
0560 8DE2 ldi R24,45
0562 80939C00 sts 156,R24
0566 .dbline 252
0566 11C0 xjmp L49
0568 L40:
0568 .dbline 253
0568 .dbline 253
0568 FE01 movw R30,R28
056A 2284 ldd R2,z+10
056C 3384 ldd R3,z+11
056E 4484 ldd R4,z+12
0570 5584 ldd R5,z+13
0572 FE01 movw R30,R28
0574 2082 std z+0,R2
0576 3182 std z+1,R3
0578 4282 std z+2,R4
057A 5382 std z+3,R5
057C L45:
057C .dbline 253
057C L46:
057C .dbline 253
057C ; else {n=NUM;while(!(UCSR1A&(1<<UDRE1))); UDR1='+';}
057C 20909B00 lds R2,155
0580 25FE sbrs R2,5
0582 FCCF rjmp L45
0584 .dbline 253
0584 8BE2 ldi R24,43
0586 80939C00 sts 156,R24
058A .dbline 253
058A L48:
058A .dbline 254
058A L49:
058A .dbline 254
058A ; while(!(UCSR1A&(1<<UDRE1)));
058A 20909B00 lds R2,155
058E 25FE sbrs R2,5
0590 FCCF rjmp L48
0592 .dbline 255
0592 ; UDR1=(n/10000)%10+48;
0592 40E1 ldi R20,16
0594 57E2 ldi R21,39
0596 60E0 ldi R22,0
0598 70E0 ldi R23,0
059A FE01 movw R30,R28
059C 2080 ldd R2,z+0
059E 3180 ldd R3,z+1
05A0 4280 ldd R4,z+2
05A2 5380 ldd R5,z+3
05A4 7A93 st -y,R23
05A6 6A93 st -y,R22
05A8 5A93 st -y,R21
05AA 4A93 st -y,R20
05AC 8101 movw R16,R2
05AE 9201 movw R18,R4
05B0 0E940000 xcall div32s
05B4 4AE0 ldi R20,10
05B6 50E0 ldi R21,0
05B8 60E0 ldi R22,0
05BA 70E0 ldi R23,0
05BC 7A93 st -y,R23
05BE 6A93 st -y,R22
05C0 5A93 st -y,R21
05C2 4A93 st -y,R20
05C4 0E940000 xcall mod32s
05C8 1801 movw R2,R16
05CA 2901 movw R4,R18
05CC 40E3 ldi R20,48
05CE 50E0 ldi R21,0
05D0 60E0 ldi R22,0
05D2 70E0 ldi R23,0
05D4 240E add R2,R20
05D6 351E adc R3,R21
05D8 461E adc R4,R22
05DA 571E adc R5,R23
05DC 20929C00 sts 156,R2
05E0 L51:
05E0 .dbline 256
05E0 L52:
05E0 .dbline 256
05E0 ; while(!(UCSR1A&(1<<UDRE1)));
05E0 20909B00 lds R2,155
05E4 25FE sbrs R2,5
05E6 FCCF rjmp L51
05E8 .dbline 257
05E8 ; UDR1=(n/1000)%10+48;
05E8 48EE ldi R20,232
05EA 53E0 ldi R21,3
05EC 60E0 ldi R22,0
05EE 70E0 ldi R23,0
05F0 FE01 movw R30,R28
05F2 2080 ldd R2,z+0
05F4 3180 ldd R3,z+1
05F6 4280 ldd R4,z+2
05F8 5380 ldd R5,z+3
05FA 7A93 st -y,R23
05FC 6A93 st -y,R22
05FE 5A93 st -y,R21
0600 4A93 st -y,R20
0602 8101 movw R16,R2
0604 9201 movw R18,R4
0606 0E940000 xcall div32s
060A 4AE0 ldi R20,10
060C 50E0 ldi R21,0
060E 60E0 ldi R22,0
0610 70E0 ldi R23,0
0612 7A93 st -y,R23
0614 6A93 st -y,R22
0616 5A93 st -y,R21
0618 4A93 st -y,R20
061A 0E940000 xcall mod32s
061E 1801 movw R2,R16
0620 2901 movw R4,R18
0622 40E3 ldi R20,48
0624 50E0 ldi R21,0
0626 60E0 ldi R22,0
0628 70E0 ldi R23,0
062A 240E add R2,R20
062C 351E adc R3,R21
062E 461E adc R4,R22
0630 571E adc R5,R23
0632 20929C00 sts 156,R2
0636 L54:
0636 .dbline 258
0636 L55:
0636 .dbline 258
0636 ; while(!(UCSR1A&(1<<UDRE1)));
0636 20909B00 lds R2,155
063A 25FE sbrs R2,5
063C FCCF rjmp L54
063E .dbline 259
063E ; UDR1=(n/100)%10+48;
063E 44E6 ldi R20,100
0640 50E0 ldi R21,0
0642 60E0 ldi R22,0
0644 70E0 ldi R23,0
0646 FE01 movw R30,R28
0648 2080 ldd R2,z+0
064A 3180 ldd R3,z+1
064C 4280 ldd R4,z+2
064E 5380 ldd R5,z+3
0650 7A93 st -y,R23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -