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

📄 fat32mountvolumeid.lst

📁 用C51单片机实现的MP3播放器的c代码程序。
💻 LST
字号:
C51 COMPILER V7.20   FAT32MOUNTVOLUMEID                                                    05/13/2005 17:26:48 PAGE 1   


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

line 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        =    511    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       2
   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 + -