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

📄 fat.lis

📁 M16-Mp3.rar
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 046A 2080              ldd R2,z+0
 046C E42F              mov R30,R20
 046E FF27              clr R31
 0470 E00F              add R30,R16
 0472 F11F              adc R31,R17
 0474 3080              ldd R3,z+0
 0476 3214              cp R3,R2
 0478 09F0              breq L61
 047A           X3:
 047A                   .dbline 123
 047A 03C0              xjmp L59
 047C           L61:
 047C                   .dbline 124
 047C           ;     }
 047C           L58:
 047C                   .dbline 121
 047C 4395              inc R20
 047E           L60:
 047E                   .dbline 121
 047E 4430              cpi R20,4
 0480 80F3              brlo L57
 0482           X4:
 0482           L59:
 0482                   .dbline 125
 0482           ;     if(i == 4)    return 1; 
 0482 4430              cpi R20,4
 0484 11F4              brne L63
 0486           X5:
 0486                   .dbline 125
 0486 01E0              ldi R16,1
 0488 01C0              xjmp L56
 048A           L63:
 048A                   .dbline 127
 048A           ;           
 048A           ;       return 0; 
 048A 0027              clr R16
 048C                   .dbline -2
 048C           L56:
 048C                   .dbline 0 ; func end
 048C 4991              ld R20,y+
 048E 0895              ret
 0490                   .dbsym r i 20 c
 0490                   .dbsym r strName2 18 pc
 0490                   .dbsym r strName1 16 pc
 0490                   .dbend
 0490                   .dbfunc e SearchFileOfName _SearchFileOfName fV
 0490           ;      Index_tmp -> y+6
 0490           ;            tem -> y+2
 0490           ;              i -> R10
 0490           ;      File_Name -> y+20
 0490           ; TargetStartSector -> y+16
                        .even
 0490           _SearchFileOfName::
 0490 0E940000          xcall push_arg4
 0494 0E940000          xcall push_xgsetF00C
 0498 2A97              sbiw R28,10
 049A                   .dbline -1
 049A                   .dbline 132
 049A           ; }     
 049A           ; 
 049A           ; 
 049A           ; void SearchFileOfName(uint32 TargetStartSector,uint8 *File_Name)
 049A           ; {
 049A                   .dbline 135
 049A           ;     uint8     i;
 049A           ;     uint32    tem;    
 049A           ;       uint32  Index_tmp=0;
 049A 40E0              ldi R20,0
 049C 50E0              ldi R21,0
 049E 60E0              ldi R22,0
 04A0 70E0              ldi R23,0
 04A2 4E83              std y+6,R20
 04A4 5F83              std y+7,R21
 04A6 6887              std y+8,R22
 04A8 7987              std y+9,R23
 04AA           L66:
 04AA                   .dbline 137
 04AA           ;           
 04AA           ;       do{
 04AA                   .dbline 138
 04AA           ;       SD_ReadBlock(TargetStartSector + Index_tmp/(BPB_BytesPerSec/32),Fat_Buffer);    // 重新读取目录表
 04AA 80E0              ldi R24,<_Fat_Buffer
 04AC 90E0              ldi R25,>_Fat_Buffer
 04AE 9983              std y+1,R25
 04B0 8883              std y+0,R24
 04B2 25E0              ldi R18,5
 04B4 30E0              ldi R19,0
 04B6 00913900          lds R16,_BPB_BytesPerSec
 04BA 10913A00          lds R17,_BPB_BytesPerSec+1
 04BE 0E940000          xcall lsr16
 04C2 1801              movw R2,R16
 04C4 4424              clr R4
 04C6 5524              clr R5
 04C8 0E81              ldd R16,y+6
 04CA 1F81              ldd R17,y+7
 04CC 2885              ldd R18,y+8
 04CE 3985              ldd R19,y+9
 04D0 5A92              st -y,R5
 04D2 4A92              st -y,R4
 04D4 3A92              st -y,R3
 04D6 2A92              st -y,R2
 04D8 0E940000          xcall div32u
 04DC 1801              movw R2,R16
 04DE 2901              movw R4,R18
 04E0 0889              ldd R16,y+16
 04E2 1989              ldd R17,y+17
 04E4 2A89              ldd R18,y+18
 04E6 3B89              ldd R19,y+19
 04E8 020D              add R16,R2
 04EA 131D              adc R17,R3
 04EC 241D              adc R18,R4
 04EE 351D              adc R19,R5
 04F0 0E940000          xcall _SD_ReadBlock
 04F4                   .dbline 140
 04F4           ;               
 04F4           ;       tem=((Index_tmp)*32)%BPB_BytesPerSec;
 04F4 2E80              ldd R2,y+6
 04F6 3F80              ldd R3,y+7
 04F8 4884              ldd R4,y+8
 04FA 5984              ldd R5,y+9
 04FC 40E2              ldi R20,32
 04FE 50E0              ldi R21,0
 0500 60E0              ldi R22,0
 0502 70E0              ldi R23,0
 0504 5A92              st -y,R5
 0506 4A92              st -y,R4
 0508 3A92              st -y,R3
 050A 2A92              st -y,R2
 050C 8A01              movw R16,R20
 050E 9B01              movw R18,R22
 0510 0E940000          xcall empy32u
 0514 20903900          lds R2,_BPB_BytesPerSec
 0518 30903A00          lds R3,_BPB_BytesPerSec+1
 051C 4424              clr R4
 051E 5524              clr R5
 0520 5A92              st -y,R5
 0522 4A92              st -y,R4
 0524 3A92              st -y,R3
 0526 2A92              st -y,R2
 0528 0E940000          xcall mod32u
 052C 0A83              std y+2,R16
 052E 1B83              std y+3,R17
 0530 2C83              std y+4,R18
 0532 3D83              std y+5,R19
 0534                   .dbline 142
 0534           ;     
 0534           ;       if((Fat_Buffer[tem+11] & ATTR_LONG_FILENAME) != ATTR_LONG_FILENAME);    // 是否是长文件名
 0534 4BE0              ldi R20,11
 0536 50E0              ldi R21,0
 0538 60E0              ldi R22,0
 053A 70E0              ldi R23,0
 053C 2A80              ldd R2,y+2
 053E 3B80              ldd R3,y+3
 0540 4C80              ldd R4,y+4
 0542 5D80              ldd R5,y+5
 0544 240E              add R2,R20
 0546 351E              adc R3,R21
 0548 461E              adc R4,R22
 054A 571E              adc R5,R23
 054C F101              movw R30,R2
 054E 80E0              ldi R24,<_Fat_Buffer
 0550 90E0              ldi R25,>_Fat_Buffer
 0552 E80F              add R30,R24
 0554 F91F              adc R31,R25
 0556 8081              ldd R24,z+0
 0558 8F70              andi R24,15
 055A 8F30              cpi R24,15
 055C 01F0              breq L69
 055E           X6:
 055E                   .dbline 142
 055E           L69:
 055E                   .dbline 143
 055E           ;       {
 055E                   .dbline 144
 055E           ;               if((Fat_Buffer[tem] != 0xe5) && (Fat_Buffer[tem] != 0x05))                         //文件没有删除   
 055E 80E0              ldi R24,<_Fat_Buffer
 0560 90E0              ldi R25,>_Fat_Buffer
 0562 EA81              ldd R30,y+2
 0564 FB81              ldd R31,y+3
 0566 E80F              add R30,R24
 0568 F91F              adc R31,R25
 056A 2080              ldd R2,z+0
 056C 3324              clr R3
 056E 822D              mov R24,R2
 0570 853E              cpi R24,229
 0572 09F4              brne X12
 0574 ADC0              xjmp L71
 0576           X12:
 0576           X7:
 0576 8530              cpi R24,5
 0578 09F4              brne X13
 057A AAC0              xjmp L71
 057C           X13:
 057C           X8:
 057C                   .dbline 145
 057C           ;               {
 057C                   .dbline 146
 057C           ;                         for(i=0;i<8;i++)
 057C AA24              clr R10
 057E 1AC0              xjmp L76
 0580           L73:
 0580                   .dbline 147
 0580           ;                         {
 0580                   .dbline 148
 0580           ;                                        deName[i]=Fat_Buffer[tem+i];
 0580 2A2C              mov R2,R10
 0582 3324              clr R3
 0584 4424              clr R4
 0586 5524              clr R5
 0588 6A80              ldd R6,y+2
 058A 7B80              ldd R7,y+3
 058C 8C80              ldd R8,y+4
 058E 9D80              ldd R9,y+5
 0590 620C              add R6,R2
 0592 731C              adc R7,R3
 0594 841C              adc R8,R4
 0596 951C              adc R9,R5
 0598 F301              movw R30,R6
 059A 80E0              ldi R24,<_Fat_Buffer
 059C 90E0              ldi R25,>_Fat_Buffer
 059E E80F              add R30,R24
 05A0 F91F              adc R31,R25
 05A2 2080              ldd R2,z+0
 05A4 80E0              ldi R24,<_deName
 05A6 90E0              ldi R25,>_deName
 05A8 EA2D              mov R30,R10
 05AA FF27              clr R31
 05AC E80F              add R30,R24
 05AE F91F              adc R31,R25
 05B0 2082              std z+0,R2
 05B2                   .dbline 149
 05B2           ;                                 }
 05B2           L74:
 05B2                   .dbline 146
 05B2 A394              inc R10
 05B4           L76:
 05B4                   .dbline 146
 05B4 8A2D              mov R24,R10
 05B6 8830              cpi R24,8
 05B8 18F3              brlo L73
 05BA           X9:
 05BA                   .dbline 151
 05BA           ;               
 05BA           ;                                 if(FileName_Compare(File_Name,deName))
 05BA 20E0              ldi R18,<_deName
 05BC 30E0              ldi R19,>_deName
 05BE 0C89              ldd R16,y+20
 05C0 1D89              ldd R17,y+21
 05C2 4CDF              xcall _FileName_Compare
 05C4 0023              tst R16
 05C6 09F4              brne X14
 05C8 83C0              xjmp L77
 05CA           X14:
 05CA           X10:
 05CA                   .dbline 152
 05CA           ;                                 {
 05CA                   .dbline 153
 05CA           ;                                         SearchFile_Clust = ((uint32)Fat_Buffer[tem+20]<<16) | ((uint32)Fat_Buffer[tem+21]<<24) | (Fat_Buffer[tem+26]) | (Fat_Buffer[tem+27]<<8);
 05CA 45E1              ldi R20,21
 05CC 50E0              ldi R21,0
 05CE 60E0              ldi R22,0
 05D0 70E0              ldi R23,0
 05D2 2A80              ldd R2,y+2
 05D4 3B80              ldd R3,y+3
 05D6 4C80              ldd R4,y+4
 05D8 5D80              ldd R5,y+5
 05DA 240E              add R2,R20
 05DC 351E              adc R3,R21
 05DE 461E              adc R4,R22
 05E0 571E              adc R5,R23
 05E2 F101              movw R30,R2
 05E4 80E0              ldi R24,<_Fat_Buffer
 05E6 90E0              ldi R25,>_Fat_Buffer
 05E8 E80F              add R30,R24
 05EA F91F              adc R31,R25
 05EC 0081              ldd R16,z+0
 05EE 1127              clr R17
 05F0 2227              clr R18
 05F2 3327              clr R19
 05F4 88E1              ldi R24,24
 05F6 90E0              ldi R25,0
 05F8 8A93              st -y,R24
 05FA 0E940000          xcall lsl32
 05FE 44E1              ldi R20,20
 0600 50E0              ldi R21,0
 0602 60E0              ldi R22,0
 0604 70E0              ldi R23,0
 0606 2A80              ldd R2,y+2
 0608 3B80              ldd R3,y+3
 060A 4C80              ldd R4,y+4
 060C 5D80              ldd R5,y+5
 060E 240E              add R2,R20
 0610 351E              adc R3,R21
 0612 461E              adc R4,R22
 0614 571E              adc R5,R23
 0616 F101              movw R30,R2
 0618 80E0              ldi R24,<_Fat_Buffer
 061A 90E0              ldi R25,>_Fat_Buffer
 061C E80F              add R30,R24
 061E F91F              adc R31,R25
 0620 2080              ldd R2,z+0
 0622 3324              clr R3
 0624 4424              clr R4
 0626 5524              clr R5
 0628 2101              movw R4,R2
 062A 2224              clr R2
 062C 3324              clr R3
 062E 202A              or R2,R16
 0630 312A              or R3,R17
 0632 422A              or R4,R18
 0634 532A              or R5,R19
 0636 4AE1              ldi R20,26
 0638 50E0              ldi R21,0
 063A 60E0              ldi R22,0
 063C 70E0              ldi R23,0
 063E 6A80              ldd R6,y+2
 0640 7B80              ldd R7,y+3
 0642 8C80              ldd R8,y+4
 0644 9D80              ldd R9,y+5
 0646 640E              add R6,R20
 0648 751E              adc R7,R21
 064A 861E              adc R8,R22
 064C 971E              adc R9,R23
 064E F301              movw R30,R6
 0650 E80F              add R30,R24
 0652 F91F              adc R31,R25
 0654 6080              ldd R6,z+0

⌨️ 快捷键说明

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