📄 key5.lis
字号:
014C 8083 std z+0,R24
014E L32:
014E .dbline 89
014E ; ADC_GD=(*value)*K1;
014E E42F mov R30,R20
0150 F52F mov R31,R21
0152 2080 ldd R2,z+0
0154 3180 ldd R3,z+1
0156 00E0 ldi R16,<L36
0158 10E0 ldi R17,>L36
015A 00D0 rcall lpm32
015C 3A93 st -y,R19
015E 2A93 st -y,R18
0160 1A93 st -y,R17
0162 0A93 st -y,R16
0164 022D mov R16,R2
0166 132D mov R17,R3
0168 1695 lsr R17
016A 0795 ror R16
016C 00D0 rcall int2fp
016E 3A93 st -y,R19
0170 2A93 st -y,R18
0172 1A93 st -y,R17
0174 0A93 st -y,R16
0176 00D0 rcall mpy32fs
0178 022D mov R16,R2
017A 132D mov R17,R3
017C 0170 andi R16,1
017E 1070 andi R17,0
0180 00D0 rcall int2fp
0182 3A93 st -y,R19
0184 2A93 st -y,R18
0186 1A93 st -y,R17
0188 0A93 st -y,R16
018A 00D0 rcall add32fs
018C 40900200 lds R4,_K1+2
0190 50900300 lds R5,_K1+2+1
0194 20900000 lds R2,_K1
0198 30900100 lds R3,_K1+1
019C 5A92 st -y,R5
019E 4A92 st -y,R4
01A0 3A92 st -y,R3
01A2 2A92 st -y,R2
01A4 00D0 rcall mpy32f
01A6 EC2F mov R30,R28
01A8 FD2F mov R31,R29
01AA 0683 std z+6,R16
01AC 1783 std z+7,R17
01AE 2087 std z+8,R18
01B0 3187 std z+9,R19
01B2 EC2F mov R30,R28
01B4 FD2F mov R31,R29
01B6 2680 ldd R2,z+6
01B8 3780 ldd R3,z+7
01BA 4084 ldd R4,z+8
01BC 5184 ldd R5,z+9
01BE 5A92 st -y,R5
01C0 4A92 st -y,R4
01C2 3A92 st -y,R3
01C4 2A92 st -y,R2
01C6 00E0 ldi R16,<L37
01C8 10E0 ldi R17,>L37
01CA 00D0 rcall lpm32
01CC 3A93 st -y,R19
01CE 2A93 st -y,R18
01D0 1A93 st -y,R17
01D2 0A93 st -y,R16
01D4 00D0 rcall cmp32f
01D6 D4F0 brlt L34
01D8 EC2F mov R30,R28
01DA FD2F mov R31,R29
01DC 2680 ldd R2,z+6
01DE 3780 ldd R3,z+7
01E0 4084 ldd R4,z+8
01E2 5184 ldd R5,z+9
01E4 5A92 st -y,R5
01E6 4A92 st -y,R4
01E8 3A92 st -y,R3
01EA 2A92 st -y,R2
01EC 00E0 ldi R16,<L37
01EE 10E0 ldi R17,>L37
01F0 00D0 rcall lpm32
01F2 3A93 st -y,R19
01F4 2A93 st -y,R18
01F6 1A93 st -y,R17
01F8 0A93 st -y,R16
01FA 00D0 rcall sub32f
01FC 00D0 rcall fp2int
01FE 802F mov R24,R16
0200 912F mov R25,R17
0202 8050 subi R24,0 ; offset = 32768
0204 9048 sbci R25,128
0206 A82E mov R10,R24
0208 B92E mov R11,R25
020A 09C0 rjmp L35
020C L34:
020C EC2F mov R30,R28
020E FD2F mov R31,R29
0210 0681 ldd R16,z+6
0212 1781 ldd R17,z+7
0214 2085 ldd R18,z+8
0216 3185 ldd R19,z+9
0218 00D0 rcall fp2int
021A A02E mov R10,R16
021C B12E mov R11,R17
021E L35:
021E B0920100 sts _ADC_GD+1,R11
0222 A0920000 sts _ADC_GD,R10
0226 .dbline 90
0226 ; LCD_display(2,0,4,*value);
0226 E42F mov R30,R20
0228 F52F mov R31,R21
022A 2080 ldd R2,z+0
022C 3180 ldd R3,z+1
022E 4424 clr R4
0230 5524 clr R5
0232 2A82 std y+2,R2
0234 3B82 std y+3,R3
0236 4C82 std y+4,R4
0238 5D82 std y+5,R5
023A 84E0 ldi R24,4
023C 8883 std y+0,R24
023E 2227 clr R18
0240 02E0 ldi R16,2
0242 00D0 rcall _LCD_display
0244 .dbline 91
0244 ; break;
0244 D6C1 rjmp L25
0246 L38:
0246 .dbline 93
0246 ; case KEY_DEC:
0246 ; (*value)--;
0246 E42F mov R30,R20
0248 F52F mov R31,R21
024A 8081 ldd R24,z+0
024C 9181 ldd R25,z+1
024E 0197 sbiw R24,1
0250 9183 std z+1,R25
0252 8083 std z+0,R24
0254 .dbline 94
0254 ; if(*value>2000) (*value)=0;
0254 80ED ldi R24,2000
0256 97E0 ldi R25,7
0258 2080 ldd R2,z+0
025A 3180 ldd R3,z+1
025C 8215 cp R24,R2
025E 9305 cpc R25,R3
0260 20F4 brsh L39
0262 .dbline 94
0262 2224 clr R2
0264 3324 clr R3
0266 3182 std z+1,R3
0268 2082 std z+0,R2
026A L39:
026A .dbline 95
026A ; ADC_GD=(*value)*K1;
026A E42F mov R30,R20
026C F52F mov R31,R21
026E 2080 ldd R2,z+0
0270 3180 ldd R3,z+1
0272 00E0 ldi R16,<L36
0274 10E0 ldi R17,>L36
0276 00D0 rcall lpm32
0278 3A93 st -y,R19
027A 2A93 st -y,R18
027C 1A93 st -y,R17
027E 0A93 st -y,R16
0280 022D mov R16,R2
0282 132D mov R17,R3
0284 1695 lsr R17
0286 0795 ror R16
0288 00D0 rcall int2fp
028A 3A93 st -y,R19
028C 2A93 st -y,R18
028E 1A93 st -y,R17
0290 0A93 st -y,R16
0292 00D0 rcall mpy32fs
0294 022D mov R16,R2
0296 132D mov R17,R3
0298 0170 andi R16,1
029A 1070 andi R17,0
029C 00D0 rcall int2fp
029E 3A93 st -y,R19
02A0 2A93 st -y,R18
02A2 1A93 st -y,R17
02A4 0A93 st -y,R16
02A6 00D0 rcall add32fs
02A8 40900200 lds R4,_K1+2
02AC 50900300 lds R5,_K1+2+1
02B0 20900000 lds R2,_K1
02B4 30900100 lds R3,_K1+1
02B8 5A92 st -y,R5
02BA 4A92 st -y,R4
02BC 3A92 st -y,R3
02BE 2A92 st -y,R2
02C0 00D0 rcall mpy32f
02C2 EC2F mov R30,R28
02C4 FD2F mov R31,R29
02C6 0287 std z+10,R16
02C8 1387 std z+11,R17
02CA 2487 std z+12,R18
02CC 3587 std z+13,R19
02CE EC2F mov R30,R28
02D0 FD2F mov R31,R29
02D2 2284 ldd R2,z+10
02D4 3384 ldd R3,z+11
02D6 4484 ldd R4,z+12
02D8 5584 ldd R5,z+13
02DA 5A92 st -y,R5
02DC 4A92 st -y,R4
02DE 3A92 st -y,R3
02E0 2A92 st -y,R2
02E2 00E0 ldi R16,<L37
02E4 10E0 ldi R17,>L37
02E6 00D0 rcall lpm32
02E8 3A93 st -y,R19
02EA 2A93 st -y,R18
02EC 1A93 st -y,R17
02EE 0A93 st -y,R16
02F0 00D0 rcall cmp32f
02F2 D4F0 brlt L41
02F4 EC2F mov R30,R28
02F6 FD2F mov R31,R29
02F8 2284 ldd R2,z+10
02FA 3384 ldd R3,z+11
02FC 4484 ldd R4,z+12
02FE 5584 ldd R5,z+13
0300 5A92 st -y,R5
0302 4A92 st -y,R4
0304 3A92 st -y,R3
0306 2A92 st -y,R2
0308 00E0 ldi R16,<L37
030A 10E0 ldi R17,>L37
030C 00D0 rcall lpm32
030E 3A93 st -y,R19
0310 2A93 st -y,R18
0312 1A93 st -y,R17
0314 0A93 st -y,R16
0316 00D0 rcall sub32f
0318 00D0 rcall fp2int
031A 802F mov R24,R16
031C 912F mov R25,R17
031E 8050 subi R24,0 ; offset = 32768
0320 9048 sbci R25,128
0322 A82E mov R10,R24
0324 B92E mov R11,R25
0326 09C0 rjmp L42
0328 L41:
0328 EC2F mov R30,R28
032A FD2F mov R31,R29
032C 0285 ldd R16,z+10
032E 1385 ldd R17,z+11
0330 2485 ldd R18,z+12
0332 3585 ldd R19,z+13
0334 00D0 rcall fp2int
0336 A02E mov R10,R16
0338 B12E mov R11,R17
033A L42:
033A B0920100 sts _ADC_GD+1,R11
033E A0920000 sts _ADC_GD,R10
0342 .dbline 96
0342 ; LCD_display(2,0,4,*value);
0342 E42F mov R30,R20
0344 F52F mov R31,R21
0346 2080 ldd R2,z+0
0348 3180 ldd R3,z+1
034A 4424 clr R4
034C 5524 clr R5
034E 2A82 std y+2,R2
0350 3B82 std y+3,R3
0352 4C82 std y+4,R4
0354 5D82 std y+5,R5
0356 84E0 ldi R24,4
0358 8883 std y+0,R24
035A 2227 clr R18
035C 02E0 ldi R16,2
035E 00D0 rcall _LCD_display
0360 .dbline 97
0360 ; break;
0360 .dbline 99
0360 ; }
0360 ; }
0360 48C1 rjmp L25
0362 L24:
0362 .dbline 101
0362 ; else
0362 ; {
0362 .dbline 102
0362 ; switch (temp)
0362 7727 clr R23
0364 6130 cpi R22,1
0366 E0E0 ldi R30,0
0368 7E07 cpc R23,R30
036A 09F4 brne X5
036C 29C1 rjmp L70
036E X5:
036E 6230 cpi R22,2
0370 E0E0 ldi R30,0
0372 7E07 cpc R23,R30
0374 09F4 brne X6
0376 73C0 rjmp L60
0378 X6:
0378 6330 cpi R22,3
037A E0E0 ldi R30,0
037C 7E07 cpc R23,R30
037E 59F0 breq L46
0380 6430 cpi R22,4
0382 E0E0 ldi R30,0
0384 7E07 cpc R23,R30
0386 09F4 brne X7
0388 38C0 rjmp L53
038A X7:
038A 6530 cpi R22,5
038C E0E0 ldi R30,0
038E 7E07 cpc R23,R30
0390 09F4 brne X8
0392 80C0 rjmp L61
0394 X8:
0394 2EC1 rjmp L43
0396 X2:
0396 .dbline 103
0396 ; {
0396 L46:
0396 .dbline 105
0396 ; case KEY_INC:
0396 ; value_table[j+1]++;
0396 80E0 ldi R24,<_value_table+1
0398 90E0 ldi R25,>_value_table+1
039A 20900000 lds R2,_j
039E 3324 clr R3
03A0 280E add R2,R24
03A2 391E adc R3,R25
03A4 E22D mov R30,R2
03A6 F32D mov R31,R3
03A8 8081 ldd R24,z+0
03AA 8F5F subi R24,255 ; addi 1
03AC 8083 std z+0,R24
03AE .dbline 106
03AE ; if(value_table[j+1]>9) value_table[j+1]=0;
03AE 80E0 ldi R24,<_value_table+1
03B0 90E0 ldi R25,>_value_table+1
03B2 E0910000 lds R30,_j
03B6 FF27 clr R31
03B8 E80F add R30,R24
03BA F91F adc R31,R25
03BC 2080 ldd R2,z+0
03BE 89E0 ldi R24,9
03C0 8215 cp R24,R2
03C2 48F4 brsh L48
03C4 .dbline 106
03C4 80E0 ldi R24,<_value_table+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -