📄 playedit.lis
字号:
0344 849F mul R24,R20
0346 80E2 ldi R24,32
0348 809D mul R24,R0
034A 600D add R22,R0
034C 711D adc R23,R1
034E .dbline 97
034E ; point += sizeof(FILE[0]);
034E 605E subi R22,224 ; offset = 32
0350 7F4F sbci R23,255
0352 .dbline 98
0352 FE01 movw R30,R28
0354 E05F subi R30,240 ; addi 272
0356 FE4F sbci R31,254
0358 2080 ldd R2,z+0
035A 3324 clr R3
035C FE01 movw R30,R28
035E EF5E subi R30,239 ; addi 273
0360 FE4F sbci R31,254
0362 3182 std z+1,R3
0364 2082 std z+0,R2
0366 0101 movw R0,R2
0368 2220 tst R2
036A 11F4 brne X2
036C 3320 tst R3
036E A9F0 breq L70
0370 X2:
0370 FE01 movw R30,R28
0372 EF5E subi R30,239 ; addi 273
0374 FE4F sbci R31,254
0376 8081 ldd R24,z+0
0378 9181 ldd R25,z+1
037A 8130 cpi R24,1
037C E0E0 ldi R30,0
037E 9E07 cpc R25,R30
0380 09F4 brne X6
0382 3BC0 xjmp L72
0384 X6:
0384 8230 cpi R24,2
0386 E0E0 ldi R30,0
0388 9E07 cpc R25,R30
038A 09F4 brne X7
038C 66C0 xjmp L77
038E X7:
038E 8330 cpi R24,3
0390 E0E0 ldi R30,0
0392 9E07 cpc R25,R30
0394 09F4 brne X8
0396 91C0 xjmp L82
0398 X8:
0398 3BCE xjmp L2
039A X3:
039A .dbline 98
039A ; switch(temp){
039A L70:
039A .dbline 99
039A ; case 0:FILE[active[day]].active = 0xff;
039A CE01 movw R24,R28
039C 0896 adiw R24,8
039E EA2D mov R30,R10
03A0 FF27 clr R31
03A2 E80F add R30,R24
03A4 F91F adc R31,R25
03A6 2080 ldd R2,z+0
03A8 80E2 ldi R24,32
03AA 829D mul R24,R2
03AC F001 movw R30,R0
03AE CE01 movw R24,R28
03B0 8C96 adiw R24,44
03B2 E80F add R30,R24
03B4 F91F adc R31,R25
03B6 8FEF ldi R24,255
03B8 8083 std z+0,R24
03BA .dbline 100
03BA ; point += active[day]*sizeof(FILE[0]);
03BA CE01 movw R24,R28
03BC 0896 adiw R24,8
03BE EA2D mov R30,R10
03C0 FF27 clr R31
03C2 E80F add R30,R24
03C4 F91F adc R31,R25
03C6 2080 ldd R2,z+0
03C8 80E2 ldi R24,32
03CA 829D mul R24,R2
03CC 600D add R22,R0
03CE 711D adc R23,R1
03D0 .dbline 101
03D0 ; EEPROMWriteBytes(point,&FILE[active[day]],sizeof(FILE[0]));
03D0 9927 clr R25
03D2 9983 std y+1,R25
03D4 8883 std y+0,R24
03D6 CE01 movw R24,R28
03D8 0896 adiw R24,8
03DA EA2D mov R30,R10
03DC FF27 clr R31
03DE E80F add R30,R24
03E0 F91F adc R31,R25
03E2 2080 ldd R2,z+0
03E4 80E2 ldi R24,32
03E6 829D mul R24,R2
03E8 9001 movw R18,R0
03EA CE01 movw R24,R28
03EC 4096 adiw R24,16
03EE 280F add R18,R24
03F0 391F adc R19,R25
03F2 8B01 movw R16,R22
03F4 0E940000 xcall _EEPROMWriteBytes
03F8 .dbline 102
03F8 ; break;
03F8 0BCE xjmp L2
03FA L72:
03FA .dbline 103
03FA ; case 1:FILE[active[day+1]].active = 0xff;
03FA CE01 movw R24,R28
03FC 0996 adiw R24,9
03FE EA2D mov R30,R10
0400 FF27 clr R31
0402 E80F add R30,R24
0404 F91F adc R31,R25
0406 2080 ldd R2,z+0
0408 80E2 ldi R24,32
040A 829D mul R24,R2
040C F001 movw R30,R0
040E CE01 movw R24,R28
0410 8C96 adiw R24,44
0412 E80F add R30,R24
0414 F91F adc R31,R25
0416 8FEF ldi R24,255
0418 8083 std z+0,R24
041A .dbline 104
041A ; point += active[day+1]*sizeof(FILE[0]);
041A CE01 movw R24,R28
041C 0996 adiw R24,9
041E EA2D mov R30,R10
0420 FF27 clr R31
0422 E80F add R30,R24
0424 F91F adc R31,R25
0426 2080 ldd R2,z+0
0428 80E2 ldi R24,32
042A 829D mul R24,R2
042C 600D add R22,R0
042E 711D adc R23,R1
0430 .dbline 105
0430 ; EEPROMWriteBytes(point,&FILE[active[day+1]],sizeof(FILE[0]));
0430 9927 clr R25
0432 9983 std y+1,R25
0434 8883 std y+0,R24
0436 CE01 movw R24,R28
0438 0996 adiw R24,9
043A EA2D mov R30,R10
043C FF27 clr R31
043E E80F add R30,R24
0440 F91F adc R31,R25
0442 2080 ldd R2,z+0
0444 80E2 ldi R24,32
0446 829D mul R24,R2
0448 9001 movw R18,R0
044A CE01 movw R24,R28
044C 4096 adiw R24,16
044E 280F add R18,R24
0450 391F adc R19,R25
0452 8B01 movw R16,R22
0454 0E940000 xcall _EEPROMWriteBytes
0458 .dbline 106
0458 ; break;
0458 DBCD xjmp L2
045A L77:
045A .dbline 107
045A ; case 2:FILE[active[day+2]].active = 0xff;
045A CE01 movw R24,R28
045C 0A96 adiw R24,10
045E EA2D mov R30,R10
0460 FF27 clr R31
0462 E80F add R30,R24
0464 F91F adc R31,R25
0466 2080 ldd R2,z+0
0468 80E2 ldi R24,32
046A 829D mul R24,R2
046C F001 movw R30,R0
046E CE01 movw R24,R28
0470 8C96 adiw R24,44
0472 E80F add R30,R24
0474 F91F adc R31,R25
0476 8FEF ldi R24,255
0478 8083 std z+0,R24
047A .dbline 108
047A ; point += active[day+2]*sizeof(FILE[0]);
047A CE01 movw R24,R28
047C 0A96 adiw R24,10
047E EA2D mov R30,R10
0480 FF27 clr R31
0482 E80F add R30,R24
0484 F91F adc R31,R25
0486 2080 ldd R2,z+0
0488 80E2 ldi R24,32
048A 829D mul R24,R2
048C 600D add R22,R0
048E 711D adc R23,R1
0490 .dbline 109
0490 ; EEPROMWriteBytes(point,&FILE[active[day+2]],sizeof(FILE[0]));
0490 9927 clr R25
0492 9983 std y+1,R25
0494 8883 std y+0,R24
0496 CE01 movw R24,R28
0498 0A96 adiw R24,10
049A EA2D mov R30,R10
049C FF27 clr R31
049E E80F add R30,R24
04A0 F91F adc R31,R25
04A2 2080 ldd R2,z+0
04A4 80E2 ldi R24,32
04A6 829D mul R24,R2
04A8 9001 movw R18,R0
04AA CE01 movw R24,R28
04AC 4096 adiw R24,16
04AE 280F add R18,R24
04B0 391F adc R19,R25
04B2 8B01 movw R16,R22
04B4 0E940000 xcall _EEPROMWriteBytes
04B8 .dbline 110
04B8 ; break;
04B8 ABCD xjmp L2
04BA L82:
04BA .dbline 111
04BA CE01 movw R24,R28
04BC 0B96 adiw R24,11
04BE EA2D mov R30,R10
04C0 FF27 clr R31
04C2 E80F add R30,R24
04C4 F91F adc R31,R25
04C6 2080 ldd R2,z+0
04C8 80E2 ldi R24,32
04CA 829D mul R24,R2
04CC F001 movw R30,R0
04CE CE01 movw R24,R28
04D0 8C96 adiw R24,44
04D2 E80F add R30,R24
04D4 F91F adc R31,R25
04D6 8FEF ldi R24,255
04D8 8083 std z+0,R24
04DA .dbline 112
04DA CE01 movw R24,R28
04DC 0B96 adiw R24,11
04DE EA2D mov R30,R10
04E0 FF27 clr R31
04E2 E80F add R30,R24
04E4 F91F adc R31,R25
04E6 2080 ldd R2,z+0
04E8 80E2 ldi R24,32
04EA 829D mul R24,R2
04EC 600D add R22,R0
04EE 711D adc R23,R1
04F0 .dbline 113
04F0 9927 clr R25
04F2 9983 std y+1,R25
04F4 8883 std y+0,R24
04F6 CE01 movw R24,R28
04F8 0B96 adiw R24,11
04FA EA2D mov R30,R10
04FC FF27 clr R31
04FE E80F add R30,R24
0500 F91F adc R31,R25
0502 2080 ldd R2,z+0
0504 80E2 ldi R24,32
0506 829D mul R24,R2
0508 9001 movw R18,R0
050A CE01 movw R24,R28
050C 4096 adiw R24,16
050E 280F add R18,R24
0510 391F adc R19,R25
0512 8B01 movw R16,R22
0514 0E940000 xcall _EEPROMWriteBytes
0518 .dbline 114
0518 .dbline 116
0518 7BCD xjmp L2
051A L15:
051A .dbline 53
051A DACD xjmp L14
051C L16:
051C .dbline -2
051C L1:
051C EF96 adiw R28,63
051E EF96 adiw R28,63
0520 EF96 adiw R28,63
0522 EF96 adiw R28,63
0524 6796 adiw R28,23 ; offset = 275
0526 0E940000 xcall pop_gset5
052A .dbline 0 ; func end
052A 0895 ret
052C .dbsym r move 14 c
052C .dbsym r point 22 i
052C .dbsym l temp 272 c
052C .dbsym l FILE 16 A[256:8]X
052C .dbsym l active 8 A[8:8]c
052C .dbsym r day 10 c
052C .dbsym r data 20 c
052C .dbend
052C .dbfunc e Play_Edit _Play_Edit fV
052C ; point -> y+272
052C ; move -> R14
052C ; FILE -> y+16
052C ; temp -> R20
052C ; active -> y+8
052C ; day -> R22
052C ; data -> R20
.even
052C _Play_Edit::
052C 0E940000 xcall push_gset5
0530 402F mov R20,R16
0532 EF97 sbiw R28,63
0534 EF97 sbiw R28,63
0536 EF97 sbiw R28,63
0538 EF97 sbiw R28,63
053A 6697 sbiw R28,22 ; offset = 274
053C .dbline -1
053C .dbline 125
053C ; case 3:FILE[active[day+3]].active = 0xff;
053C ; point += active[day+3]*sizeof(FILE[0]);
053C ; EEPROMWriteBytes(point,&FILE[active[day+3]],sizeof(FILE[0]));
053C ; break;
053C ; }
053C ; goto RELOAD;
053C ;
053C ; }
053C ;
053C ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -