📄 main.lis
字号:
04CA E050 subi R30,0
04CC F345 sbci R31,83
04CE E80F add R30,R24
04D0 F91F adc R31,R25
04D2 20901A00 lds R2,_d
04D6 84E6 ldi R24,100
04D8 829D mul R24,R2
04DA C001 movw R24,R0
04DC 805C subi R24,192
04DE 9241 sbci R25,18
04E0 E80F add R30,R24
04E2 F91F adc R31,R25
04E4 20901B00 lds R2,_e
04E8 8AE0 ldi R24,10
04EA 829D mul R24,R2
04EC C001 movw R24,R0
04EE 805E subi R24,224
04F0 9140 sbci R25,1
04F2 E80F add R30,R24
04F4 F91F adc R31,R25
04F6 80911C00 lds R24,_f
04FA 9927 clr R25
04FC C097 sbiw R24,48
04FE E80F add R30,R24
0500 F91F adc R31,R25
0502 1F01 movw R2,R30
0504 4424 clr R4
0506 37FC sbrc R3,7
0508 4094 com R4
050A 5524 clr R5
050C 47FC sbrc R4,7
050E 5094 com R5
0510 30922200 sts _juli+1,R3
0514 20922100 sts _juli,R2
0518 50922400 sts _juli+2+1,R5
051C 40922300 sts _juli+2,R4
0520 .dbline 189
0520 ; all=0;return;}
0520 2224 clr R2
0522 20921600 sts _all,R2
0526 .dbline 189
0526 A6C0 xjmp L17
0528 L34:
0528 .dbline 190
0528 ; else if (a=='-')
0528 80911700 lds R24,_a
052C 8D32 cpi R24,45
052E 09F0 breq X31
0530 46C0 xjmp L36
0532 X31:
0532 X15:
0532 .dbline 191
0532 ; {juli=-((b-48)*10000+(c-48)*1000+(d-48)*100+(e-48)*10+(f-48));
0532 .dbline 191
0532 20911900 lds R18,_c
0536 3327 clr R19
0538 08EE ldi R16,1000
053A 13E0 ldi R17,3
053C 0E940000 xcall empy16s
0540 C801 movw R24,R16
0542 8058 subi R24,128
0544 9B4B sbci R25,187
0546 20911800 lds R18,_b
054A 3327 clr R19
054C 00E1 ldi R16,10000
054E 17E2 ldi R17,39
0550 0E940000 xcall empy16s
0554 F801 movw R30,R16
0556 E050 subi R30,0
0558 F345 sbci R31,83
055A E80F add R30,R24
055C F91F adc R31,R25
055E 20901A00 lds R2,_d
0562 84E6 ldi R24,100
0564 829D mul R24,R2
0566 C001 movw R24,R0
0568 805C subi R24,192
056A 9241 sbci R25,18
056C E80F add R30,R24
056E F91F adc R31,R25
0570 20901B00 lds R2,_e
0574 8AE0 ldi R24,10
0576 829D mul R24,R2
0578 C001 movw R24,R0
057A 805E subi R24,224
057C 9140 sbci R25,1
057E E80F add R30,R24
0580 F91F adc R31,R25
0582 80911C00 lds R24,_f
0586 9927 clr R25
0588 C097 sbiw R24,48
058A E80F add R30,R24
058C F91F adc R31,R25
058E CF01 movw R24,R30
0590 8095 com R24
0592 9095 com R25
0594 8F5F subi R24,0xFF
0596 9F4F sbci R25,0xFF
0598 1C01 movw R2,R24
059A 4424 clr R4
059C 37FC sbrc R3,7
059E 4094 com R4
05A0 5524 clr R5
05A2 47FC sbrc R4,7
05A4 5094 com R5
05A6 30922200 sts _juli+1,R3
05AA 20922100 sts _juli,R2
05AE 50922400 sts _juli+2+1,R5
05B2 40922300 sts _juli+2,R4
05B6 .dbline 192
05B6 ; all=0;return;}
05B6 2224 clr R2
05B8 20921600 sts _all,R2
05BC .dbline 192
05BC 5BC0 xjmp L17
05BE L36:
05BE .dbline 193
05BE ; if (a!=0) {all=0;return;}
05BE 20901700 lds R2,_a
05C2 2220 tst R2
05C4 09F4 brne X32
05C6 56C0 xjmp L30
05C8 X32:
05C8 X16:
05C8 .dbline 193
05C8 .dbline 193
05C8 2224 clr R2
05CA 20921600 sts _all,R2
05CE .dbline 193
05CE 52C0 xjmp L17
05D0 L29:
05D0 .dbline 196
05D0 ; //PORTF=a;
05D0 ; }
05D0 ; else if (all==0)//(johu!=3)&&(johu!=5) //5:7-bit 3:8-bit
05D0 20901600 lds R2,_all
05D4 2220 tst R2
05D6 09F0 breq X33
05D8 4DC0 xjmp L40
05DA X33:
05DA X17:
05DA .dbline 197
05DA ; {
05DA .dbline 198
05DA ; a=b;
05DA 20901800 lds R2,_b
05DE 20921700 sts _a,R2
05E2 .dbline 199
05E2 ; b=c;
05E2 20901900 lds R2,_c
05E6 20921800 sts _b,R2
05EA .dbline 200
05EA ; c=d;
05EA 20901A00 lds R2,_d
05EE 20921900 sts _c,R2
05F2 .dbline 201
05F2 ; d=UDR1;
05F2 20909C00 lds R2,156
05F6 20921A00 sts _d,R2
05FA .dbline 202
05FA ; if ((a=='c')&&(b=='i')&&(c=='r'))
05FA 80911700 lds R24,_a
05FE 8336 cpi R24,99
0600 C9F4 brne L42
0602 X18:
0602 80911800 lds R24,_b
0606 8936 cpi R24,105
0608 A9F4 brne L42
060A X19:
060A 80911900 lds R24,_c
060E 8237 cpi R24,114
0610 89F4 brne L42
0612 X20:
0612 .dbline 203
0612 ; {
0612 .dbline 204
0612 ; all=CIR;
0612 81E0 ldi R24,1
0614 80931600 sts _all,R24
0618 .dbline 205
0618 ; a=0;b=0;c=0;d=0;e=0;f=0;
0618 2224 clr R2
061A 20921700 sts _a,R2
061E .dbline 205
061E 20921800 sts _b,R2
0622 .dbline 205
0622 20921900 sts _c,R2
0626 .dbline 205
0626 20921A00 sts _d,R2
062A .dbline 205
062A 20921B00 sts _e,R2
062E .dbline 205
062E 20921C00 sts _f,R2
0632 .dbline 206
0632 ; return; }//RXlen=4;{johu=3;RXlen=3;return;}
0632 20C0 xjmp L17
0634 L42:
0634 .dbline 207
0634 ; else if ((a=='l')&&(b=='i')&&(c=='n')&&(d=='e'))
0634 80911700 lds R24,_a
0638 8C36 cpi R24,108
063A E1F4 brne L44
063C X21:
063C 80911800 lds R24,_b
0640 8936 cpi R24,105
0642 C1F4 brne L44
0644 X22:
0644 80911900 lds R24,_c
0648 8E36 cpi R24,110
064A A1F4 brne L44
064C X23:
064C 80911A00 lds R24,_d
0650 8536 cpi R24,101
0652 81F4 brne L44
0654 X24:
0654 .dbline 208
0654 ; {
0654 .dbline 209
0654 ; all=LINE;
0654 82E0 ldi R24,2
0656 80931600 sts _all,R24
065A .dbline 210
065A ; a=0;b=0;c=0;d=0;e=0;f=0;
065A 2224 clr R2
065C 20921700 sts _a,R2
0660 .dbline 210
0660 20921800 sts _b,R2
0664 .dbline 210
0664 20921900 sts _c,R2
0668 .dbline 210
0668 20921A00 sts _d,R2
066C .dbline 210
066C 20921B00 sts _e,R2
0670 .dbline 210
0670 20921C00 sts _f,R2
0674 .dbline 211
0674 ; return; }//RXlen=4;{johu=5;RXlen=3;return;}
0674 L44:
0674 .dbline 213
0674 ; ////////////////////////////////////////////////////////////////////
0674 ; }
0674 L40:
0674 L30:
0674 L19:
0674 .dbline -2
0674 L17:
0674 .dbline 0 ; func end
0674 0990 ld R0,y+
0676 0FBE out 0x3f,R0
0678 F991 ld R31,y+
067A E991 ld R30,y+
067C 9991 ld R25,y+
067E 8991 ld R24,y+
0680 3991 ld R19,y+
0682 2991 ld R18,y+
0684 1991 ld R17,y+
0686 0991 ld R16,y+
0688 5990 ld R5,y+
068A 4990 ld R4,y+
068C 3990 ld R3,y+
068E 2990 ld R2,y+
0690 1990 ld R1,y+
0692 0990 ld R0,y+
0694 1895 reti
0696 .dbend
0696 .dbfunc e number_uart1 _number_uart1 fV
0696 ; n -> y+0
0696 ; huanhang -> y+8
0696 ; NUM -> y+4
.even
0696 _number_uart1::
0696 0E940000 xcall push_arg4
069A 2497 sbiw R28,4
069C .dbline -1
069C .dbline 233
069C ; }
069C ;
069C ;
069C ;
069C ; /*void number(unsigned char X,unsigned char Y,unsigned char LEN,int NUM,unsigned char BLACK)
069C ; {
069C ; char code[]={'0','1','2','3','4','5','6','7','8','9',};
069C ; if (NUM<0)
069C ; {LCD_write_String1(X,Y,"-");NUM=-NUM;}
069C ; else
069C ; {LCD_write_String1(X,Y,"+");}
069C ; X=X+6;
069C ; while(LEN--)
069C ; {
069C ; LCD_write_String1(X+LEN*6,Y,& code[NUM%10]);
069C ; NUM=NUM/10;
069C ; }
069C ; }*/
069C ; void number_uart1(long NUM,char huanhang)
069C ; {long n=0;
069C .dbline 233
069C 80E0 ldi R24,0
069E 90E0 ldi R25,0
06A0 A0E0 ldi R26,0
06A2 B0E0 ldi R27,0
06A4 8883 std y+0,R24
06A6 9983 std y+1,R25
06A8 AA83 std y+2,R26
06AA BB83 std y+3,R27
06AC .dbline 234
06AC ; if (NUM<0){n=-NUM; while(!(UCSR1A&(1<<UDRE1))); UDR1='-';}
06AC 80E0 ldi R24,0
06AE 90E0 ldi R25,0
06B0 A0E0 ldi R26,0
06B2 B0E0 ldi R27,0
06B4 2C80 ldd R2,y+4
06B6 3D80 ldd R3,y+5
06B8 4E80 ldd R4,y+6
06BA 5F80 ldd R5,y+7
06BC 2816 cp R2,R24
06BE 3906 cpc R3,R25
06C0 4A06 cpc R4,R26
06C2 5B06 cpc R5,R27
06C4 84F4 brge L47
06C6 X34:
06C6 .dbline 234
06C6 .dbline 234
06C6 8101 movw R16,R2
06C8 9201 movw R18,R4
06CA 0E940000 xcall neg32
06CE 0883 std y+0,R16
06D0 1983 std y+1,R17
06D2 2A83 std y+2,R18
06D4 3B83 std y+3,R19
06D6 L49:
06D6 .dbline 234
06D6 L50:
06D6 .dbline 234
06D6 20909B00 lds R2,155
06DA 25FE sbrs R2,5
06DC FCCF rjmp L49
06DE X35:
06DE .dbline 234
06DE 8DE2 ldi R24,45
06E0 80939C00 sts 156,R24
06E4 .dbline 234
06E4 0FC0 xjmp L56
06E6 L47:
06E6 .dbline 235
06E6 ; else {n=NUM;while(!(UCSR1A&(1<<UDRE1))); UDR1='+';}
06E6 .dbline 235
06E6 2C80 ldd R2,y+4
06E8 3D80 ldd R3,y+5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -