|
发表于 2008-9-10 18:46:54
|
显示全部楼层
比较菜,请教fat程序.
在fat.h中定义的结构体
struct bootsector710
{
uchar bsJump[3]; // jump inst E9xxxx or EBxx90
char bsOemName[8]; // OEM name and version
char bsBPB[53]; // BIOS parameter block
char bsExt[26]; // Bootsector Extension
char bsBootCode[418]; // pad so structure is 512b
uchar bsBootSectSig2; // boot sector signature byte 0x00
uchar bsBootSectSig3; // boot sector signature byte 0x00
uchar bsBootSectSig0; // boot sector signature byte 0x55
uchar bsBootSectSig1; // boot sector signature byte 0xAA
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
#define BOOTSIG2 0x00
#define BOOTSIG3 0x00
};
在fat.c中的fat-init函数中
fat-init()
{
struct bootsector710 *bs = 0;//定义一个指针
if(fat_readblock(0,buffer))return 1; //读物理零扇区
bs = (struct bootsector710 *)buffer;
}
这里是读物理零扇区, 512字节应该是:无用字节+4*16字节+2字节结尾.. 为什么会和bootsector710挂钩?
想不明白,请指点下. |
|