📄 main.lis
字号:
0396 .dbline 133
0396 ; }
0396 L53:
0396 .dbline 135
0396 L19:
0396 .dbline 135
0396 ;
0396 ; }while(data_pointer<511);
0396 8E89 ldd R24,y+22
0398 9F89 ldd R25,y+23
039A 8F3F cpi R24,255
039C E1E0 ldi R30,1
039E 9E07 cpc R25,R30
03A0 08F4 brsh X5
03A2 CCCE xjmp L18
03A4 X5:
03A4 .dbline 137
03A4 ;
03A4 ; data_pointer=0;
03A4 0024 clr R0
03A6 1124 clr R1
03A8 1F8A std y+23,R1
03AA 0E8A std y+22,R0
03AC .dbline 138
03AC ; if(i%4 == 0)
03AC 43E0 ldi R20,3
03AE 50E0 ldi R21,0
03B0 60E0 ldi R22,0
03B2 70E0 ldi R23,0
03B4 FE01 movw R30,R28
03B6 2284 ldd R2,z+10
03B8 3384 ldd R3,z+11
03BA 4484 ldd R4,z+12
03BC 5584 ldd R5,z+13
03BE 2422 and R2,R20
03C0 3522 and R3,R21
03C2 4622 and R4,R22
03C4 5722 and R5,R23
03C6 40E0 ldi R20,0
03C8 50E0 ldi R21,0
03CA 60E0 ldi R22,0
03CC 70E0 ldi R23,0
03CE 2416 cp R2,R20
03D0 3506 cpc R3,R21
03D2 4606 cpc R4,R22
03D4 5706 cpc R5,R23
03D6 51F5 brne L56
03D8 .dbline 139
03D8 ; {
03D8 .dbline 140
03D8 ; if(j <= 0) j = 46;
03D8 40E0 ldi R20,0
03DA 50E0 ldi R21,0
03DC 60E0 ldi R22,0
03DE 70E0 ldi R23,0
03E0 FE01 movw R30,R28
03E2 2288 ldd R2,z+18
03E4 3388 ldd R3,z+19
03E6 4488 ldd R4,z+20
03E8 5588 ldd R5,z+21
03EA 2416 cp R2,R20
03EC 3506 cpc R3,R21
03EE 4606 cpc R4,R22
03F0 5706 cpc R5,R23
03F2 51F4 brne L58
03F4 .dbline 140
03F4 4EE2 ldi R20,46
03F6 50E0 ldi R21,0
03F8 60E0 ldi R22,0
03FA 70E0 ldi R23,0
03FC FE01 movw R30,R28
03FE 428B std z+18,R20
0400 538B std z+19,R21
0402 648B std z+20,R22
0404 758B std z+21,R23
0406 12C0 xjmp L59
0408 L58:
0408 .dbline 141
0408 ; else j--;
0408 41E0 ldi R20,1
040A 50E0 ldi R21,0
040C 60E0 ldi R22,0
040E 70E0 ldi R23,0
0410 FE01 movw R30,R28
0412 2288 ldd R2,z+18
0414 3388 ldd R3,z+19
0416 4488 ldd R4,z+20
0418 5588 ldd R5,z+21
041A 241A sub R2,R20
041C 350A sbc R3,R21
041E 460A sbc R4,R22
0420 570A sbc R5,R23
0422 FE01 movw R30,R28
0424 228A std z+18,R2
0426 338A std z+19,R3
0428 448A std z+20,R4
042A 558A std z+21,R5
042C L59:
042C .dbline 142
042C ; }
042C L56:
042C .dbline 144
042C L11:
042C .dbline 72
042C 41E0 ldi R20,1
042E 50E0 ldi R21,0
0430 60E0 ldi R22,0
0432 70E0 ldi R23,0
0434 FE01 movw R30,R28
0436 2284 ldd R2,z+10
0438 3384 ldd R3,z+11
043A 4484 ldd R4,z+12
043C 5584 ldd R5,z+13
043E 240E add R2,R20
0440 351E adc R3,R21
0442 461E adc R4,R22
0444 571E adc R5,R23
0446 FE01 movw R30,R28
0448 2286 std z+10,R2
044A 3386 std z+11,R3
044C 4486 std z+12,R4
044E 5586 std z+13,R5
0450 L13:
0450 .dbline 72
0450 20901100 lds R2,_DiskFATInfo+17
0454 3324 clr R3
0456 4424 clr R4
0458 5524 clr R5
045A FE01 movw R30,R28
045C 6284 ldd R6,z+10
045E 7384 ldd R7,z+11
0460 8484 ldd R8,z+12
0462 9584 ldd R9,z+13
0464 6214 cp R6,R2
0466 7304 cpc R7,R3
0468 8404 cpc R8,R4
046A 9504 cpc R9,R5
046C 08F4 brsh X6
046E 2DCE xjmp L10
0470 X6:
0470 .dbline 147
0470 ;
0470 ; }
0470 ;
0470 ; //---------- 下一簇 ------------//
0470 ; num = FatNextCluster(num);
0470 FE01 movw R30,R28
0472 0685 ldd R16,z+14
0474 1785 ldd R17,z+15
0476 2089 ldd R18,z+16
0478 3189 ldd R19,z+17
047A 0E940000 xcall _FatNextCluster
047E FE01 movw R30,R28
0480 0687 std z+14,R16
0482 1787 std z+15,R17
0484 208B std z+16,R18
0486 318B std z+17,R19
0488 .dbline 149
0488 ;
0488 ; if(num==CLUST_EOFE||music_next!=0||music_last!=0)
0488 4FEF ldi R20,255
048A 5FEF ldi R21,255
048C 6FEF ldi R22,255
048E 7FEF ldi R23,255
0490 FE01 movw R30,R28
0492 2684 ldd R2,z+14
0494 3784 ldd R3,z+15
0496 4088 ldd R4,z+16
0498 5188 ldd R5,z+17
049A 2416 cp R2,R20
049C 3506 cpc R3,R21
049E 4606 cpc R4,R22
04A0 5706 cpc R5,R23
04A2 29F0 breq L63
04A4 EE20 tst R14
04A6 19F4 brne L63
04A8 CC20 tst R12
04AA 09F4 brne X7
04AC 53C0 xjmp L60
04AE X7:
04AE L63:
04AE .dbline 150
04AE ; {
04AE .dbline 151
04AE ; if(music_last!=0)
04AE CC20 tst R12
04B0 C9F0 breq L64
04B2 .dbline 152
04B2 ; {
04B2 .dbline 153
04B2 ; if(music_num>0)music_num--;
04B2 2224 clr R2
04B4 098C ldd R0,y+25
04B6 2014 cp R2,R0
04B8 18F4 brsh L66
04BA .dbline 153
04BA 0A94 dec R0
04BC 098E std y+25,R0
04BE 31C0 xjmp L65
04C0 L66:
04C0 .dbline 154
04C0 ; else music_num = NumOfFile - 1;
04C0 41E0 ldi R20,1
04C2 50E0 ldi R21,0
04C4 60E0 ldi R22,0
04C6 70E0 ldi R23,0
04C8 40900200 lds R4,_NumOfFile+2
04CC 50900300 lds R5,_NumOfFile+2+1
04D0 20900000 lds R2,_NumOfFile
04D4 30900100 lds R3,_NumOfFile+1
04D8 241A sub R2,R20
04DA 350A sbc R3,R21
04DC 460A sbc R4,R22
04DE 570A sbc R5,R23
04E0 298E std y+25,R2
04E2 .dbline 155
04E2 ; }
04E2 1FC0 xjmp L65
04E4 L64:
04E4 .dbline 158
04E4 ;
04E4 ; else
04E4 ; {
04E4 .dbline 159
04E4 ; if(music_num < NumOfFile-1)music_num++;
04E4 41E0 ldi R20,1
04E6 50E0 ldi R21,0
04E8 60E0 ldi R22,0
04EA 70E0 ldi R23,0
04EC 40900200 lds R4,_NumOfFile+2
04F0 50900300 lds R5,_NumOfFile+2+1
04F4 20900000 lds R2,_NumOfFile
04F8 30900100 lds R3,_NumOfFile+1
04FC 241A sub R2,R20
04FE 350A sbc R3,R21
0500 460A sbc R4,R22
0502 570A sbc R5,R23
0504 698C ldd R6,y+25
0506 7724 clr R7
0508 8824 clr R8
050A 9924 clr R9
050C 6214 cp R6,R2
050E 7304 cpc R7,R3
0510 8404 cpc R8,R4
0512 9504 cpc R9,R5
0514 20F4 brsh L68
0516 .dbline 159
0516 062C mov R0,R6
0518 0394 inc R0
051A 098E std y+25,R0
051C 02C0 xjmp L69
051E L68:
051E .dbline 160
051E ; else music_num=0;
051E 0024 clr R0
0520 098E std y+25,R0
0522 L69:
0522 .dbline 161
0522 ; }
0522 L65:
0522 .dbline 163
0522 ;
0522 ; num = MusicInfoList[music_num].FileStartClustor;
0522 89E2 ldi R24,41
0524 098C ldd R0,y+25
0526 809D mul R24,R0
0528 F001 movw R30,R0
052A 80E0 ldi R24,<_MusicInfoList+33
052C 90E0 ldi R25,>_MusicInfoList+33
052E E80F add R30,R24
0530 F91F adc R31,R25
0532 2080 ldd R2,z+0
0534 3180 ldd R3,z+1
0536 4280 ldd R4,z+2
0538 5380 ldd R5,z+3
053A FE01 movw R30,R28
053C 2686 std z+14,R2
053E 3786 std z+15,R3
0540 408A std z+16,R4
0542 518A std z+17,R5
0544 .dbline 164
0544 ; play_flag=1;
0544 0024 clr R0
0546 0394 inc R0
0548 088E std y+24,R0
054A .dbline 165
054A ; music_next = 0;
054A EE24 clr R14
054C .dbline 166
054C ; music_last = 0;
054C CC24 clr R12
054E .dbline 167
054E ; key_num=0;
054E 2224 clr R2
0550 20920000 sts _key_num,R2
0554 .dbline 168
0554 ; }
0554 L60:
0554 .dbline 170
0554 L8:
0554 .dbline 68
0554 9FCD xjmp L7
0556 X0:
0556 .dbline -2
0556 L5:
0556 6A96 adiw R28,26
0558 0E940000 xcall pop_gset5
055C .dbline 0 ; func end
055C 0895 ret
055E .dbsym l j 18 l
055E .dbsym l num 14 l
055E .dbsym l music_num 25 c
055E .dbsym r music_last 12 c
055E .dbsym r music_next 14 c
055E .dbsym l play_flag 24 c
055E .dbsym l i 10 l
055E .dbsym l size_buf 6 l
055E .dbsym r vol_flag 10 c
055E .dbsym l n 2 l
055E .dbsym l data_pointer 22 i
055E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -