📄 key5.lis
字号:
03C6 90E0 ldi R25,>_value_table+1
03C8 E0910000 lds R30,_j
03CC FF27 clr R31
03CE E80F add R30,R24
03D0 F91F adc R31,R25
03D2 2224 clr R2
03D4 2082 std z+0,R2
03D6 L48:
03D6 .dbline 107
03D6 ; LCD_write(2+j,0,'0'+value_table[j+1]);
03D6 80E0 ldi R24,<_value_table+1
03D8 90E0 ldi R25,>_value_table+1
03DA E0910000 lds R30,_j
03DE FF27 clr R31
03E0 E80F add R30,R24
03E2 F91F adc R31,R25
03E4 8081 ldd R24,z+0
03E6 9927 clr R25
03E8 C096 adiw R24,48
03EA 9983 std y+1,R25
03EC 8883 std y+0,R24
03EE 2227 clr R18
03F0 00910000 lds R16,_j
03F4 0E5F subi R16,254 ; addi 2
03F6 00D0 rcall _LCD_write
03F8 .dbline 108
03F8 ; break;
03F8 FCC0 rjmp L44
03FA L53:
03FA .dbline 110
03FA ; case KEY_DEC:
03FA ; value_table[j+1]--;
03FA 80E0 ldi R24,<_value_table+1
03FC 90E0 ldi R25,>_value_table+1
03FE 20900000 lds R2,_j
0402 3324 clr R3
0404 280E add R2,R24
0406 391E adc R3,R25
0408 E22D mov R30,R2
040A F32D mov R31,R3
040C 8081 ldd R24,z+0
040E 8150 subi R24,1
0410 8083 std z+0,R24
0412 .dbline 111
0412 ; if(value_table[j+1]>9) value_table[j+1]=9;
0412 80E0 ldi R24,<_value_table+1
0414 90E0 ldi R25,>_value_table+1
0416 E0910000 lds R30,_j
041A FF27 clr R31
041C E80F add R30,R24
041E F91F adc R31,R25
0420 2080 ldd R2,z+0
0422 89E0 ldi R24,9
0424 8215 cp R24,R2
0426 48F4 brsh L55
0428 .dbline 111
0428 80E0 ldi R24,<_value_table+1
042A 90E0 ldi R25,>_value_table+1
042C E0910000 lds R30,_j
0430 FF27 clr R31
0432 E80F add R30,R24
0434 F91F adc R31,R25
0436 89E0 ldi R24,9
0438 8083 std z+0,R24
043A L55:
043A .dbline 112
043A ; LCD_write(2+j,0,'0'+value_table[j+1]);
043A 80E0 ldi R24,<_value_table+1
043C 90E0 ldi R25,>_value_table+1
043E E0910000 lds R30,_j
0442 FF27 clr R31
0444 E80F add R30,R24
0446 F91F adc R31,R25
0448 8081 ldd R24,z+0
044A 9927 clr R25
044C C096 adiw R24,48
044E 9983 std y+1,R25
0450 8883 std y+0,R24
0452 2227 clr R18
0454 00910000 lds R16,_j
0458 0E5F subi R16,254 ; addi 2
045A 00D0 rcall _LCD_write
045C .dbline 113
045C ; break;
045C CAC0 rjmp L44
045E L60:
045E .dbline 115
045E ; case KEY_CU:
045E ; LCD_write(2+j,1,' ');
045E 80E2 ldi R24,32
0460 90E0 ldi R25,0
0462 9983 std y+1,R25
0464 8883 std y+0,R24
0466 21E0 ldi R18,1
0468 00910000 lds R16,_j
046C 0E5F subi R16,254 ; addi 2
046E 00D0 rcall _LCD_write
0470 .dbline 116
0470 ; j++;
0470 80910000 lds R24,_j
0474 8F5F subi R24,255 ; addi 1
0476 80930000 sts _j,R24
047A .dbline 117
047A ; j&=0x3;
047A 8370 andi R24,3
047C 80930000 sts _j,R24
0480 .dbline 118
0480 ; LCD_write(2+j,1,'^');
0480 8EE5 ldi R24,94
0482 90E0 ldi R25,0
0484 9983 std y+1,R25
0486 8883 std y+0,R24
0488 21E0 ldi R18,1
048A 00910000 lds R16,_j
048E 0E5F subi R16,254 ; addi 2
0490 00D0 rcall _LCD_write
0492 .dbline 119
0492 ; break;
0492 AFC0 rjmp L44
0494 L61:
0494 .dbline 121
0494 ; case KEY_OK:
0494 ; *value=value_table[1]*1000+ value_table[2]*100+value_table[3]*10+value_table[4];
0494 20910200 lds R18,_value_table+2
0498 3327 clr R19
049A 04E6 ldi R16,100
049C 10E0 ldi R17,0
049E 00D0 rcall mpy16s
04A0 202E mov R2,R16
04A2 312E mov R3,R17
04A4 20910100 lds R18,_value_table+1
04A8 3327 clr R19
04AA 08EE ldi R16,1000
04AC 13E0 ldi R17,3
04AE 00D0 rcall mpy16s
04B0 402E mov R4,R16
04B2 512E mov R5,R17
04B4 420C add R4,R2
04B6 531C adc R5,R3
04B8 20910300 lds R18,_value_table+3
04BC 3327 clr R19
04BE 0AE0 ldi R16,10
04C0 10E0 ldi R17,0
04C2 00D0 rcall mpy16s
04C4 400E add R4,R16
04C6 511E adc R5,R17
04C8 20900400 lds R2,_value_table+4
04CC 3324 clr R3
04CE 420C add R4,R2
04D0 531C adc R5,R3
04D2 E42F mov R30,R20
04D4 F52F mov R31,R21
04D6 5182 std z+1,R5
04D8 4082 std z+0,R4
04DA .dbline 122
04DA ; if(*value>2000) *value=2000;
04DA 80ED ldi R24,2000
04DC 97E0 ldi R25,7
04DE 2080 ldd R2,z+0
04E0 3180 ldd R3,z+1
04E2 8215 cp R24,R2
04E4 9305 cpc R25,R3
04E6 10F4 brsh L66
04E8 .dbline 122
04E8 9183 std z+1,R25
04EA 8083 std z+0,R24
04EC L66:
04EC .dbline 123
04EC ; ADC_GD=(*value)*K1;
04EC E42F mov R30,R20
04EE F52F mov R31,R21
04F0 2080 ldd R2,z+0
04F2 3180 ldd R3,z+1
04F4 00E0 ldi R16,<L36
04F6 10E0 ldi R17,>L36
04F8 00D0 rcall lpm32
04FA 3A93 st -y,R19
04FC 2A93 st -y,R18
04FE 1A93 st -y,R17
0500 0A93 st -y,R16
0502 022D mov R16,R2
0504 132D mov R17,R3
0506 1695 lsr R17
0508 0795 ror R16
050A 00D0 rcall int2fp
050C 3A93 st -y,R19
050E 2A93 st -y,R18
0510 1A93 st -y,R17
0512 0A93 st -y,R16
0514 00D0 rcall mpy32fs
0516 022D mov R16,R2
0518 132D mov R17,R3
051A 0170 andi R16,1
051C 1070 andi R17,0
051E 00D0 rcall int2fp
0520 3A93 st -y,R19
0522 2A93 st -y,R18
0524 1A93 st -y,R17
0526 0A93 st -y,R16
0528 00D0 rcall add32fs
052A 40900200 lds R4,_K1+2
052E 50900300 lds R5,_K1+2+1
0532 20900000 lds R2,_K1
0536 30900100 lds R3,_K1+1
053A 5A92 st -y,R5
053C 4A92 st -y,R4
053E 3A92 st -y,R3
0540 2A92 st -y,R2
0542 00D0 rcall mpy32f
0544 EC2F mov R30,R28
0546 FD2F mov R31,R29
0548 0683 std z+6,R16
054A 1783 std z+7,R17
054C 2087 std z+8,R18
054E 3187 std z+9,R19
0550 EC2F mov R30,R28
0552 FD2F mov R31,R29
0554 2680 ldd R2,z+6
0556 3780 ldd R3,z+7
0558 4084 ldd R4,z+8
055A 5184 ldd R5,z+9
055C 5A92 st -y,R5
055E 4A92 st -y,R4
0560 3A92 st -y,R3
0562 2A92 st -y,R2
0564 00E0 ldi R16,<L37
0566 10E0 ldi R17,>L37
0568 00D0 rcall lpm32
056A 3A93 st -y,R19
056C 2A93 st -y,R18
056E 1A93 st -y,R17
0570 0A93 st -y,R16
0572 00D0 rcall cmp32f
0574 C4F0 brlt L68
0576 EC2F mov R30,R28
0578 FD2F mov R31,R29
057A 2680 ldd R2,z+6
057C 3780 ldd R3,z+7
057E 4084 ldd R4,z+8
0580 5184 ldd R5,z+9
0582 5A92 st -y,R5
0584 4A92 st -y,R4
0586 3A92 st -y,R3
0588 2A92 st -y,R2
058A 00E0 ldi R16,<L37
058C 10E0 ldi R17,>L37
058E 00D0 rcall lpm32
0590 3A93 st -y,R19
0592 2A93 st -y,R18
0594 1A93 st -y,R17
0596 0A93 st -y,R16
0598 00D0 rcall sub32f
059A 00D0 rcall fp2int
059C 602F mov R22,R16
059E 712F mov R23,R17
05A0 6050 subi R22,0 ; offset = 32768
05A2 7048 sbci R23,128
05A4 09C0 rjmp L69
05A6 L68:
05A6 EC2F mov R30,R28
05A8 FD2F mov R31,R29
05AA 0681 ldd R16,z+6
05AC 1781 ldd R17,z+7
05AE 2085 ldd R18,z+8
05B0 3185 ldd R19,z+9
05B2 00D0 rcall fp2int
05B4 602F mov R22,R16
05B6 712F mov R23,R17
05B8 L69:
05B8 70930100 sts _ADC_GD+1,R23
05BC 60930000 sts _ADC_GD,R22
05C0 L70:
05C0 .dbline 125
05C0 ; case KEY_FN:
05C0 ; mode=1;
05C0 81E0 ldi R24,1
05C2 80930000 sts _mode,R24
05C6 .dbline 126
05C6 ; LCD_write_string(0,1," ^ +/-ing...");
05C6 80E0 ldi R24,<L71
05C8 90E0 ldi R25,>L71
05CA 9983 std y+1,R25
05CC 8883 std y+0,R24
05CE 21E0 ldi R18,1
05D0 0027 clr R16
05D2 00D0 rcall _LCD_write_string
05D4 .dbline 127
05D4 ; LCD_display(2,0,4,*value);
05D4 E42F mov R30,R20
05D6 F52F mov R31,R21
05D8 2080 ldd R2,z+0
05DA 3180 ldd R3,z+1
05DC 4424 clr R4
05DE 5524 clr R5
05E0 2A82 std y+2,R2
05E2 3B82 std y+3,R3
05E4 4C82 std y+4,R4
05E6 5D82 std y+5,R5
05E8 84E0 ldi R24,4
05EA 8883 std y+0,R24
05EC 2227 clr R18
05EE 02E0 ldi R16,2
05F0 00D0 rcall _LCD_display
05F2 .dbline 128
05F2 ; break;
05F2 L43:
05F2 L44:
05F2 .dbline 130
05F2 L25:
05F2 .dbline -2
05F2 .dbline 131
05F2 ; }
05F2 ; }
05F2 ; }
05F2 L23:
05F2 2E96 adiw R28,14
05F4 00D0 rcall pop_gset3
05F6 .dbline 0 ; func end
05F6 0895 ret
05F8 .dbsym r temp 22 c
05F8 .dbsym r value 20 pi
05F8 .dbsym l data_length 20 c
05F8 .dbsym r y 22 c
05F8 .dbsym r x 10 c
05F8 .dbend
.area data(ram, con, rel)
0000 .dbfile D:\hujie\key5.c
0000 L71:
0000 .blkb 18
.area idata
0000 20202020205E20202B2F2D696E672E2E .byte 32,32,32,32,32,94,32,32,43,47,45,'i,'n,'g,46,46
0010 2E00 .byte 46,0
.area data(ram, con, rel)
0012 .dbfile D:\hujie\key5.c
.area lit(rom, con, rel)
0000 L37:
0000 00000047 .word 0x0,0x4700
0004 L36:
0004 00000040 .word 0x0,0x4000
.area data(ram, con, rel)
0012 .dbfile D:\hujie\key5.c
0012 L30:
0012 .blkb 17
.area idata
0012 20205E20202020736574696E672E2E2E .byte 32,32,94,32,32,32,32,'s,'e,'t,'i,'n,'g,46,46,46
0022 00 .byte 0
.area data(ram, con, rel)
0023 .dbfile D:\hujie\key5.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -