📄 fat32disksize.lst
字号:
167 =2 DWORD FSINxtFree; //空闲簇搜索指针
168 =2 };
169 =2
170 =2 struct FCBStr
171 =2 {
172 =2 CHAR FileName[12]; //文件名
173 =2 DWORD Size; //文件大小
174 =2 DWORD FirstCluster; //第一个簇
175 =2 DWORD LastCluster; //最近一次读到的簇号
176 =2 DWORD ClusSecCnt; //当前簇扇区计数
177 =2 DWORD ByteCnt; //当前字节计数
178 =2 };
179 =2
180 =2 struct FATStr
181 =2 {
182 =2 DWORD Sector;
183 =2 DWORD FAT[128];
184 =2 };
185 =2
186 =2 #ifndef _LIBRARY_DEFINE
C51 COMPILER V6.23a FAT32DISKSIZE 12/24/2004 00:11:00 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 FAT32DiskSize(void);
6
7 DWORD FAT32DiskSize(void)
8 {
9 1 return(sDPT[HDD.CurrentPartition].CntSec * IDE.BytesPerSec);
10 1 }
C51 COMPILER V6.23a FAT32DISKSIZE 12/24/2004 00:11:00 PAGE 11
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION FAT32DiskSize (BEGIN)
; SOURCE LINE # 7
; SOURCE LINE # 8
; SOURCE LINE # 9
0000 900000 E MOV DPTR,#IDE+06H
0003 E0 MOVX A,@DPTR
0004 FE MOV R6,A
0005 A3 INC DPTR
0006 E0 MOVX A,@DPTR
0007 FF MOV R7,A
0008 E4 CLR A
0009 FC MOV R4,A
000A FD MOV R5,A
000B 900000 E MOV DPTR,#HDD+01H
000E E0 MOVX A,@DPTR
000F 75F009 MOV B,#09H
0012 A4 MUL AB
0013 2400 E ADD A,#LOW sDPT+05H
0015 F582 MOV DPL,A
0017 E4 CLR A
0018 3400 E ADDC A,#HIGH sDPT+05H
001A F583 MOV DPH,A
001C E0 MOVX A,@DPTR
001D F8 MOV R0,A
001E A3 INC DPTR
001F E0 MOVX A,@DPTR
0020 F9 MOV R1,A
0021 A3 INC DPTR
0022 E0 MOVX A,@DPTR
0023 FA MOV R2,A
0024 A3 INC DPTR
0025 E0 MOVX A,@DPTR
0026 FB MOV R3,A
0027 120000 E LCALL ?C?LMUL
; SOURCE LINE # 10
002A ?C0001:
002A 22 RET
; FUNCTION FAT32DiskSize (END)
C51 COMPILER V6.23a FAT32DISKSIZE 12/24/2004 00:11:00 PAGE 12
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
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
BS_VolLab. . . . . . . . . . . . . . MEMBER ----- ARRAY 0023H 11
C51 COMPILER V6.23a FAT32DISKSIZE 12/24/2004 00:11:00 PAGE 13
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
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
HDD. . . . . . . . . . . . . . . . . . EXTERN XDATA STRUCT ----- 2
IDE. . . . . . . . . . . . . . . . . . EXTERN XDATA STRUCT ----- 8
sDPT . . . . . . . . . . . . . . . . . EXTERN XDATA ARRAY ----- 36
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
FAT32DiskSize. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
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
FAT32Str . . . . . . . . . . . . . . . * TAG * ----- STRUCT ----- 37
C51 COMPILER V6.23a FAT32DISKSIZE 12/24/2004 00:11:00 PAGE 14
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
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 = 43 ----
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 + -