亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fat.lst

?? 讀寫U盤C代碼,基于CH375FAT芯片,實(shí)用的一個(gè)代碼
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V7.06   FAT                                                                   11/22/2004 22:08:31 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE FAT
OBJECT MODULE PLACED IN FAT.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE FAT.C DEBUG OBJECTEXTEND CODE

stmt level    source

   1          #include "common.h"
   2          
   3          ////////////////////////////////////////
   4          extern XXGFLAGS bdata bXXGFlags;
   5          extern SYS_INFO_BLOCK xdata DeviceInfo;
   6          extern FILE_INFO xdata ThisFile;
   7          extern unsigned char xdata DBUF[BUFFER_LENGTH];
   8          unsigned char xdata FATBUF[512];
   9          unsigned char xdata CurFatSector[512];
  10          FREE_FAT_INFO xdata FreeFat;
  11          ////////////////////////////////////////
  12          unsigned long FirstSectorofCluster(unsigned int clusterNum)
  13          {
  14   1              unsigned long temp;
  15   1              temp=clusterNum-2;
  16   1              temp=temp*DeviceInfo.BPB_SecPerClus;
  17   1              temp=temp+DeviceInfo.FirstDataSector;
  18   1              return temp;
  19   1      }
  20          
  21          unsigned int ThisFatSecNum(unsigned int clusterNum)
  22          {
  23   1         unsigned int temp;
  24   1         temp=clusterNum*2;
  25   1         temp=temp/DeviceInfo.BPB_BytesPerSec;
  26   1         temp=temp+DeviceInfo.FatStartSector;
  27   1         return temp;
  28   1      }
  29          
  30          unsigned int ThisFatEntOffset(unsigned int clusterNum)
  31          {
  32   1              unsigned int temp1,temp2;
  33   1              temp1=2*clusterNum;
  34   1              temp2=temp1/DeviceInfo.BPB_BytesPerSec;
  35   1              temp1=temp1-temp2*DeviceInfo.BPB_BytesPerSec;
  36   1              return temp1;
  37   1      }
  38          
  39          unsigned int GetNextClusterNum(unsigned int clusterNum)
  40          {
  41   1              unsigned int xxgFatSecNum,xxgFatEntOffset;
  42   1              
  43   1              xxgFatSecNum=ThisFatSecNum(clusterNum);
  44   1              xxgFatEntOffset=ThisFatEntOffset(clusterNum);
  45   1              //ThisFile.FatSectorPointer=xxgFatSecNum;
  46   1              if(ThisFile.FatSectorPointer!=xxgFatSecNum)
  47   1              {       
  48   2                      
  49   2                      if(!RBC_Read(xxgFatSecNum,1,FATBUF))
  50   2                              return 0xFFFF;
  51   2                      ThisFile.FatSectorPointer=xxgFatSecNum;
  52   2              }
  53   1              
  54   1              ///////////////////////////////////////////////////
  55   1              clusterNum=FATBUF[xxgFatEntOffset+1];
C51 COMPILER V7.06   FAT                                                                   11/22/2004 22:08:31 PAGE 2   

  56   1              clusterNum=clusterNum<<8;
  57   1              clusterNum+=FATBUF[xxgFatEntOffset];    
  58   1              return clusterNum;
  59   1      }
  60          
  61          unsigned char DeleteClusterLink(unsigned int clusterNum)
  62          {
  63   1              //unsigned int nextClusterNum;
  64   1              unsigned int xxgFatSecNum,xxgFatEntOffset;
  65   1              //nextClusterNum=GetNextClusterNum(clusterNum);
  66   1              ////////////////////////////////////////////
  67   1              //nextClusterNum=clusterNum;
  68   1              while((clusterNum>1)&&(clusterNum<0xfff0))
  69   1              {
  70   2              xxgFatSecNum=ThisFatSecNum(clusterNum);
  71   2              xxgFatEntOffset=ThisFatEntOffset(clusterNum);
  72   2              if(RBC_Read(xxgFatSecNum,1,DBUF))
  73   2                      {
  74   3                      clusterNum=DBUF[xxgFatEntOffset+1];
  75   3                      clusterNum=clusterNum<<8;
  76   3                      clusterNum+=DBUF[xxgFatEntOffset];      
  77   3                      //return clusterNum;
  78   3                      }
  79   2              else
  80   2                      return FALSE;
  81   2              DBUF[xxgFatEntOffset]=0x00;
  82   2              DBUF[xxgFatEntOffset+1]=0x00;   
  83   2              //DelayMs(5);
  84   2              if(!RBC_Write(xxgFatSecNum,1,DBUF))
  85   2                      return FALSE;
  86   2              //DelayMs(5);
  87   2              if(!RBC_Write(xxgFatSecNum+DeviceInfo.BPB_FATSz16,1,DBUF))
  88   2                      return FALSE;
  89   2              ////////////////////////////////////////////
  90   2              }
  91   1              return TRUE;
  92   1      }
  93          
  94          /*
  95          unsigned int GetClusterNumFromSectorNum(unsigned long sectorNum)
  96          {
  97                  unsigned long temp;
  98                  temp=sectorNum-DeviceInfo.FirstDataSector;
  99                  temp=temp/DeviceInfo.BPB_SecPerClus;
 100                  temp=temp+2;
 101                  return (unsigned int)temp;
 102          }
 103          */
 104          
 105          /*
 106          unsigned long GetSecNumFromPointer(void)
 107          {
 108                  unsigned int clusterNum,clusterSize;
 109                  unsigned long temp,pointer;
 110                  pointer=ThisFile.FilePointer;
 111                  clusterSize=DeviceInfo.BPB_SecPerClus*DeviceInfo.BPB_BytesPerSec;
 112                  clusterNum=ThisFile.StartCluster;
 113                  while(pointer>clusterSize)
 114                  {
 115                          pointer-=clusterSize;   
 116                          clusterNum=GetNextClusterNum(clusterNum);
 117                  }
C51 COMPILER V7.06   FAT                                                                   11/22/2004 22:08:31 PAGE 3   

 118                  temp=FirstSectorofCluster(clusterNum)+pointer/DeviceInfo.BPB_BytesPerSec;
 119                  return temp;
 120          }
 121          */
 122          unsigned char GoToPointer(unsigned long pointer)
 123          {
 124   1              //unsigned char temp;
 125   1              unsigned int clusterSize;
 126   1              //unsigned long temp;
 127   1              //pointer=ThisFile.FilePointer;
 128   1              clusterSize=DeviceInfo.BPB_SecPerClus*DeviceInfo.BPB_BytesPerSec;
 129   1              ThisFile.ClusterPointer=ThisFile.StartCluster;
 130   1              while(pointer>clusterSize)
 131   1              {
 132   2                      pointer-=clusterSize;   
 133   2                      ThisFile.ClusterPointer=GetNextClusterNum(ThisFile.ClusterPointer);
 134   2                      if(ThisFile.ClusterPointer==0xffff)
 135   2                      {
 136   3                      return FALSE;
 137   3                      }
 138   2              }
 139   1              ThisFile.SectorofCluster=pointer/DeviceInfo.BPB_BytesPerSec;
 140   1              ThisFile.SectorPointer=FirstSectorofCluster(ThisFile.ClusterPointer)+ThisFile.SectorofCluster;
 141   1              ThisFile.OffsetofSector=pointer-ThisFile.SectorofCluster*DeviceInfo.BPB_BytesPerSec;
 142   1              ThisFile.FatSectorPointer=0;
 143   1              return TRUE;
 144   1              
 145   1      }
 146          
 147          unsigned int GetFreeCusterNum(void)
 148          {
 149   1              unsigned int clusterNum,i;
 150   1              unsigned long sectorNum;
 151   1              clusterNum=0;
 152   1              sectorNum=DeviceInfo.FatStartSector;
 153   1              while(sectorNum<DeviceInfo.BPB_FATSz16+DeviceInfo.FatStartSector)
 154   1              {
 155   2                      
 156   2                      if(!RBC_Read(sectorNum,1,DBUF))
 157   2                              return 0x0;
 158   2                      for(i=0;i<DeviceInfo.BPB_BytesPerSec;i=i+2)
 159   2                              {
 160   3                               //clusterNum++;        
 161   3                               
 162   3                               if((DBUF[i]==0)&&(DBUF[i+1]==0))
 163   3                                      {       
 164   4                                      DBUF[i]=0xff;
 165   4                                      DBUF[i+1]=0xff;
 166   4                                      //DelayMs(10);
 167   4                                      if(!RBC_Write(sectorNum,1,DBUF))
 168   4                                              return 0x00;
 169   4                                      //DelayMs(10);
 170   4                                      if(!RBC_Write(sectorNum+DeviceInfo.BPB_FATSz16,1,DBUF))
 171   4                                              return 0x00;
 172   4                                      
 173   4                                      return  clusterNum; 
 174   4                                      }
 175   3                               clusterNum++;
 176   3                              }       
 177   2                                      
 178   2                      sectorNum=2*clusterNum/DeviceInfo.BPB_BytesPerSec+DeviceInfo.FatStartSector;    
 179   2                      //clusterNum+=DeviceInfo.BPB_BytesPerSec;
C51 COMPILER V7.06   FAT                                                                   11/22/2004 22:08:31 PAGE 4   

 180   2                      //DelayMs(10);
 181   2              }
 182   1              
 183   1              return 0x0;
 184   1      }
 185          
 186          unsigned int CreateClusterLink(unsigned int currentCluster)
 187          {
 188   1              unsigned char bFound;
 189   1              unsigned int clusterNum;
 190   1              unsigned int xxgFatSecNum,xxgFatEntOffset;
 191   1              unsigned long temp;
 192   1              bFound=0;
 193   1              //////////////////////////////////////////////
 194   1              //第一次讀FAT
 195   1              if((FreeFat.SectorNum==DeviceInfo.FatStartSector)&&(FreeFat.OffsetofSector<3))
 196   1                      {       
 197   2                      if(!RBC_Read(FreeFat.SectorNum,1,CurFatSector))
 198   2                              return 0x0;     
 199   2                      }
 200   1              //////////////////////////////
 201   1              temp=FreeFat.SectorNum-DeviceInfo.FatStartSector;
 202   1              temp=temp*DeviceInfo.BPB_BytesPerSec;
 203   1              temp=temp/2;
 204   1              clusterNum=temp+FreeFat.OffsetofSector/2;
 205   1                      
 206   1              while(FreeFat.SectorNum<DeviceInfo.BPB_FATSz16+DeviceInfo.FatStartSector)
 207   1              {
 208   2                      
 209   2                      while(FreeFat.OffsetofSector<DeviceInfo.BPB_BytesPerSec)
 210   2                              {
 211   3                              
 212   3                               ///////////////////////////////////////////////
 213   3                               if((CurFatSector[FreeFat.OffsetofSector]==0)&&(CurFatSector[FreeFat.OffsetofSector+1]==0))
 214   3                                      {       
 215   4                                      CurFatSector[FreeFat.OffsetofSector]=0xff;
 216   4                                      CurFatSector[FreeFat.OffsetofSector+1]=0xff;
 217   4                                      
 218   4                                      FreeFat.OffsetofSector=FreeFat.OffsetofSector+2;
 219   4                                      //return        clusterNum; 
 220   4                                      bXXGFlags.bits.bFatChanged=1;
 221   4                                      bFound=1;
 222   4                                      break;
 223   4                                      }
 224   3                               FreeFat.OffsetofSector=FreeFat.OffsetofSector+2;
 225   3                               clusterNum++;
 226   3                              }       
 227   2                      if(bFound==1)
 228   2                              break;  
 229   2                      //FreeFat.SectorNum=2*clusterNum/DeviceInfo.BPB_BytesPerSec+DeviceInfo.FatStartSector;  
 230   2                      //FreeFat.OldSectorNum=FreeFat.SectorNum;
 231   2                      //FreeFat.SectorNum++;
 232   2                      //FreeFat.OffsetofSector=0;
 233   2                      UpdateFat(FreeFat.SectorNum);
 234   2                      
 235   2                      FreeFat.SectorNum++;
 236   2                      FreeFat.OffsetofSector=0;
 237   2                      
 238   2                      if(!RBC_Read(FreeFat.SectorNum,1,CurFatSector))
 239   2                              return 0x0;     
 240   2                      
 241   2                      
C51 COMPILER V7.06   FAT                                                                   11/22/2004 22:08:31 PAGE 5   

 242   2                      //clusterNum+=DeviceInfo.BPB_BytesPerSec;
 243   2                      //DelayMs(10);
 244   2              }
 245   1              //////////////////////////////////////////////
 246   1              if(bFound==0)
 247   1                      return 0x00;
 248   1              
 249   1              /////////////////////////////////////////////////////////////////////   
 250   1              xxgFatSecNum=ThisFatSecNum(currentCluster);
 251   1              xxgFatEntOffset=ThisFatEntOffset(currentCluster);
 252   1              
 253   1              if(xxgFatSecNum!=FreeFat.SectorNum)
 254   1                {
 255   2                      RBC_Read(xxgFatSecNum,1,DBUF);
 256   2              
 257   2              //FreeFat.OffsetofSector=FreeFat.OffsetofSector+2;
 258   2              
 259   2                      DBUF[xxgFatEntOffset]=clusterNum;
 260   2                      DBUF[xxgFatEntOffset+1]=clusterNum>>8;
 261   2                      //DelayMs(5);
 262   2                      if(!RBC_Write(xxgFatSecNum,1,DBUF))
 263   2                              return 0x00;
 264   2                      //DelayMs(10);
 265   2                      if(!RBC_Write(xxgFatSecNum+DeviceInfo.BPB_FATSz16,1,DBUF))
 266   2                              return 0x00;
 267   2                 }
 268   1               else
 269   1                 {
 270   2                      CurFatSector[xxgFatEntOffset]=clusterNum;
 271   2                      CurFatSector[xxgFatEntOffset+1]=clusterNum>>8;
 272   2                      

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
972aa.com艺术欧美| 亚洲免费资源在线播放| 精品婷婷伊人一区三区三| 日韩电影免费在线看| 国产精品久久久久影院色老大 | 日韩1区2区3区| 欧美一区二区三区免费观看视频 | 日韩欧美中文字幕公布| 精东粉嫩av免费一区二区三区| 国产婷婷精品av在线| 欧美一区二区视频在线观看2022 | 国产一区二区精品久久91| 夜夜揉揉日日人人青青一国产精品| 精品剧情v国产在线观看在线| 欧美色视频一区| 91在线观看下载| 国产精品2024| 国产精品影视在线观看| 激情五月婷婷综合| 久久99九九99精品| 蜜臀av性久久久久蜜臀aⅴ | 麻豆成人久久精品二区三区小说| 亚洲激情av在线| 亚洲黄色尤物视频| 亚洲综合一二三区| 亚洲色图一区二区三区| 18欧美亚洲精品| 亚洲免费色视频| 亚洲激情男女视频| 亚洲精品国产第一综合99久久| 中文字幕一区二区视频| 伊人一区二区三区| 亚洲成人综合视频| 经典三级在线一区| 国产一区二区三区综合 | 日韩影院精彩在线| 国产一区二三区| 91片在线免费观看| 欧美日韩黄色影视| 日韩三级高清在线| 欧美国产欧美综合| 一区二区三区在线观看国产| 午夜激情一区二区三区| 国产一区在线视频| 精品一区二区三区在线播放| 成人综合婷婷国产精品久久| 欧美日韩一区二区在线观看 | 久久这里只精品最新地址| 在线免费不卡电影| 日韩亚洲国产中文字幕欧美| 亚洲精品成a人| 亚洲一区在线视频观看| 亚洲日本成人在线观看| 日韩久久一区二区| 亚洲人精品午夜| 久久综合资源网| 亚洲国产精品二十页| 久久综合色综合88| 成人国产视频在线观看| 午夜精品福利在线| 中文字幕亚洲不卡| 精品久久久久久亚洲综合网| 欧美美女bb生活片| 国产一区视频导航| 91国产免费看| 91精品综合久久久久久| 欧美剧在线免费观看网站 | 中文一区二区完整视频在线观看| 久久婷婷综合激情| 日韩欧美不卡在线观看视频| 3751色影院一区二区三区| 91精品国产色综合久久不卡电影| 91麻豆精品国产91久久久资源速度| 久久久精品tv| 日韩av电影免费观看高清完整版| 国产精品一区二区黑丝| 在线播放国产精品二区一二区四区| 欧美国产97人人爽人人喊| 美女视频一区在线观看| 在线视频一区二区免费| 亚洲精品国产精华液| 不卡影院免费观看| 92国产精品观看| 日本一二三四高清不卡| 欧美午夜精品久久久久久孕妇| 91成人在线观看喷潮| 亚洲午夜羞羞片| 欧美日韩亚州综合| 美国十次综合导航| 精品福利在线导航| aaa欧美日韩| 国产精品狼人久久影院观看方式| 国产伦精品一区二区三区免费迷 | 成人小视频在线| 亚洲另类中文字| 欧美久久一二三四区| 国产一区在线看| 久久av中文字幕片| 久久综合色鬼综合色| 99re这里只有精品视频首页| 亚洲欧洲日韩综合一区二区| 欧美三级一区二区| 精品一区二区三区久久| 伊人婷婷欧美激情| 国产三级精品三级| 欧美巨大另类极品videosbest| 国产成人精品亚洲午夜麻豆| 一区二区三区蜜桃| 久久影院电视剧免费观看| 欧美在线一区二区三区| 国产精品综合网| 日韩精品成人一区二区在线| 欧美激情一区二区三区蜜桃视频| 91超碰这里只有精品国产| 亚洲国产精品久久久久婷婷884| 91官网在线观看| 精品一区二区在线看| 一区二区三区在线观看欧美| 国产色一区二区| 日韩欧美一级在线播放| 欧美军同video69gay| 一本久道中文字幕精品亚洲嫩| 国产91色综合久久免费分享| 久久国产乱子精品免费女| 亚洲va韩国va欧美va| 国产精品麻豆视频| 国产精品天美传媒| 国产日韩亚洲欧美综合| 一区二区视频在线| 大美女一区二区三区| 激情综合色综合久久综合| 日本成人中文字幕| 日韩国产一区二| 美女免费视频一区二区| 免费成人美女在线观看.| 青青国产91久久久久久 | av日韩在线网站| 91免费观看国产| 欧美日韩的一区二区| 在线观看日韩毛片| 3d动漫精品啪啪| 久久久久久久久久久黄色| 久久精品视频一区二区| 成人欧美一区二区三区1314| 尤物av一区二区| 日韩av电影免费观看高清完整版| 欧美激情一区三区| 国产精品国产三级国产普通话三级| 国产精品免费aⅴ片在线观看| 亚洲老司机在线| 男男gaygay亚洲| 一道本成人在线| 欧美大片顶级少妇| 亚洲四区在线观看| 香蕉影视欧美成人| 国产综合久久久久久鬼色| 色综合色综合色综合色综合色综合 | 午夜精品福利一区二区蜜股av | 奇米777欧美一区二区| 国产精品综合在线视频| 538prom精品视频线放| 国产精品国产自产拍高清av| 一区免费观看视频| 在线一区二区三区四区| 4hu四虎永久在线影院成人| 中文字幕一区二区三区四区不卡| 青娱乐精品视频| 欧美调教femdomvk| 国产精品区一区二区三区| 日韩国产在线观看| 成人福利电影精品一区二区在线观看| 日韩一级片在线观看| 亚洲欧美视频在线观看| 美女被吸乳得到大胸91| 在线观看日韩电影| 亚洲视频一二三区| 国产91精品久久久久久久网曝门 | 激情综合五月婷婷| 欧美色图一区二区三区| 亚洲欧美另类久久久精品| 成人性生交大片免费看视频在线 | 欧美性做爰猛烈叫床潮| 一卡二卡三卡日韩欧美| 成人精品视频一区二区三区 | 在线电影一区二区三区| 亚洲另类色综合网站| 91原创在线视频| 国产精品美女久久久久高潮| 色老综合老女人久久久| 国产精品欧美一区二区三区| 99re这里只有精品首页| 26uuu色噜噜精品一区| 亚洲一区二区三区在线播放| 欧美亚洲综合久久| 麻豆成人91精品二区三区| 久久九九久久九九| 成人av电影在线观看| 亚洲一区在线观看网站| 欧美一区二区三区在线| 国产成人在线看|