📄 fat32mountpartition.lst
字号:
C51 COMPILER V7.50 FAT32MOUNTPARTITION 07/13/2005 11:18:23 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE FAT32MOUNTPARTITION
OBJECT MODULE PLACED IN FAT32MOUNTPARTITION.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE FAT32MOUNTPARTITION.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #ifndef _FAT32_DEFINE
2 #include "FAT32.c"
3 #endif
4
5 BYTE FAT32MountPartition(void);
6
7 BYTE FAT32MountPartition(void)
8 {
9 1 register BYTE i,j,k;
10 1 xdata DWORD temp[4]={0,0,0,0};
11 1
12 1 ReadDiskSector(0); //读MBR扇区
13 1
14 1 //检查MBR扇区标记
15 1 if (DiskBuffer[510] != 0x55||DiskBuffer[511] != 0xaa)
16 1 return(FAT32_ERR_MBR_FLAG); //不正常的引导扇区标志
17 1
18 1 //加载分区表
19 1 j=0;k=0;
20 1 for(i=0;i<4;i++)
21 1 {
22 2 DPT[i].LBABegin=MEMSwap32(DPT[i].LBABegin);
23 2 DPT[i].CntSec=MEMSwap32(DPT[i].CntSec);
24 2 if (DPT[i].TypeCode==0x0b) //FAT32 分区
25 2 {
26 3 sDPT[j].TypeCode = DPT[i].TypeCode;
27 3 sDPT[j].LBABegin = DPT[i].LBABegin;
28 3 sDPT[j].CntSec = DPT[i].CntSec;
29 3 j++;
30 3 }
31 2 else if (DPT[i].TypeCode==0x05||DPT[i].TypeCode==0x0f) //扩展分区
32 2 {
33 3 temp[k]=DPT[i].LBABegin;
34 3 k++;
35 3 }
36 2 }
37 1
38 1 for(i=0;i<k&&j<16;i++)
39 1 {
40 2 ReadDiskSector(temp[i]);
41 2 DPT[i].LBABegin=MEMSwap32(DPT[i].LBABegin);
42 2 DPT[i].CntSec=MEMSwap32(DPT[i].CntSec);
43 2 if (DPT[i].TypeCode==0x0b) //FAT32 分区
44 2 {
45 3 sDPT[j].TypeCode = DPT[i].TypeCode;
46 3 sDPT[j].LBABegin = temp[i] + DPT[i].LBABegin;
47 3 sDPT[j].CntSec = DPT[i].CntSec;
48 3 j++;
49 3 }
50 2 }
51 1 HDD.TotalPartitions=j;
*** ERROR C202 IN LINE 51 OF FAT32MOUNTPARTITION.C: 'HDD': undefined identifier
52 1 #ifdef DEBUG
printf("Partition Table\n");
printf("PNo.\tType\tLBAStart\tCount\tSize\n");
C51 COMPILER V7.50 FAT32MOUNTPARTITION 07/13/2005 11:18:23 PAGE 2
for(i=0;i<HDD.TotalPartitions;i++)
{
printf("P%bd\t%bx\t%ld\t\t%ld\t%ldMB\n",i,sDPT[i].TypeCode,sDPT[i].LBABegin,sDPT[i].CntSec,sDPT[i].CntS
-ec*512/1024/1024);
}
#endif
60 1 return(0);
61 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 1 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -