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]));
}