⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.lis

📁 M16-Mp3.rar
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0214 1127              clr R17
 0216 2227              clr R18
 0218 3327              clr R19
 021A 8A93              st -y,R24
 021C 0E940000          xcall lsl32
 0220 202A              or R2,R16
 0222 312A              or R3,R17
 0224 422A              or R4,R18
 0226 532A              or R5,R19
 0228 30922300          sts _BPB_TotSec32+1,R3
 022C 20922200          sts _BPB_TotSec32,R2
 0230 50922500          sts _BPB_TotSec32+2+1,R5
 0234 40922400          sts _BPB_TotSec32+2,R4
 0238                   .dbline 85
 0238           ;       BPB_FATSz32     = Fat_Buffer[36] | (Fat_Buffer[37] << 8) | ((uint32)Fat_Buffer[38] << 16) | ((uint32)Fat_Buffer[39] << 24);
 0238 20907000          lds R2,_Fat_Buffer+37
 023C 3324              clr R3
 023E 322C              mov R3,R2
 0240 2224              clr R2
 0242 40906F00          lds R4,_Fat_Buffer+36
 0246 5524              clr R5
 0248 4228              or R4,R2
 024A 5328              or R5,R3
 024C 1201              movw R2,R4
 024E 4424              clr R4
 0250 37FC              sbrc R3,7
 0252 4094              com R4
 0254 5524              clr R5
 0256 47FC              sbrc R4,7
 0258 5094              com R5
 025A 60907100          lds R6,_Fat_Buffer+38
 025E 7724              clr R7
 0260 8824              clr R8
 0262 9924              clr R9
 0264 4301              movw R8,R6
 0266 6624              clr R6
 0268 7724              clr R7
 026A 2628              or R2,R6
 026C 3728              or R3,R7
 026E 4828              or R4,R8
 0270 5928              or R5,R9
 0272 88E1              ldi R24,24
 0274 90E0              ldi R25,0
 0276 00917200          lds R16,_Fat_Buffer+39
 027A 1127              clr R17
 027C 2227              clr R18
 027E 3327              clr R19
 0280 8A93              st -y,R24
 0282 0E940000          xcall lsl32
 0286 202A              or R2,R16
 0288 312A              or R3,R17
 028A 422A              or R4,R18
 028C 532A              or R5,R19
 028E 30921F00          sts _BPB_FATSz32+1,R3
 0292 20921E00          sts _BPB_FATSz32,R2
 0296 50922100          sts _BPB_FATSz32+2+1,R5
 029A 40922000          sts _BPB_FATSz32+2,R4
 029E                   .dbline 86
 029E           ;     BPB_ExtFlags      = Fat_Buffer[40] | (Fat_Buffer[41] << 8);  
 029E 20907400          lds R2,_Fat_Buffer+41
 02A2 3324              clr R3
 02A4 322C              mov R3,R2
 02A6 2224              clr R2
 02A8 40907300          lds R4,_Fat_Buffer+40
 02AC 5524              clr R5
 02AE 4228              or R4,R2
 02B0 5328              or R5,R3
 02B2 50921D00          sts _BPB_ExtFlags+1,R5
 02B6 40921C00          sts _BPB_ExtFlags,R4
 02BA                   .dbline 87
 02BA           ;     BPB_FSVer     = Fat_Buffer[42] | (Fat_Buffer[43] << 8);
 02BA 20907600          lds R2,_Fat_Buffer+43
 02BE 3324              clr R3
 02C0 322C              mov R3,R2
 02C2 2224              clr R2
 02C4 40907500          lds R4,_Fat_Buffer+42
 02C8 5524              clr R5
 02CA 4228              or R4,R2
 02CC 5328              or R5,R3
 02CE 50921B00          sts _BPB_FSVer+1,R5
 02D2 40921A00          sts _BPB_FSVer,R4
 02D6                   .dbline 88
 02D6           ;     BPB_RootClus      = Fat_Buffer[44] | (Fat_Buffer[45] << 8) | ((uint32)Fat_Buffer[46] << 16) | ((uint32)Fat_Buffer[47] << 24);
 02D6 20907800          lds R2,_Fat_Buffer+45
 02DA 3324              clr R3
 02DC 322C              mov R3,R2
 02DE 2224              clr R2
 02E0 40907700          lds R4,_Fat_Buffer+44
 02E4 5524              clr R5
 02E6 4228              or R4,R2
 02E8 5328              or R5,R3
 02EA 1201              movw R2,R4
 02EC 4424              clr R4
 02EE 37FC              sbrc R3,7
 02F0 4094              com R4
 02F2 5524              clr R5
 02F4 47FC              sbrc R4,7
 02F6 5094              com R5
 02F8 60907900          lds R6,_Fat_Buffer+46
 02FC 7724              clr R7
 02FE 8824              clr R8
 0300 9924              clr R9
 0302 4301              movw R8,R6
 0304 6624              clr R6
 0306 7724              clr R7
 0308 2628              or R2,R6
 030A 3728              or R3,R7
 030C 4828              or R4,R8
 030E 5928              or R5,R9
 0310 88E1              ldi R24,24
 0312 90E0              ldi R25,0
 0314 00917A00          lds R16,_Fat_Buffer+47
 0318 1127              clr R17
 031A 2227              clr R18
 031C 3327              clr R19
 031E 8A93              st -y,R24
 0320 0E940000          xcall lsl32
 0324 202A              or R2,R16
 0326 312A              or R3,R17
 0328 422A              or R4,R18
 032A 532A              or R5,R19
 032C 30921700          sts _BPB_RootClus+1,R3
 0330 20921600          sts _BPB_RootClus,R2
 0334 50921900          sts _BPB_RootClus+2+1,R5
 0338 40921800          sts _BPB_RootClus+2,R4
 033C                   .dbline 89
 033C           ;     BPB_FSInfo            = Fat_Buffer[48] | (Fat_Buffer[49] << 8); 
 033C 20907C00          lds R2,_Fat_Buffer+49
 0340 3324              clr R3
 0342 322C              mov R3,R2
 0344 2224              clr R2
 0346 40907B00          lds R4,_Fat_Buffer+48
 034A 5524              clr R5
 034C 4228              or R4,R2
 034E 5328              or R5,R3
 0350 50921500          sts _BPB_FSInfo+1,R5
 0354 40921400          sts _BPB_FSInfo,R4
 0358                   .dbline 90
 0358           ;     BPB_BKBootSec   = Fat_Buffer[50] | (Fat_Buffer[51] << 8);                                                 
 0358 20907E00          lds R2,_Fat_Buffer+51
 035C 3324              clr R3
 035E 322C              mov R3,R2
 0360 2224              clr R2
 0362 40907D00          lds R4,_Fat_Buffer+50
 0366 5524              clr R5
 0368 4228              or R4,R2
 036A 5328              or R5,R3
 036C 50921300          sts _BPB_BKBootSec+1,R5
 0370 40921200          sts _BPB_BKBootSec,R4
 0374                   .dbline 92
 0374           ;  
 0374           ;       FAT_MASK                = FAT32_MASK;   //0x0fffffff
 0374 4FEF              ldi R20,255
 0376 5FEF              ldi R21,255
 0378 6FEF              ldi R22,255
 037A 7FE0              ldi R23,15
 037C 50930300          sts _FAT_MASK+1,R21
 0380 40930200          sts _FAT_MASK,R20
 0384 70930500          sts _FAT_MASK+2+1,R23
 0388 60930400          sts _FAT_MASK+2,R22
 038C                   .dbline 93
 038C           ;       Clust                   = BPB_RootClus;
 038C 40901800          lds R4,_BPB_RootClus+2
 0390 50901900          lds R5,_BPB_RootClus+2+1
 0394 20901600          lds R2,_BPB_RootClus
 0398 30901700          lds R3,_BPB_RootClus+1
 039C 3092F702          sts _Clust+1,R3
 03A0 2092F602          sts _Clust,R2
 03A4 5092F902          sts _Clust+2+1,R5
 03A8 4092F802          sts _Clust+2,R4
 03AC                   .dbline 94
 03AC           ;     FAT1Sec                   = BPB_RsvdSecCnt+Partition_StartLBA;
 03AC 40903D00          lds R4,_Partition_StartLBA+2
 03B0 50903E00          lds R5,_Partition_StartLBA+2+1
 03B4 20903B00          lds R2,_Partition_StartLBA
 03B8 30903C00          lds R3,_Partition_StartLBA+1
 03BC 60903600          lds R6,_BPB_RsvdSecCnt
 03C0 70903700          lds R7,_BPB_RsvdSecCnt+1
 03C4 8824              clr R8
 03C6 9924              clr R9
 03C8 620C              add R6,R2
 03CA 731C              adc R7,R3
 03CC 841C              adc R8,R4
 03CE 951C              adc R9,R5
 03D0 70920F00          sts _FAT1Sec+1,R7
 03D4 60920E00          sts _FAT1Sec,R6
 03D8 90921100          sts _FAT1Sec+2+1,R9
 03DC 80921000          sts _FAT1Sec+2,R8
 03E0                   .dbline 95
 03E0           ;       FAT2Sec                 = FAT1Sec+BPB_FATSz32;
 03E0 40902000          lds R4,_BPB_FATSz32+2
 03E4 50902100          lds R5,_BPB_FATSz32+2+1
 03E8 20901E00          lds R2,_BPB_FATSz32
 03EC 30901F00          lds R3,_BPB_FATSz32+1
 03F0 620C              add R6,R2
 03F2 731C              adc R7,R3
 03F4 841C              adc R8,R4
 03F6 951C              adc R9,R5
 03F8 70920B00          sts _FAT2Sec+1,R7
 03FC 60920A00          sts _FAT2Sec,R6
 0400 90920D00          sts _FAT2Sec+2+1,R9
 0404 80920C00          sts _FAT2Sec+2,R8
 0408                   .dbline 96
 0408           ;       FirstDataSector = FAT2Sec+BPB_FATSz32;
 0408 620C              add R6,R2
 040A 731C              adc R7,R3
 040C 841C              adc R8,R4
 040E 951C              adc R9,R5
 0410 70920603          sts _FirstDataSector+1,R7
 0414 60920503          sts _FirstDataSector,R6
 0418 90920803          sts _FirstDataSector+2+1,R9
 041C 80920703          sts _FirstDataSector+2,R8
 0420                   .dbline 97
 0420           ;       return 1;       
 0420 01E0              ldi R16,1
 0422                   .dbline -2
 0422           L1:
 0422                   .dbline 0 ; func end
 0422 2696              adiw R28,6
 0424 0C940000          xjmp pop_xgsetF00C
 0428                   .dbsym l temp 2 l
 0428                   .dbend
 0428                   .dbfunc e FileExt_Compare _FileExt_Compare fc
 0428           ;              i -> R20
 0428           ;        strExt2 -> R18,R19
 0428           ;        strExt1 -> R16,R17
                        .even
 0428           _FileExt_Compare::
 0428 4A93              st -y,R20
 042A                   .dbline -1
 042A                   .dbline 104
 042A           ; }
 042A           ; 
 042A           ; 
 042A           ; 
 042A           ; 
 042A           ; uint8 FileExt_Compare(uint8 *strExt1,uint8 *strExt2)
 042A           ; {
 042A                   .dbline 107
 042A           ;     uint8 i;
 042A           ;       
 042A           ;     for(i=0; i<3; i++)
 042A 4427              clr R20
 042C 0EC0              xjmp L51
 042E           L48:
 042E                   .dbline 108
 042E           ;     {
 042E                   .dbline 109
 042E           ;         if(strExt1[i]!= strExt2[i]) break;
 042E E42F              mov R30,R20
 0430 FF27              clr R31
 0432 E20F              add R30,R18
 0434 F31F              adc R31,R19
 0436 2080              ldd R2,z+0
 0438 E42F              mov R30,R20
 043A FF27              clr R31
 043C E00F              add R30,R16
 043E F11F              adc R31,R17
 0440 3080              ldd R3,z+0
 0442 3214              cp R3,R2
 0444 09F0              breq L52
 0446           X0:
 0446                   .dbline 109
 0446 03C0              xjmp L50
 0448           L52:
 0448                   .dbline 110
 0448           ;     }
 0448           L49:
 0448                   .dbline 107
 0448 4395              inc R20
 044A           L51:
 044A                   .dbline 107
 044A 4330              cpi R20,3
 044C 80F3              brlo L48
 044E           X1:
 044E           L50:
 044E                   .dbline 111
 044E           ;     if(i == 3)    return 1; 
 044E 4330              cpi R20,3
 0450 11F4              brne L54
 0452           X2:
 0452                   .dbline 111
 0452 01E0              ldi R16,1
 0454 01C0              xjmp L47
 0456           L54:
 0456                   .dbline 113
 0456           ;           
 0456           ;       return 0; 
 0456 0027              clr R16
 0458                   .dbline -2
 0458           L47:
 0458                   .dbline 0 ; func end
 0458 4991              ld R20,y+
 045A 0895              ret
 045C                   .dbsym r i 20 c
 045C                   .dbsym r strExt2 18 pc
 045C                   .dbsym r strExt1 16 pc
 045C                   .dbend
 045C                   .dbfunc e FileName_Compare _FileName_Compare fc
 045C           ;              i -> R20
 045C           ;       strName2 -> R18,R19
 045C           ;       strName1 -> R16,R17
                        .even
 045C           _FileName_Compare::
 045C 4A93              st -y,R20
 045E                   .dbline -1
 045E                   .dbline 118
 045E           ; }     
 045E           ;       
 045E           ; 
 045E           ; uint8 FileName_Compare(uint8 *strName1,uint8 *strName2)
 045E           ; {
 045E                   .dbline 121
 045E           ;     uint8 i;
 045E           ;       
 045E           ;     for(i=0; i<4; i++)
 045E 4427              clr R20
 0460 0EC0              xjmp L60
 0462           L57:
 0462                   .dbline 122
 0462           ;     {
 0462                   .dbline 123
 0462           ;         if(strName1[i]!= strName2[i]) break;
 0462 E42F              mov R30,R20
 0464 FF27              clr R31
 0466 E20F              add R30,R18
 0468 F31F              adc R31,R19

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -