www.pudn.com > fat32.c51.rar > FAT32NEXTCLUSTER.C


#ifndef _FAT32_DEFINE 
 #include "FAT32.c" 
#endif 
 
DWORD FAT32NextCluster(DWORD CurrentCluster); 
 
DWORD FAT32NextCluster(DWORD CurrentCluster) 
{ 
	register BYTE Offset,i; 
	xdata DWORD Sector; 
 
	Sector=CurrentCluster>>7;						//等价于CurrentCluster/128 
	Offset=(BYTE)(CurrentCluster&0x0000007f);		//等价于CurrentCluster%128 
	if (Sector!=FAT.Sector) 
	{ 
		IDEReadSector(FAT32.FATSec + Sector); 
		for(i=0;i<128;i++) 
			FAT.FAT[i]=((DWORD *)&DiskBuffer)[i]; 
		FAT.Sector=Sector; 
	} 
	return(MEMSwap32(FAT.FAT[Offset])); 
}