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

📄 fat32readfile.lst

📁 基于c51的SD驱动程序,在FAT32文件系统中.
💻 LST
字号:
C51 COMPILER V7.50   FAT32READFILE                                                         07/13/2005 11:16:31 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FAT32READFILE
OBJECT MODULE PLACED IN FAT32READFILE.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE FAT32READFILE.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #ifndef _FAT32_DEFINE
   2           #include "FAT32.c"
   3          #endif
   4          
   5          WORD FAT32ReadFile(BYTE fp);
   6          
   7          WORD FAT32ReadFile(BYTE fp)
   8          {
   9   1              register WORD tmp;
  10   1      
  11   1              if (FCB[fp].ByteCnt==FCB[fp].Size) return(0);
  12   1              else
  13   1              {
  14   2                      FCB[fp].ByteCnt+=512;
  15   2                      if (FCB[fp].ByteCnt<=FCB[fp].Size) tmp=512;
  16   2                      else
  17   2                      {
  18   3                              FCB[fp].ByteCnt-=512;
  19   3                              tmp=FCB[fp].Size-FCB[fp].ByteCnt;
  20   3                              FCB[fp].ByteCnt=FCB[fp].Size;
  21   3                      }
  22   2      
  23   2                      if (FCB[fp].ClusSecCnt==FAT32.SecPerClus)                       //读下一簇
  24   2                      {
  25   3                              FCB[fp].LastCluster=FAT32NextCluster(FCB[fp].LastCluster);
  26   3                              if (FCB[fp].LastCluster==0x0fffffff) return(0);
  27   3                              ReadDiskSector(ClusterToSector(FCB[fp].LastCluster));
  28   3                              FCB[fp].ClusSecCnt=1;
  29   3                      }
  30   2                      else if (FCB[fp].ClusSecCnt==0)                                 //读第一簇
  31   2                      {
  32   3                              ReadDiskSector(ClusterToSector(FCB[fp].LastCluster));
  33   3                              FCB[fp].ClusSecCnt++;
  34   3                      }
  35   2                      else                                                                            //读当前簇下一扇区
  36   2                      {
  37   3                              ReadDiskSector(ClusterToSector(FCB[fp].LastCluster)+FCB[fp].ClusSecCnt);
  38   3                              FCB[fp].ClusSecCnt++;
  39   3                      }
  40   2              }
  41   1              return(tmp);
  42   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    833    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       3
   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 + -