📄 mian.lis
字号:
04DE 30E0 ldi R19,0
04E0 F4D5 rcall _Delay
04E2 .dbline 191
04E2 ; if(AddKey==0)
04E2 8099 sbic 0x10,0
04E4 2DC0 rjmp L77
04E6 X11:
04E6 .dbline 192
04E6 ; {
04E6 .dbline 193
04E6 ; if(Per<2000)
04E6 80910100 lds R24,_Per
04EA 90910200 lds R25,_Per+1
04EE 803D cpi R24,208
04F0 E7E0 ldi R30,7
04F2 9E07 cpc R25,R30
04F4 28F4 brsh L79
04F6 X12:
04F6 .dbline 194
04F6 ; Per++;
04F6 0196 adiw R24,1
04F8 90930200 sts _Per+1,R25
04FC 80930100 sts _Per,R24
0500 L79:
0500 .dbline 195
0500 ; if(keypress<250)
0500 80910000 lds R24,_keypress
0504 8A3F cpi R24,250
0506 18F4 brsh L81
0508 X13:
0508 .dbline 196
0508 ; keypress++;
0508 8F5F subi R24,255 ; addi 1
050A 80930000 sts _keypress,R24
050E L81:
050E .dbline 197
050E ; if(keypress<30)
050E 80910000 lds R24,_keypress
0512 8E31 cpi R24,30
0514 30F4 brsh L83
0516 X14:
0516 .dbline 198
0516 ; Delay(50000);
0516 00E5 ldi R16,80
0518 13EC ldi R17,195
051A 20E0 ldi R18,0
051C 30E0 ldi R19,0
051E D5D5 rcall _Delay
0520 0FC0 rjmp L84
0522 L83:
0522 .dbline 199
0522 ; else if(keypress<100)
0522 80910000 lds R24,_keypress
0526 8436 cpi R24,100
0528 30F4 brsh L85
052A X15:
052A .dbline 200
052A ; Delay(10000);
052A 00E1 ldi R16,16
052C 17E2 ldi R17,39
052E 20E0 ldi R18,0
0530 30E0 ldi R19,0
0532 CBD5 rcall _Delay
0534 05C0 rjmp L86
0536 L85:
0536 .dbline 202
0536 ; else
0536 ; Delay(1000);
0536 08EE ldi R16,232
0538 13E0 ldi R17,3
053A 20E0 ldi R18,0
053C 30E0 ldi R19,0
053E C5D5 rcall _Delay
0540 L86:
0540 L84:
0540 .dbline 203
0540 ; }
0540 L77:
0540 .dbline 204
0540 ; }
0540 L75:
0540 .dbline 205
0540 ; if(SubbKey==0)
0540 8199 sbic 0x10,1
0542 36C0 rjmp L87
0544 X16:
0544 .dbline 206
0544 ; {
0544 .dbline 207
0544 ; Delay(10);
0544 0AE0 ldi R16,10
0546 10E0 ldi R17,0
0548 20E0 ldi R18,0
054A 30E0 ldi R19,0
054C BED5 rcall _Delay
054E .dbline 208
054E ; if(SubbKey==0)
054E 8199 sbic 0x10,1
0550 2FC0 rjmp L89
0552 X17:
0552 .dbline 209
0552 ; {
0552 .dbline 210
0552 ; if(Per>400)
0552 80E9 ldi R24,400
0554 91E0 ldi R25,1
0556 20900100 lds R2,_Per
055A 30900200 lds R3,_Per+1
055E 8215 cp R24,R2
0560 9305 cpc R25,R3
0562 30F4 brsh L91
0564 X18:
0564 .dbline 211
0564 ; Per--;
0564 C101 movw R24,R2
0566 0197 sbiw R24,1
0568 90930200 sts _Per+1,R25
056C 80930100 sts _Per,R24
0570 L91:
0570 .dbline 212
0570 ; if(keypress<250)
0570 80910000 lds R24,_keypress
0574 8A3F cpi R24,250
0576 18F4 brsh L93
0578 X19:
0578 .dbline 213
0578 ; keypress++;
0578 8F5F subi R24,255 ; addi 1
057A 80930000 sts _keypress,R24
057E L93:
057E .dbline 214
057E ; if(keypress<30)
057E 80910000 lds R24,_keypress
0582 8E31 cpi R24,30
0584 30F4 brsh L95
0586 X20:
0586 .dbline 215
0586 ; Delay(50000);
0586 00E5 ldi R16,80
0588 13EC ldi R17,195
058A 20E0 ldi R18,0
058C 30E0 ldi R19,0
058E 9DD5 rcall _Delay
0590 0FC0 rjmp L96
0592 L95:
0592 .dbline 216
0592 ; else if(keypress<100)
0592 80910000 lds R24,_keypress
0596 8436 cpi R24,100
0598 30F4 brsh L97
059A X21:
059A .dbline 217
059A ; Delay(10000);
059A 00E1 ldi R16,16
059C 17E2 ldi R17,39
059E 20E0 ldi R18,0
05A0 30E0 ldi R19,0
05A2 93D5 rcall _Delay
05A4 05C0 rjmp L98
05A6 L97:
05A6 .dbline 219
05A6 ; else
05A6 ; Delay(1000);
05A6 08EE ldi R16,232
05A8 13E0 ldi R17,3
05AA 20E0 ldi R18,0
05AC 30E0 ldi R19,0
05AE 8DD5 rcall _Delay
05B0 L98:
05B0 L96:
05B0 .dbline 220
05B0 ; }
05B0 L89:
05B0 .dbline 221
05B0 ; }
05B0 L87:
05B0 .dbline 223
05B0 ;
05B0 ; if(CalTemp!=Per)
05B0 20900100 lds R2,_Per
05B4 30900200 lds R3,_Per+1
05B8 40900300 lds R4,_CalTemp
05BC 50900400 lds R5,_CalTemp+1
05C0 4214 cp R4,R2
05C2 5304 cpc R5,R3
05C4 09F4 brne X25
05C6 EFC0 rjmp L99
05C8 X25:
05C8 X22:
05C8 .dbline 224
05C8 ; {
05C8 .dbline 225
05C8 ; if(Per<1250)
05C8 C101 movw R24,R2
05CA 823E cpi R24,226
05CC A4E0 ldi R26,4
05CE 9A07 cpc R25,R26
05D0 08F0 brlo X26
05D2 4BC0 rjmp L101
05D4 X26:
05D4 X23:
05D4 .dbline 226
05D4 ; {
05D4 .dbline 227
05D4 ; temp=Cal.OutM-Cal.OutL; //1600
05D4 20900500 lds R2,_Cal
05D8 30900600 lds R3,_Cal+1
05DC 40900700 lds R4,_Cal+2
05E0 50900800 lds R5,_Cal+2+1
05E4 4218 sub R4,R2
05E6 5308 sbc R5,R3
05E8 1201 movw R2,R4
05EA 4424 clr R4
05EC 5524 clr R5
05EE 2882 std y+0,R2
05F0 3982 std y+1,R3
05F2 4A82 std y+2,R4
05F4 5B82 std y+3,R5
05F6 .dbline 228
05F6 ; CalTemp=Per-400;
05F6 8059 subi R24,144
05F8 9140 sbci R25,1
05FA 90930400 sts _CalTemp+1,R25
05FE 80930300 sts _CalTemp,R24
0602 .dbline 229
0602 ; temp*=CalTemp;
0602 1C01 movw R2,R24
0604 4424 clr R4
0606 5524 clr R5
0608 0881 ldd R16,y+0
060A 1981 ldd R17,y+1
060C 2A81 ldd R18,y+2
060E 3B81 ldd R19,y+3
0610 5A92 st -y,R5
0612 4A92 st -y,R4
0614 3A92 st -y,R3
0616 2A92 st -y,R2
0618 00D0 rcall empy32u
061A 0883 std y+0,R16
061C 1983 std y+1,R17
061E 2A83 std y+2,R18
0620 3B83 std y+3,R19
0622 .dbline 230
0622 ; temp/=850;
0622 42E5 ldi R20,82
0624 53E0 ldi R21,3
0626 60E0 ldi R22,0
0628 70E0 ldi R23,0
062A 0881 ldd R16,y+0
062C 1981 ldd R17,y+1
062E 2A81 ldd R18,y+2
0630 3B81 ldd R19,y+3
0632 7A93 st -y,R23
0634 6A93 st -y,R22
0636 5A93 st -y,R21
0638 4A93 st -y,R20
063A 00D0 rcall div32u
063C 0883 std y+0,R16
063E 1983 std y+1,R17
0640 2A83 std y+2,R18
0642 3B83 std y+3,R19
0644 .dbline 231
0644 ; temp+=Cal.OutL;
0644 20900500 lds R2,_Cal
0648 30900600 lds R3,_Cal+1
064C 4424 clr R4
064E 5524 clr R5
0650 6880 ldd R6,y+0
0652 7980 ldd R7,y+1
0654 8A80 ldd R8,y+2
0656 9B80 ldd R9,y+3
0658 620C add R6,R2
065A 731C adc R7,R3
065C 841C adc R8,R4
065E 951C adc R9,R5
0660 6882 std y+0,R6
0662 7982 std y+1,R7
0664 8A82 std y+2,R8
0666 9B82 std y+3,R9
0668 .dbline 232
0668 ; }
0668 4EC0 rjmp L102
066A L101:
066A .dbline 234
066A ; else
066A ; {
066A .dbline 235
066A ; temp=Cal.OutH-Cal.OutM; //1600
066A 20900700 lds R2,_Cal+2
066E 30900800 lds R3,_Cal+2+1
0672 40900900 lds R4,_Cal+4
0676 50900A00 lds R5,_Cal+4+1
067A 4218 sub R4,R2
067C 5308 sbc R5,R3
067E 1201 movw R2,R4
0680 4424 clr R4
0682 5524 clr R5
0684 2882 std y+0,R2
0686 3982 std y+1,R3
0688 4A82 std y+2,R4
068A 5B82 std y+3,R5
068C .dbline 236
068C ; CalTemp=Per-1250;
068C 80910100 lds R24,_Per
0690 90910200 lds R25,_Per+1
0694 825E subi R24,226
0696 9440 sbci R25,4
0698 90930400 sts _CalTemp+1,R25
069C 80930300 sts _CalTemp,R24
06A0 .dbline 237
06A0 ; temp*=CalTemp;
06A0 1C01 movw R2,R24
06A2 4424 clr R4
06A4 5524 clr R5
06A6 0881 ldd R16,y+0
06A8 1981 ldd R17,y+1
06AA 2A81 ldd R18,y+2
06AC 3B81 ldd R19,y+3
06AE 5A92 st -y,R5
06B0 4A92 st -y,R4
06B2 3A92 st -y,R3
06B4 2A92 st -y,R2
06B6 00D0 rcall empy32u
06B8 0883 std y+0,R16
06BA 1983 std y+1,R17
06BC 2A83 std y+2,R18
06BE 3B83 std y+3,R19
06C0 .dbline 238
06C0 ; temp/=750;
06C0 4EEE ldi R20,238
06C2 52E0 ldi R21,2
06C4 60E0 ldi R22,0
06C6 70E0 ldi R23,0
06C8 0881 ldd R16,y+0
06CA 1981 ldd R17,y+1
06CC 2A81 ldd R18,y+2
06CE 3B81 ldd R19,y+3
06D0 7A93 st -y,R23
06D2 6A93 st -y,R22
06D4 5A93 st -y,R21
06D6 4A93 st -y,R20
06D8 00D0 rcall div32u
06DA 0883 std y+0,R16
06DC 1983 std y+1,R17
06DE 2A83 std y+2,R18
06E0 3B83 std y+3,R19
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -