📄 macoh.lis
字号:
02E0 L102:
02E0 8B81 ldd R24,y+3
02E2 9C81 ldd R25,y+4
02E4 8731 cpi R24,23
02E6 E0E0 ldi R30,0
02E8 9E07 cpc R25,R30
02EA 09F4 brne X34
02EC 2BC2 rjmp L53
02EE X34:
02EE 28C2 rjmp L21
02F0 X1:
02F0 .dbline 153
02F0 ; {
02F0 L24:
02F0 .dbline 155
02F0 ; case set:
02F0 ; if(fbit==2)
02F0 8F85 ldd R24,y+15
02F2 8230 cpi R24,2
02F4 A9F4 brne L25
02F6 .dbline 156
02F6 ; {
02F6 .dbline 157
02F6 ; timeset[0]=process_add();
02F6 63DC rcall _process_add
02F8 10930100 sts _timeset+1,R17
02FC 00930000 sts _timeset,R16
0300 30930300 sts _timeset+2+1,R19
0304 20930200 sts _timeset+2,R18
0308 .dbline 158
0308 ; EEPROM_WRITE(0x40,timeset[0]);
0308 84E0 ldi R24,4
030A 90E0 ldi R25,0
030C 9983 std y+1,R25
030E 8883 std y+0,R24
0310 20E0 ldi R18,<_timeset
0312 30E0 ldi R19,>_timeset
0314 00E4 ldi R16,64
0316 10E0 ldi R17,0
0318 00D0 rcall _EEPROMWriteBytes_extIO
031A .dbline 159
031A ; fbit=0;
031A 0024 clr R0
031C 0F86 std y+15,R0
031E .dbline 160
031E ; }
031E 10C2 rjmp L22
0320 L25:
0320 .dbline 162
0320 ; else
0320 ; {
0320 .dbline 163
0320 ; cbit=1;
0320 0024 clr R0
0322 0394 inc R0
0324 088A std y+16,R0
0326 .dbline 164
0326 ; sandcnd_display(tr,trdata_x[0],0);
0326 2224 clr R2
0328 2A82 std y+2,R2
032A 20909600 lds R2,_trdata_x
032E 3324 clr R3
0330 4424 clr R4
0332 5524 clr R5
0334 4882 std y+0,R4
0336 5982 std y+1,R5
0338 9101 movw R18,R2
033A 00E0 ldi R16,<_tr
033C 10E0 ldi R17,>_tr
033E 50D8 rcall _sandcnd_display
0340 96C1 rjmp L28
0342 L27:
0342 .dbline 166
0342 ; while(1)
0342 ; {//-------------------------------------------------------------------------------trdata
0342 .dbline 167
0342 ; o=tr;
0342 80E0 ldi R24,<_tr
0344 90E0 ldi R25,>_tr
0346 90939100 sts _o+1,R25
034A 80939000 sts _o,R24
034E .dbline 168
034E ; p[1]+=25;
034E 80918E00 lds R24,_p
0352 90918F00 lds R25,_p+1
0356 0196 adiw R24,1
0358 FC01 movw R30,R24
035A 8081 ldd R24,z+0
035C 875E subi R24,231 ; addi 25
035E 8083 std z+0,R24
0360 .dbline 169
0360 ; key=display_flash(fbit,cbit,2);
0360 82E0 ldi R24,2
0362 8883 std y+0,R24
0364 2889 ldd R18,y+16
0366 0F85 ldd R16,y+15
0368 5FD8 rcall _display_flash
036A 00939900 sts _key,R16
036E .dbline 170
036E ; p[1]-=25;
036E 80918E00 lds R24,_p
0372 90918F00 lds R25,_p+1
0376 0196 adiw R24,1
0378 FC01 movw R30,R24
037A 8081 ldd R24,z+0
037C 8951 subi R24,25
037E 8083 std z+0,R24
0380 .dbline 171
0380 ; if(keybit==0xf7) {keybit=0; keytime=0; return;}
0380 80910000 lds R24,_keybit
0384 873F cpi R24,247
0386 49F4 brne L30
0388 .dbline 171
0388 .dbline 171
0388 2224 clr R2
038A 20920000 sts _keybit,R2
038E .dbline 171
038E 3324 clr R3
0390 30920100 sts _keytime+1,R3
0394 20920000 sts _keytime,R2
0398 .dbline 171
0398 F0C7 rjmp L12
039A L30:
039A .dbline 172
039A ; switch (key)
039A 20909900 lds R2,_key
039E 3324 clr R3
03A0 3E82 std y+6,R3
03A2 2D82 std y+5,R2
03A4 C101 movw R24,R2
03A6 8331 cpi R24,19
03A8 E0E0 ldi R30,0
03AA 9E07 cpc R25,R30
03AC 09F4 brne X35
03AE 0CC7 rjmp L55
03B0 X35:
03B0 83E1 ldi R24,19
03B2 8215 cp R24,R2
03B4 9305 cpc R25,R3
03B6 B4F0 brlt L83
03B8 L82:
03B8 8D81 ldd R24,y+5
03BA 9E81 ldd R25,y+6
03BC 8730 cpi R24,7
03BE E0E0 ldi R30,0
03C0 9E07 cpc R25,R30
03C2 C1F0 breq L35
03C4 8B30 cpi R24,11
03C6 E0E0 ldi R30,0
03C8 9E07 cpc R25,R30
03CA 09F4 brne X36
03CC 45C1 rjmp L77
03CE X36:
03CE 8D30 cpi R24,13
03D0 E0E0 ldi R30,0
03D2 9E07 cpc R25,R30
03D4 09F4 brne X37
03D6 FAC0 rjmp L68
03D8 X37:
03D8 8E30 cpi R24,14
03DA E0E0 ldi R30,0
03DC 9E07 cpc R25,R30
03DE 09F4 brne X38
03E0 B3C0 rjmp L59
03E2 X38:
03E2 45C1 rjmp L32
03E4 L83:
03E4 8D81 ldd R24,y+5
03E6 9E81 ldd R25,y+6
03E8 8731 cpi R24,23
03EA E0E0 ldi R30,0
03EC 9E07 cpc R25,R30
03EE 09F4 brne X39
03F0 A9C1 rjmp L53
03F2 X39:
03F2 3DC1 rjmp L32
03F4 X2:
03F4 .dbline 173
03F4 ; {
03F4 L35:
03F4 .dbline 175
03F4 ; case set:
03F4 ; if(fbit==2)
03F4 8F85 ldd R24,y+15
03F6 8230 cpi R24,2
03F8 51F5 brne L36
03FA .dbline 176
03FA ; {
03FA .dbline 177
03FA ; trdata=0;
03FA 2224 clr R2
03FC 20920500 sts _trdata,R2
0400 .dbline 178
0400 ; trdata+= ((p[1]-25)*10);
0400 E0918E00 lds R30,_p
0404 F0918F00 lds R31,_p+1
0408 2180 ldd R2,z+1
040A 8AE0 ldi R24,10
040C 829D mul R24,R2
040E 802D mov R24,R0
0410 8A5F subi R24,250
0412 20900500 lds R2,_trdata
0416 280E add R2,R24
0418 20920500 sts _trdata,R2
041C .dbline 179
041C ; trdata+= p[0];
041C E0918E00 lds R30,_p
0420 F0918F00 lds R31,_p+1
0424 2080 ldd R2,z+0
0426 30900500 lds R3,_trdata
042A 320C add R3,R2
042C 30920500 sts _trdata,R3
0430 .dbline 180
0430 ; trdata_x[0]=trdata;
0430 232C mov R2,R3
0432 20929600 sts _trdata_x,R2
0436 .dbline 181
0436 ; EEPROM_WRITE(0x30,trdata_x);
0436 83E0 ldi R24,3
0438 90E0 ldi R25,0
043A 9983 std y+1,R25
043C 8883 std y+0,R24
043E 20E0 ldi R18,<_trdata_x
0440 30E0 ldi R19,>_trdata_x
0442 00E3 ldi R16,48
0444 10E0 ldi R17,0
0446 00D0 rcall _EEPROMWriteBytes_extIO
0448 .dbline 182
0448 ; fbit=0;
0448 0024 clr R0
044A 0F86 std y+15,R0
044C .dbline 183
044C ; }
044C 10C1 rjmp L33
044E L36:
044E .dbline 186
044E ; else
044E ;
044E ; { cbit=pontdata;
044E .dbline 186
044E 20900400 lds R2,_pontdata
0452 288A std y+16,R2
0454 77C0 rjmp L39
0456 L38:
0456 .dbline 188
0456 ; while(1)
0456 ; {//----------------------------------------------------------------pont
0456 .dbline 189
0456 ; sandchar_display(pont,ponddd);
0456 20E0 ldi R18,<_ponddd
0458 30E0 ldi R19,>_ponddd
045A 00E0 ldi R16,<_pont
045C 10E0 ldi R17,>_pont
045E DBD7 rcall _sandchar_display
0460 .dbline 190
0460 ; ponddd[cbit]+=25;
0460 80E0 ldi R24,<_ponddd
0462 90E0 ldi R25,>_ponddd
0464 2888 ldd R2,y+16
0466 3324 clr R3
0468 280E add R2,R24
046A 391E adc R3,R25
046C F101 movw R30,R2
046E 8081 ldd R24,z+0
0470 875E subi R24,231 ; addi 25
0472 8083 std z+0,R24
0474 .dbline 191
0474 ; key=display_flash(fbit,cbit,2);
0474 82E0 ldi R24,2
0476 8883 std y+0,R24
0478 2889 ldd R18,y+16
047A 0F85 ldd R16,y+15
047C D5D7 rcall _display_flash
047E 00939900 sts _key,R16
0482 .dbline 192
0482 ; ponddd[cbit]-=25;
0482 80E0 ldi R24,<_ponddd
0484 90E0 ldi R25,>_ponddd
0486 2888 ldd R2,y+16
0488 3324 clr R3
048A 280E add R2,R24
048C 391E adc R3,R25
048E F101 movw R30,R2
0490 8081 ldd R24,z+0
0492 8951 subi R24,25
0494 8083 std z+0,R24
0496 .dbline 193
0496 ; if(keybit==0xf7) {keybit=0; keytime=0; return;}
0496 80910000 lds R24,_keybit
049A 873F cpi R24,247
049C 49F4 brne L41
049E .dbline 193
049E .dbline 193
049E 2224 clr R2
04A0 20920000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -