⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat32mountvolumeid.lst

📁 用C51单片机实现的MP3播放器的c代码程序。
💻 LST
字号:
C51 COMPILER V6.12  FAT32MOUNTVOLUMEID                                                     05/03/2005 11:51:05 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE FAT32MOUNTVOLUMEID
OBJECT MODULE PLACED IN .\FAT32MOUNTVOLUMEID.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\FAT32MOUNTVOLUMEID.C LARGE BROWSE DEBUG OBJECTEXTEND

stmt 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);	//没找到指定扇区
  16   1      
  17   1      	IDEReadSector(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;							//当前分区号
  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表开始的扇区号
  32   1      	FAT32.ClusSec = sDPT[HDD.CurrentPartition].LBABegin + FAT32.RsvdSecCnt + (FAT32.NumFATs * FAT32.FATSz);		
             -//簇开始的扇区
  33   1      	FAT32.FSISec = MEMSwap16(BOOTSEC->FAT.F32.BPB_FSInfo) + sDPT[Partition].LBABegin;		//FAT32扩展信息扇区号
  34   1      
  35   1      	//加载第一个FAT表
  36   1      	IDEReadSector(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      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    534    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       2
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -