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

📄 fat32diskfreesize.lst

📁 C51实现的FAT32文件系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 10  

           =2  xdata BYTE DiskBuffer[512];
           =2 
           =2  xdata struct sDPTStr sDPT[4];
           =2  xdata struct FAT32Str FAT32;
           =2  xdata struct FCBStr FCB[FAT32_MAX_FCB];
           =2  xdata CHAR LongFileName[256]; 
           =2  xdata struct FATStr FAT;
           =2  xdata struct DPTStr *DPT;                      //分区表结构指针
           =2  xdata struct BootSecStr *BOOTSEC;              //引导扇区结构指针
           =2  xdata struct FAT32FSInfoStr *FSI;              //FAT32扩展信息
           =2  xdata struct FAT32SDirStr *sDIR;               //FAT目录结构指针
           =2  xdata struct FAT32LDirStr *lDIR;               //FAT目录结构指针
           =2 #endif
 200      =2  #endif
 201      =2  
 202      =2  extern xdata BYTE DiskBuffer[512];
 203      =2  
 204      =2  extern xdata struct sDPTStr sDPT[4];
 205      =2  extern xdata struct FAT32Str FAT32;
 206      =2  extern xdata struct FCBStr FCB[FAT32_MAX_FCB];
 207      =2  extern xdata CHAR LongFileName[256]; 
 208      =2  extern xdata struct FATStr FAT;
 209      =2  extern xdata struct DPTStr *DPT;                //分区表结构指针
 210      =2  extern xdata struct BootSecStr *BOOTSEC;        //引导扇区结构指针
 211      =2  extern xdata struct FAT32FSInfoStr *FSI;        //FAT32扩展信息
 212      =2  extern xdata struct FAT32SDirStr *sDIR;         //FAT目录结构指针
 213      =2  extern xdata struct FAT32LDirStr *lDIR;         //FAT目录结构指针
 214      =2  
 215      =2  extern void FAT32Init(void);
 216      =2  extern BYTE FAT32MountPartition(void);
 217      =2  extern BYTE FAT32MountVolumeID(BYTE Partition);
 218      =2  extern BYTE FAT32GetDirName(WORD SecNum);
 219      =2  extern void FAT32GetPartLongName(struct FAT32LDirStr *ldp,CHAR *name);
 220      =2  extern DWORD FAT32DiskSize(void);
 221      =2  extern DWORD FAT32DiskFreeSize(void);
 222      =2  extern BYTE FAT32FindDIREntry(CHAR *DirName);
 223      =2  extern void FAT32ReadCluster(DWORD *Cluster);
 224      =2  extern BYTE FAT32ChangeDirectory(CHAR *DirName);
 225      =2  extern BYTE FAT32ListDirectory(void);
 226      =2  extern DWORD FAT32NextCluster(DWORD CurrentCluster);
 227      =2  extern BYTE FAT32OpenFile(CHAR *filename);
 228      =2  extern void FAT32CloseFile(BYTE fp);
 229      =2  extern WORD FAT32ReadFile(BYTE fp);
  11      =1  
  12      =1  
   3          #endif
   4          
   5          DWORD FAT32DiskFreeSize(void);
   6          
   7          DWORD FAT32DiskFreeSize(void)
   8          {
   9   1              IDEReadSector(FAT32.FSISec);
  10   1              return(MEMSwap32(FSI->FreeCount) * FAT32.SecPerClus * IDE.BytesPerSec);
  11   1      }
C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 11  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION FAT32DiskFreeSize (BEGIN)
                                           ; SOURCE LINE # 7
                                           ; SOURCE LINE # 8
                                           ; SOURCE LINE # 9
0000 900000      E     MOV     DPTR,#FAT32+019H
0003 E0                MOVX    A,@DPTR
0004 FC                MOV     R4,A
0005 A3                INC     DPTR
0006 E0                MOVX    A,@DPTR
0007 FD                MOV     R5,A
0008 A3                INC     DPTR
0009 E0                MOVX    A,@DPTR
000A FE                MOV     R6,A
000B A3                INC     DPTR
000C E0                MOVX    A,@DPTR
000D FF                MOV     R7,A
000E 900000      E     MOV     DPTR,#IDE+02H
0011 120000      E     LCALL   ?C?LSTXDATA
0014 120000      E     LCALL   _IDEReadSector
                                           ; SOURCE LINE # 10
0017 900000      E     MOV     DPTR,#FSI
001A E0                MOVX    A,@DPTR
001B FB                MOV     R3,A
001C A3                INC     DPTR
001D E0                MOVX    A,@DPTR
001E FA                MOV     R2,A
001F A3                INC     DPTR
0020 E0                MOVX    A,@DPTR
0021 F9                MOV     R1,A
0022 9001E8            MOV     DPTR,#01E8H
0025 120000      E     LCALL   ?C?LLDOPTR
0028 120000      E     LCALL   _MEMSwap32
002B A804              MOV     R0,AR4
002D A905              MOV     R1,AR5
002F AA06              MOV     R2,AR6
0031 AB07              MOV     R3,AR7
0033 900000      E     MOV     DPTR,#FAT32+05H
0036 E0                MOVX    A,@DPTR
0037 FF                MOV     R7,A
0038 E4                CLR     A
0039 FC                MOV     R4,A
003A FD                MOV     R5,A
003B FE                MOV     R6,A
003C 120000      E     LCALL   ?C?LMUL
003F A804              MOV     R0,AR4
0041 A905              MOV     R1,AR5
0043 AA06              MOV     R2,AR6
0045 AB07              MOV     R3,AR7
0047 900000      E     MOV     DPTR,#IDE+06H
004A E0                MOVX    A,@DPTR
004B FE                MOV     R6,A
004C A3                INC     DPTR
004D E0                MOVX    A,@DPTR
004E FF                MOV     R7,A
004F E4                CLR     A
0050 FC                MOV     R4,A
0051 FD                MOV     R5,A
0052 120000      E     LCALL   ?C?LMUL
                                           ; SOURCE LINE # 11
C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 12  

0055         ?C0001:
0055 22                RET     
             ; FUNCTION FAT32DiskFreeSize (END)

C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 13  

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


DWORD. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  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
FATUni . . . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  54
  F32. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  54
  F16. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  26
HDDStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  2
  TotalPartitions. . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentPartition . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
IDEStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  TotalDevices . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentDevice. . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  CurrentSector. . . . . . . . . . . .  MEMBER   -----  U_LONG   0002H  4
  BytesPerSec. . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
FATStr . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  516
  Sector . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0000H  4
  FAT. . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0004H  512
sDPTStr. . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  TypeCode . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  LBABegin . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  CntSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0005H  4
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
_IDEReadSector . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
BOOL . . . . . . . . . . . . . . . . .  TYPEDEF  DATA   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
C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 14  

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


  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
WORD . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
FAT32. . . . . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  37
_MEMSwap32 . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
IDE. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  STRUCT   -----  8
FSI. . . . . . . . . . . . . . . . . .  EXTERN   XDATA  PTR      -----  3
IDEDeviceStr . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  5
  DriverType . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  TotalSectors . . . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
FAT32LDirStr . . . . . . . . . . . . .  * 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
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
  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
FAT32SDirStr . . . . . . . . . . . . .  * 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
C51 COMPILER V6.23a  FAT32DISKFREESIZE                                                     12/24/2004 00:10:59 PAGE 15  

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


FAT32DiskFreeSize. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
FAT32Str . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  37
  ClusSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  CurrentDirectory . . . . . . . . . .  MEMBER   -----  U_LONG   0001H  4
  SecPerClus . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  RsvdSecCnt . . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
  NumFATs. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  RootClus . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0009H  4
  ClusSec. . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   000DH  4
  FATSz. . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0011H  4
  FATSec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0015H  4
  FSISec . . . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0019H  4
  FSIFreeCount . . . . . . . . . . . .  MEMBER   -----  U_LONG   001DH  4
  FSINxtFree . . . . . . . . . . . . .  MEMBER   -----  U_LONG   0021H  4


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


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

⌨️ 快捷键说明

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