📄 fat.lis
字号:
0688 4280 ldd R4,z+2
068A 5380 ldd R5,z+3
068C 6480 ldd R6,z+4
068E 7580 ldd R7,z+5
0690 440E add R4,R20
0692 551E adc R5,R21
0694 661E adc R6,R22
0696 771E adc R7,R23
0698 F201 movw R30,R4
069A E80F add R30,R24
069C F91F adc R31,R25
069E 4080 ldd R4,z+0
06A0 5524 clr R5
06A2 4228 or R4,R2
06A4 5328 or R5,R3
06A6 1201 movw R2,R4
06A8 4424 clr R4
06AA 37FC sbrc R3,7
06AC 4094 com R4
06AE 5524 clr R5
06B0 47FC sbrc R4,7
06B2 5094 com R5
06B4 44E1 ldi R20,20
06B6 50E0 ldi R21,0
06B8 60E0 ldi R22,0
06BA 70E0 ldi R23,0
06BC FE01 movw R30,R28
06BE 6280 ldd R6,z+2
06C0 7380 ldd R7,z+3
06C2 8480 ldd R8,z+4
06C4 9580 ldd R9,z+5
06C6 640E add R6,R20
06C8 751E adc R7,R21
06CA 861E adc R8,R22
06CC 971E adc R9,R23
06CE F301 movw R30,R6
06D0 E80F add R30,R24
06D2 F91F adc R31,R25
06D4 6080 ldd R6,z+0
06D6 7724 clr R7
06D8 8824 clr R8
06DA 9924 clr R9
06DC 4301 movw R8,R6
06DE 6624 clr R6
06E0 7724 clr R7
06E2 2628 or R2,R6
06E4 3728 or R3,R7
06E6 4828 or R4,R8
06E8 5928 or R5,R9
06EA 45E1 ldi R20,21
06EC 50E0 ldi R21,0
06EE 60E0 ldi R22,0
06F0 70E0 ldi R23,0
06F2 FE01 movw R30,R28
06F4 6280 ldd R6,z+2
06F6 7380 ldd R7,z+3
06F8 8480 ldd R8,z+4
06FA 9580 ldd R9,z+5
06FC 640E add R6,R20
06FE 751E adc R7,R21
0700 861E adc R8,R22
0702 971E adc R9,R23
0704 F301 movw R30,R6
0706 E80F add R30,R24
0708 F91F adc R31,R25
070A 6080 ldd R6,z+0
070C 7724 clr R7
070E 8824 clr R8
0710 9924 clr R9
0712 88E1 ldi R24,24
0714 90E0 ldi R25,0
0716 8A93 st -y,R24
0718 8301 movw R16,R6
071A 9401 movw R18,R8
071C 0E940000 xcall lsl32
0720 202A or R2,R16
0722 312A or R3,R17
0724 422A or R4,R18
0726 532A or R5,R19
0728 09E2 ldi R16,41
072A 10E0 ldi R17,0
072C 2B8D ldd R18,y+27
072E 3C8D ldd R19,y+28
0730 0E940000 xcall empy16s
0734 F801 movw R30,R16
0736 80E0 ldi R24,<_MusicInfoList+33
0738 90E0 ldi R25,>_MusicInfoList+33
073A E80F add R30,R24
073C F91F adc R31,R25
073E 2082 std z+0,R2
0740 3182 std z+1,R3
0742 4282 std z+2,R4
0744 5382 std z+3,R5
0746 .dbline 142
0746 ; MusicInfoList[LocalOfMusic].FileLength = Fat_Buffer[tem+0x1C]|(Fat_Buffer[tem+0x1D]<<8)|((uint32)Fat_Buffer[tem+0x1E]<<16)|((uint32)Fat_Buffer[tem+0x1F]<<24);
0746 4DE1 ldi R20,29
0748 50E0 ldi R21,0
074A 60E0 ldi R22,0
074C 70E0 ldi R23,0
074E FE01 movw R30,R28
0750 2280 ldd R2,z+2
0752 3380 ldd R3,z+3
0754 4480 ldd R4,z+4
0756 5580 ldd R5,z+5
0758 240E add R2,R20
075A 351E adc R3,R21
075C 461E adc R4,R22
075E 571E adc R5,R23
0760 F101 movw R30,R2
0762 80E0 ldi R24,<_Fat_Buffer
0764 90E0 ldi R25,>_Fat_Buffer
0766 E80F add R30,R24
0768 F91F adc R31,R25
076A 2080 ldd R2,z+0
076C 3324 clr R3
076E 322C mov R3,R2
0770 2224 clr R2
0772 4CE1 ldi R20,28
0774 50E0 ldi R21,0
0776 60E0 ldi R22,0
0778 70E0 ldi R23,0
077A FE01 movw R30,R28
077C 4280 ldd R4,z+2
077E 5380 ldd R5,z+3
0780 6480 ldd R6,z+4
0782 7580 ldd R7,z+5
0784 440E add R4,R20
0786 551E adc R5,R21
0788 661E adc R6,R22
078A 771E adc R7,R23
078C F201 movw R30,R4
078E E80F add R30,R24
0790 F91F adc R31,R25
0792 4080 ldd R4,z+0
0794 5524 clr R5
0796 4228 or R4,R2
0798 5328 or R5,R3
079A 1201 movw R2,R4
079C 4424 clr R4
079E 37FC sbrc R3,7
07A0 4094 com R4
07A2 5524 clr R5
07A4 47FC sbrc R4,7
07A6 5094 com R5
07A8 4EE1 ldi R20,30
07AA 50E0 ldi R21,0
07AC 60E0 ldi R22,0
07AE 70E0 ldi R23,0
07B0 FE01 movw R30,R28
07B2 6280 ldd R6,z+2
07B4 7380 ldd R7,z+3
07B6 8480 ldd R8,z+4
07B8 9580 ldd R9,z+5
07BA 640E add R6,R20
07BC 751E adc R7,R21
07BE 861E adc R8,R22
07C0 971E adc R9,R23
07C2 F301 movw R30,R6
07C4 E80F add R30,R24
07C6 F91F adc R31,R25
07C8 6080 ldd R6,z+0
07CA 7724 clr R7
07CC 8824 clr R8
07CE 9924 clr R9
07D0 4301 movw R8,R6
07D2 6624 clr R6
07D4 7724 clr R7
07D6 2628 or R2,R6
07D8 3728 or R3,R7
07DA 4828 or R4,R8
07DC 5928 or R5,R9
07DE 4FE1 ldi R20,31
07E0 50E0 ldi R21,0
07E2 60E0 ldi R22,0
07E4 70E0 ldi R23,0
07E6 FE01 movw R30,R28
07E8 6280 ldd R6,z+2
07EA 7380 ldd R7,z+3
07EC 8480 ldd R8,z+4
07EE 9580 ldd R9,z+5
07F0 640E add R6,R20
07F2 751E adc R7,R21
07F4 861E adc R8,R22
07F6 971E adc R9,R23
07F8 F301 movw R30,R6
07FA E80F add R30,R24
07FC F91F adc R31,R25
07FE 6080 ldd R6,z+0
0800 7724 clr R7
0802 8824 clr R8
0804 9924 clr R9
0806 88E1 ldi R24,24
0808 90E0 ldi R25,0
080A 8A93 st -y,R24
080C 8301 movw R16,R6
080E 9401 movw R18,R8
0810 0E940000 xcall lsl32
0814 202A or R2,R16
0816 312A or R3,R17
0818 422A or R4,R18
081A 532A or R5,R19
081C 09E2 ldi R16,41
081E 10E0 ldi R17,0
0820 2B8D ldd R18,y+27
0822 3C8D ldd R19,y+28
0824 0E940000 xcall empy16s
0828 F801 movw R30,R16
082A 80E0 ldi R24,<_MusicInfoList+37
082C 90E0 ldi R25,>_MusicInfoList+37
082E E80F add R30,R24
0830 F91F adc R31,R25
0832 2082 std z+0,R2
0834 3182 std z+1,R3
0836 4282 std z+2,R4
0838 5382 std z+3,R5
083A .dbline 143
083A ; LocalOfMusic++; //开始下一个音乐文件的记录
083A 8B8D ldd R24,y+27
083C 9C8D ldd R25,y+28
083E 0196 adiw R24,1
0840 9C8F std y+28,R25
0842 8B8F std y+27,R24
0844 .dbline 144
0844 ; }
0844 .dbline 145
0844 ; }
0844 92C2 xjmp L71
0846 L70:
0846 .dbline 147
0846 ; else
0846 ; {
0846 .dbline 148
0846 ; LocalOfFirstLFN = Index_tmp;
0846 FE01 movw R30,R28
0848 2284 ldd R2,z+10
084A 3384 ldd R3,z+11
084C 4484 ldd R4,z+12
084E 5584 ldd R5,z+13
0850 FE01 movw R30,R28
0852 2686 std z+14,R2
0854 3786 std z+15,R3
0856 408A std z+16,R4
0858 518A std z+17,R5
085A 73C1 xjmp L89
085C L88:
085C .dbline 150
085C ; while(1)
085C ; {
085C .dbline 151
085C ; Index_tmp++;
085C 41E0 ldi R20,1
085E 50E0 ldi R21,0
0860 60E0 ldi R22,0
0862 70E0 ldi R23,0
0864 FE01 movw R30,R28
0866 2284 ldd R2,z+10
0868 3384 ldd R3,z+11
086A 4484 ldd R4,z+12
086C 5584 ldd R5,z+13
086E 240E add R2,R20
0870 351E adc R3,R21
0872 461E adc R4,R22
0874 571E adc R5,R23
0876 FE01 movw R30,R28
0878 2286 std z+10,R2
087A 3386 std z+11,R3
087C 4486 std z+12,R4
087E 5586 std z+13,R5
0880 .dbline 152
0880 ; n = DiskFATInfo.FDT_LBA+(Index_tmp/(DiskFATInfo.BytesPerSector/32));
0880 25E0 ldi R18,5
0882 30E0 ldi R19,0
0884 00918A00 lds R16,_DiskFATInfo+15
0888 10918B00 lds R17,_DiskFATInfo+15+1
088C 0E940000 xcall lsr16
0890 1801 movw R2,R16
0892 4424 clr R4
0894 5524 clr R5
0896 FE01 movw R30,R28
0898 6284 ldd R6,z+10
089A 7384 ldd R7,z+11
089C 8484 ldd R8,z+12
089E 9584 ldd R9,z+13
08A0 5A92 st -y,R5
08A2 4A92 st -y,R4
08A4 3A92 st -y,R3
08A6 2A92 st -y,R2
08A8 8301 movw R16,R6
08AA 9401 movw R18,R8
08AC 0E940000 xcall div32u
08B0 40908100 lds R4,_DiskFATInfo+4+2
08B4 50908200 lds R5,_DiskFATInfo+4+2+1
08B8 20907F00 lds R2,_DiskFATInfo+4
08BC 30908000 lds R3,_DiskFATInfo+4+1
08C0 200E add R2,R16
08C2 311E adc R3,R17
08C4 421E adc R4,R18
08C6 531E adc R5,R19
08C8 FE01 movw R30,R28
08CA 2682 std z+6,R2
08CC 3782 std z+7,R3
08CE 4086 std z+8,R4
08D0 5186 std z+9,R5
08D2 .dbline 154
08D2 ; //读取FDT的相应扇区位置的内容
08D2 ; SD_ReadBlock(n,Fat_Buffer);
08D2 80E0 ldi R24,<_Fat_Buffer
08D4 90E0 ldi R25,>_Fat_Buffer
08D6 9983 std y+1,R25
08D8 8883 std y+0,R24
08DA FE01 movw R30,R28
08DC 0681 ldd R16,z+6
08DE 1781 ldd R17,z+7
08E0 2085 ldd R18,z+8
08E2 3185 ldd R19,z+9
08E4 0E940000 xcall _SD_ReadBlock
08E8 .dbline 155
08E8 ; tem = ((Index_tmp)*32)%DiskFATInfo.BytesPerSector;
08E8 FE01 movw R30,R28
08EA 2284 ldd R2,z+10
08EC 3384 ldd R3,z+11
08EE 4484 ldd R4,z+12
08F0 5584 ldd R5,z+13
08F2 40E2 ldi R20,32
08F4 50E0 ldi R21,0
08F6 60E0 ldi R22,0
08F8 70E0 ldi R23,0
08FA 5A92 st -y,R5
08FC 4A92 st -y,R4
08FE 3A92 st -y,R3
0900 2A92 st -y,R2
0902 8A01 movw R16,R20
0904 9B01 movw R18,R22
0906 0E940000 xcall empy32u
090A 20908A00 lds R2,_DiskFATInfo+15
090E 30908B00 lds R3,_DiskFATInfo+15+1
0912 4424 clr R4
0914 5524 clr R5
0916 5A92 st -y,R5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -