📄 fat32mountvolumeid.lst
字号:
C51 COMPILER V7.50 FAT32MOUNTVOLUMEID 07/13/2005 11:18:10 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FAT32MOUNTVOLUMEID
OBJECT MODULE PLACED IN FAT32MOUNTVOLUMEID.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE FAT32MOUNTVOLUMEID.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #ifndef _FAT32_DEFINE
2 #include "FAT32.c"
3 #endif
4
5 BYTE FAT32MountVolumeID(BYTE Partition);
6
7 BYTE FAT32MountVolumeID(BYTE Partition)
8 {
9 1 register BYTE i;
10 1
11 1 #ifdef DEBUG
printf("Mount FAT32 volume ID...%bd\n",Partition);
#endif
14 1
15 1 if (Partition>=HDD.TotalPartitions) return(FAT32_ERR_PARTITION_NOT_FOUND); //没找到指定扇区
*** ERROR C202 IN LINE 15 OF FAT32MOUNTVOLUMEID.C: 'HDD': undefined identifier
16 1
17 1 ReadDiskSector(sDPT[Partition].LBABegin); //读FAT32 VolumeID扇区
18 1 //检查VolumeID扇区标记
19 1 if (DiskBuffer[510] != 0x55||DiskBuffer[511] != 0xaa)
20 1 return(FAT32_ERR_MBR_FLAG); //不正常的引导扇区标志
21 1
22 1 //检查分区类型
23 1 HDD.CurrentPartition = Partition; //当前分区号
*** ERROR C202 IN LINE 23 OF FAT32MOUNTVOLUMEID.C: 'HDD': undefined identifier
24 1 // HDD.BytesPerSec = BOOTSEC->BPB_BytesPerSec; //每扇区字节数
25 1 FAT32.SecPerClus = BOOTSEC->BPB_SecPerClus; //每簇扇区数
26 1 FAT32.RsvdSecCnt = MEMSwap16(BOOTSEC->BPB_RsvdSecCnt); //保留扇区数
27 1 FAT32.NumFATs = BOOTSEC->BPB_NumFATs; //FAT表个数
28 1 FAT32.FATSz = MEMSwap32(BOOTSEC->FAT.F32.BPB_FATSz32); //FAT表达小(扇区)
29 1 FAT32.RootClus = MEMSwap32(BOOTSEC->FAT.F32.BPB_RootClus); //根目录簇号
30 1 FAT32.CurrentDirectory = FAT32.RootClus; //当前目录入口(簇号)
31 1 FAT32.FATSec = sDPT[HDD.CurrentPartition].LBABegin + FAT32.RsvdSecCnt; //FAT表开始的扇区号
*** ERROR C202 IN LINE 31 OF FAT32MOUNTVOLUMEID.C: 'HDD': undefined identifier
32 1 FAT32.ClusSec = sDPT[HDD.CurrentPartition].LBABegin + FAT32.RsvdSecCnt + (FAT32.NumFATs * FAT32.FATSz);
-//簇开始的扇区
*** ERROR C202 IN LINE 32 OF FAT32MOUNTVOLUMEID.C: 'HDD': undefined identifier
33 1 FAT32.FSISec = MEMSwap16(BOOTSEC->FAT.F32.BPB_FSInfo) + sDPT[Partition].LBABegin; //FAT32扩展信息扇区号
34 1
35 1 //加载第一个FAT表
36 1 ReadDiskSector(FAT32.FATSec);
37 1 for(i=0;i<128;i++)
38 1 FAT.FAT[i]=((DWORD *)&DiskBuffer)[i];
39 1 FAT.Sector=0;
40 1 return(0);
41 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 4 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -