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

📄 fatfinddirentry.lst

📁 FAT32文件系统在51单片机上实现
💻 LST
📖 第 1 页 / 共 3 页
字号:
   3          #endif
   4          
   5          BYTE FATFindDIREntry(CHAR *DirName);
   6          
C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 9   

   7          BYTE FATFindDIREntry(CHAR *DirName)
   8          {
   9   1              switch (sDPT[StorageMedia.CurrentPartition].FATType)
  10   1              {
  11   2                      case FAT_TYPE_FAT32     :
  12   2                              return(FAT32FindDIREntry(DirName));
  13   2                      case FAT_TYPE_FAT16     :
  14   2                              return(FAT16FindDIREntry(DirName));
  15   2                      case FAT_TYPE_FAT12     :
  16   2                              return(FAT16FindDIREntry(DirName));
  17   2              }
  18   1      }
C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 10  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _FATFindDIREntry (BEGIN)
                                           ; SOURCE LINE # 7
0000 900000      R     MOV     DPTR,#DirName
0003 EB                MOV     A,R3
0004 F0                MOVX    @DPTR,A
0005 A3                INC     DPTR
0006 EA                MOV     A,R2
0007 F0                MOVX    @DPTR,A
0008 A3                INC     DPTR
0009 E9                MOV     A,R1
000A F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
000B 900000      E     MOV     DPTR,#StorageMedia+07H
000E E0                MOVX    A,@DPTR
000F 75F009            MOV     B,#09H
0012 A4                MUL     AB
0013 2400        E     ADD     A,#LOW sDPT
0015 F582              MOV     DPL,A
0017 E4                CLR     A
0018 3400        E     ADDC    A,#HIGH sDPT
001A F583              MOV     DPH,A
001C E0                MOVX    A,@DPTR
001D 14                DEC     A
001E 6014              JZ      ?C0005
0020 14                DEC     A
0021 6011              JZ      ?C0005
0023 14                DEC     A
0024 701C              JNZ     ?C0003
                                           ; SOURCE LINE # 10
                                           ; SOURCE LINE # 11
0026         ?C0002:
                                           ; SOURCE LINE # 12
0026 900000      R     MOV     DPTR,#DirName
0029 E0                MOVX    A,@DPTR
002A FB                MOV     R3,A
002B A3                INC     DPTR
002C E0                MOVX    A,@DPTR
002D FA                MOV     R2,A
002E A3                INC     DPTR
002F E0                MOVX    A,@DPTR
0030 F9                MOV     R1,A
0031 020000      E     LJMP    _FAT32FindDIREntry
                                           ; SOURCE LINE # 13
                                           ; SOURCE LINE # 15
0034         ?C0005:
                                           ; SOURCE LINE # 16
0034         ?C0006:
0034 900000      R     MOV     DPTR,#DirName
0037 E0                MOVX    A,@DPTR
0038 FB                MOV     R3,A
0039 A3                INC     DPTR
003A E0                MOVX    A,@DPTR
003B FA                MOV     R2,A
003C A3                INC     DPTR
003D E0                MOVX    A,@DPTR
003E F9                MOV     R1,A
003F 120000      E     LCALL   _FAT16FindDIREntry
                                           ; SOURCE LINE # 17
C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 11  

                                           ; SOURCE LINE # 18
0042         ?C0003:
0042 22                RET     
             ; FUNCTION _FATFindDIREntry (END)

C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 12  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


FATClusterStr. . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  SecOffset. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  Sector . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  Cluster. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0005H  4
DWORD. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
FATTableStr. . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  516
  Sector . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  FAT. . . . . . . . . . . . . . . . .  MEMBER   -----  UNION    0004H  512
FATLDirStr . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  Ord. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  Name1. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0001H  10
  Attr . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000BH  1
  Type . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000CH  1
  Chksum . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  Name2. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    000EH  12
  FstClusLO. . . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  Name3. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    001CH  4
FCBStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  FileName . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  12
  Size . . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000CH  4
  FirstCluster . . . . . . . . . . . .  MEMBER   -----  U_LONG   0010H  4
  LastCluster. . . . . . . . . . . . .  MEMBER   -----  U_LONG   0014H  4
  ClusSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0018H  4
  ByteCnt. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
FATUin . . . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  512
  F32. . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  512
  F16. . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  512
  F12. . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  512
FATUni . . . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  54
  F32. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  54
  F16. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  26
FATSDirStr . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  32
  Name . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  11
  Attr . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000BH  1
  NTRes. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000CH  1
  CrtTimeTenth . . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  CrtTime. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  CrtDate. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0010H  2
  LstAccDate . . . . . . . . . . . . .  MEMBER   -----  U_INT    0012H  2
  FstClusHI. . . . . . . . . . . . . .  MEMBER   -----  U_INT    0014H  2
  WrtTime. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0016H  2
  WrtDate. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0018H  2
  FstClusLO. . . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  FileSize . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
FATStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  34
  CurrentDirectory . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  SecPerClus . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  RootClus . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0005H  4
  RootSectors. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0009H  1
  ClusSec. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000AH  4
  FATSz. . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000EH  4
  FATSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0012H  4
  FSISec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0016H  4
  FSIFreeCount . . . . . . . . . . . .  MEMBER   -----  U_LONG   001AH  4
  FSINxtFree . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001EH  4
sDPTStr. . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 13  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  FATType. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  LBABegin . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  CntSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0005H  4
_FAT32FindDIREntry . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_FAT16FindDIREntry . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CHAR . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
DPTStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  16
  BootFlag . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CHSBegin . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0001H  3
  TypeCode . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  CHSEnd . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0005H  3
  LBABegin . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0008H  4
  CntSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000CH  4
FAT32FSInfoStr . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  512
  LeadSig. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  Reserved1. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0004H  480
  StrucSig . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01E4H  4
  FreeCount. . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01E8H  4
  NxtFree. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01ECH  4
  Reserved2. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    01F0H  12
  TrailSig . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   01FCH  4
BOOL . . . . . . . . . . . . . . . . .  TYPEDEF  -----  BIT      -----  1
BootSecFAT32Str. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  54
  BPB_FATSz32. . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  BPB_ExtFlags . . . . . . . . . . . .  MEMBER   -----  U_INT    0004H  2
  BPB_FSVer. . . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
  BPB_RootClus . . . . . . . . . . . .  MEMBER   -----  U_LONG   0008H  4
  BPB_FSInfo . . . . . . . . . . . . .  MEMBER   -----  U_INT    000CH  2
  BPB_BkBootSec. . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  BPB_Reserved . . . . . . . . . . . .  MEMBER   -----  ARRAY    0010H  12
  BS_DrvNum. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001CH  1
  BS_Reserved1 . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001DH  1
  BS_BootSig . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   001EH  1
  BS_VolID . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   001FH  4
  BS_VolLab. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0023H  11
  BS_FilSysType. . . . . . . . . . . .  MEMBER   -----  ARRAY    002EH  8
BootSecFAT16Str. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  26
  BS_DrvNum. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  BS_Reserved1 . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  BS_BootSig . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  BS_VolID . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0003H  4
  BS_VolLab. . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0007H  11
  BS_FilSysType. . . . . . . . . . . .  MEMBER   -----  ARRAY    0012H  8
BYTE . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
_FATFindDIREntry . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  DirName. . . . . . . . . . . . . . .  AUTO     XDATA  PTR      0000H  3
StorageMedia . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  14
WORD . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
sDPT . . . . . . . . . . . . . . . . .  EXTERN   XDATA  ARRAY    -----  144
wchar_t. . . . . . . . . . . . . . . .  TYPEDEF  -----  CHAR     -----  1
BootSecStr . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  90
  BS_jmpBoot . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0000H  3
  BS_OEMName . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0003H  8
  BPB_BytesPerSec. . . . . . . . . . .  MEMBER   -----  U_INT    000BH  2
  BPB_SecPerClus . . . . . . . . . . .  MEMBER   -----  U_CHAR   000DH  1
  BPB_RsvdSecCnt . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  BPB_NumFATs. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0010H  1
C51 COMPILER V7.50   FATFINDDIRENTRY                                                       11/20/2006 15:49:27 PAGE 14  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  BPB_RootEntCnt . . . . . . . . . . .  MEMBER   -----  U_INT    0011H  2
  BPB_TotSec16 . . . . . . . . . . . .  MEMBER   -----  U_INT    0013H  2
  BPB_Media. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0015H  1
  BPB_FATSz16. . . . . . . . . . . . .  MEMBER   -----  U_INT    0016H  2
  BPB_SecPerTrk. . . . . . . . . . . .  MEMBER   -----  U_INT    0018H  2
  BPB_NumHeads . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  BPB_HiddSec. . . . . . . . . . . . .  MEMBER   -----  U_LONG   001CH  4
  BPB_TotSec32 . . . . . . . . . . . .  MEMBER   -----  U_LONG   0020H  4
  FAT. . . . . . . . . . . . . . . . .  MEMBER   -----  UNION    0024H  54
StorageMediaStr. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  14
  BytesPerSec. . . . . . . . . . . . .  MEMBER   -----  U_INT    0000H  2
  TotalSectors . . . . . . . . . . . .  MEMBER   -----  U_LONG   0002H  4
  TotalPartitions. . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  CurrentPartition . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  ReadSector . . . . . . . . . . . . .  MEMBER   -----  PTR      0008H  3
  WriteSector. . . . . . . . . . . . .  MEMBER   -----  PTR      000BH  3


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     67    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       3
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  3 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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