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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tpbulk.lst

?? USB U 盤 開發(fā)的源代碼
?? LST
字號:
C51 COMPILER V7.06   TPBULK                                                                09/18/2004 01:30:02 PAGE 1   


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

stmt level    source

   1          #include "common.h"
   2          #include "SL811.H"
   3          #include "TPBULK.H"
   4          #include "HAL.H"
   5          #include "HPI.H"
   6          #include "HPI32.H"
   7          
   8          //////////////////////////////////
   9          extern unsigned char xdata DBUF[BUFFER_LENGTH];
  10          extern SYS_INFO_BLOCK xdata DeviceInfo;
  11          extern FILE_INFO xdata ThisFile;
  12          extern unsigned int xdata DirStartCluster;
  13          extern unsigned long xdata DirStartCluster32;
  14                  
  15          unsigned char idata out[0x20];
  16          ///////////////////////////////////////////////////////////////////////////
  17          unsigned char EnumMassDev(void)
  18          {
  19   1              unsigned int ReservedSectorsNum;
  20   1      
  21   1              if(!SPC_Inquiry())
  22   1                      return FALSE;
  23   1              if(!SPC_TestUnit())
  24   1                      return FALSE;
  25   1              if(!SPC_LockMedia())
  26   1                      return FALSE;
  27   1              if(!SPC_RequestSense())
  28   1                      return FALSE;
  29   1              if(!SPC_TestUnit())
  30   1                      return FALSE;
  31   1              if(!RBC_ReadCapacity())
  32   1                      return FALSE;
  33   1      
  34   1              ////////////////////////////////////////////////////
  35   1              DeviceInfo.BPB_BytesPerSec=512; //暫假設為512
  36   1              
  37   1              if(!SPC_RequestSense())
  38   1                      return FALSE;
  39   1              if(!SPC_TestUnit())
  40   1                      return FALSE;
  41   1              if(!RBC_ReadCapacity())
  42   1                      return FALSE;
  43   1              ////////////////////////////////////////////////////
  44   1              if(!RBC_Read(0x0,1,DBUF))
  45   1                      return FALSE;
  46   1              //////////////////////////////////
  47   1              if(DBUF[0]==0xeb||DBUF[0]==0xe9)
  48   1                      {
  49   2                      DeviceInfo.StartSector=0;
  50   2                      }
  51   1              else
  52   1                      {
  53   2                      DeviceInfo.StartSector=LSwapINT32(DBUF[454],DBUF[455],DBUF[456],DBUF[457]);
  54   2                      }
  55   1              ///////////////////////////////////////////////////////
C51 COMPILER V7.06   TPBULK                                                                09/18/2004 01:30:02 PAGE 2   

  56   1              if(!RBC_Read(DeviceInfo.StartSector,1,DBUF))
  57   1                      return FALSE;
  58   1      
  59   1              DeviceInfo.BPB_BytesPerSec=LSwapINT16(DBUF[11],DBUF[12]);
  60   1              DeviceInfo.BPB_SecPerClus=DBUF[13];
  61   1              ReservedSectorsNum=LSwapINT16(DBUF[14],DBUF[15]);
  62   1              DeviceInfo.BPB_NumFATs=DBUF[16];
  63   1      
  64   1              if(DBUF[82]=='F'&&DBUF[83]=='A'&&DBUF[84]=='T'&&DBUF[85]=='3'&&DBUF[86]=='2')
  65   1                      {
  66   2                      DeviceInfo.BPB_TotSec32=LSwapINT32(DBUF[32],DBUF[33],DBUF[34],DBUF[35]);
  67   2                      DeviceInfo.BPB_FATSz32=LSwapINT32(DBUF[36],DBUF[37],DBUF[38],DBUF[39]);
  68   2                      DeviceInfo.RootStartCluster=LSwapINT32(DBUF[44],DBUF[45],DBUF[46],DBUF[47]);
  69   2                      DeviceInfo.FatStartSector=DeviceInfo.StartSector+ReservedSectorsNum;
  70   2                      DeviceInfo.FirstDataSector=DeviceInfo.FatStartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz32;
  71   2                      DeviceInfo.TotCluster=(DeviceInfo.BPB_TotSec32-DeviceInfo.FirstDataSector+1)/DeviceInfo.BPB_SecPerClus+1
             -;
  72   2                      DirStartCluster32=DeviceInfo.RootStartCluster;
  73   2                      DeviceInfo.FAT=1;       //FAT16=0,FAT32=1;
  74   2                      }
  75   1              else
  76   1                      {               
  77   2                      DeviceInfo.BPB_RootEntCnt=LSwapINT16(DBUF[17],DBUF[18]);
  78   2                      DeviceInfo.BPB_RootEntCnt=(DeviceInfo.BPB_RootEntCnt)*32/DeviceInfo.BPB_BytesPerSec;    
  79   2                      DeviceInfo.BPB_TotSec16=LSwapINT16(DBUF[19],DBUF[20]);  
  80   2                      DeviceInfo.BPB_FATSz16=LSwapINT16(DBUF[22],DBUF[23]);                   
  81   2                      DeviceInfo.FatStartSector=DeviceInfo.StartSector+ReservedSectorsNum;
  82   2                      DeviceInfo.RootStartSector=DeviceInfo.StartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz16+Reserved
             -SectorsNum;        
  83   2                      DeviceInfo.FirstDataSector=DeviceInfo.FatStartSector+DeviceInfo.BPB_NumFATs*DeviceInfo.BPB_FATSz16+Devic
             -eInfo.BPB_RootEntCnt;
  84   2                      DeviceInfo.FAT=0;
  85   2                      }               
  86   1              ///////////////////////////////////////////////////////
  87   1              ThisFile.bFileOpen=0;   
  88   1              ///////////////////////////////////////////////////////
  89   1              return TRUE;
  90   1      }
  91          
  92          unsigned char SPC_Inquiry(void)
  93          {
  94   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
  95   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;
  96   1              out[8]=0x24;out[9]=0x00;out[10]=0x00;out[11]=0x00;
  97   1              out[12]=0x80;out[13]=0x00;out[14]=06;   
  98   1              out[15]=SPC_CMD_INQUIRY;out[16]=0x00;out[17]=0x00;
  99   1              out[18]=0x00;out[19]=0x24;out[20]=0x00; 
 100   1              ////////////////////////////////
 101   1              if(!epBulkSend(out,0x1f))       
 102   1                      return FALSE;
 103   1              DelayMs(150);
 104   1              if(!epBulkRcv(DBUF,38))
 105   1                      return FALSE;   
 106   1              if(!epBulkRcv(out,13))
 107   1                      return FALSE;
 108   1              ////////////////////////////////
 109   1              return TRUE;    
 110   1      }
 111          
 112          unsigned char SPC_RequestSense(void)
 113          {
 114   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
C51 COMPILER V7.06   TPBULK                                                                09/18/2004 01:30:02 PAGE 3   

 115   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;
 116   1              out[8]=0x0e;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 117   1              out[12]=0x80;out[13]=0x00;out[14]=6;
 118   1              out[15]=SPC_CMD_REQUESTSENSE;out[16]=0x00;out[17]=0x00;
 119   1              out[18]=0x00;out[19]=0x0e;out[20]=0x00;         
 120   1              //////////////////////////////////////
 121   1              if(!epBulkSend(out,0x1f))       
 122   1                      return FALSE;
 123   1              DelayMs(5);
 124   1              if(!epBulkRcv(out,18))
 125   1                      return FALSE;   
 126   1              //delay_dsp
 127   1              if(!epBulkRcv(out,13))
 128   1                      return FALSE;
 129   1      /////////////////////////////
 130   1              return TRUE;
 131   1      }
 132          
 133          unsigned char SPC_TestUnit(void)
 134          {
 135   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 136   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 137   1              out[8]=0x00;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 138   1              out[12]=0x00;out[13]=0x00;out[14]=6;
 139   1              /////////////////////////////////////   
 140   1              out[15]=SPC_CMD_TESTUNITREADY;
 141   1              out[16]=0;out[17]=0;out[18]=0;out[19]=0;out[20]=0;
 142   1              //////////////////////////////////////
 143   1              if(!epBulkSend(out,0x1f))       
 144   1                      return FALSE;
 145   1              DelayMs(5);
 146   1              if(!epBulkRcv(out,13))
 147   1                      return FALSE;
 148   1              return TRUE;
 149   1      }
 150          
 151          unsigned char SPC_LockMedia(void)
 152          {
 153   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
 154   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 155   1              out[8]=0x00;out[9]=0x00;out[10]=0x00;out[11]=0x00;
 156   1              out[12]=0x00;out[13]=0x00;out[14]=5;
 157   1              ///////////////////////////////////////////
 158   1              out[15]=SPC_CMD_PRVENTALLOWMEDIUMREMOVAL;
 159   1              out[16]=0;out[17]=0;out[18]=0;out[19]=1;
 160   1              ///////////////////////////////////////////
 161   1              if(!epBulkSend(out,0x1f))       
 162   1                      return FALSE;
 163   1              DelayMs(5);
 164   1      
 165   1              if(!epBulkRcv(out,13))
 166   1                      return FALSE;
 167   1      
 168   1      /////////////////////////////
 169   1              return TRUE;
 170   1      }
 171          
 172          unsigned char RBC_ReadCapacity(void)
 173          {
 174   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 175   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 176   1              out[8]=0x08;out[9]=0x00;out[10]=0x00;out[11]=0x00;      
C51 COMPILER V7.06   TPBULK                                                                09/18/2004 01:30:02 PAGE 4   

 177   1              out[12]=0x80;out[13]=0x00;out[14]=10;
 178   1              /////////////////////////////////////
 179   1              out[15]=RBC_CMD_READCAPACITY;
 180   1              out[16]=0;out[17]=0;out[18]=0;out[19]=0;
 181   1              out[20]=0;out[21]=0;out[22]=0;out[23]=0;
 182   1              out[24]=0;
 183   1              /////////////////////////////////////
 184   1              if(!epBulkSend(out,0x1f))       
 185   1                      return FALSE;
 186   1              DelayMs(10);
 187   1              if(!epBulkRcv(DBUF,8))
 188   1                      return FALSE;
 189   1              if(!epBulkRcv(out,13))
 190   1                      return FALSE;
 191   1              /////////////////////////////
 192   1              return TRUE;
 193   1      }
 194          
 195          unsigned char RBC_Read(unsigned long lba,unsigned char len,unsigned char *pBuffer)
 196          {
 197   1              unsigned long lout;     
 198   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;        
 199   1              out[4]=0x60;out[5]=0xa6;out[6]=0x24;out[7]=0xde;        
 200   1              lout=len*DeviceInfo.BPB_BytesPerSec;
 201   1              out[8]=(unsigned char)(lout&0xff);
 202   1              out[9]=(unsigned char)((lout>>8)&0xff);
 203   1              out[10]=(unsigned char)((lout>>16)&0xff);
 204   1              out[11]=(unsigned char)((lout>>24)&0xff);       
 205   1              out[12]=0x80;out[13]=0x00;out[14]=10;
 206   1              /////////////////////////////////////
 207   1              out[15]=RBC_CMD_READ10;out[16]=0x00;
 208   1              out[17]=(unsigned char)((lba>>24)&0xff);
 209   1              out[18]=(unsigned char)((lba>>16)&0xff);
 210   1              out[19]=(unsigned char)((lba>>8)&0xff);
 211   1              out[20]=(unsigned char)(lba&0xff);      
 212   1              out[21]=0x00;
 213   1              out[22]=(unsigned char)((len>>8)&0xff);
 214   1              out[23]=(unsigned char)(len&0xff);      
 215   1              out[24]=0x00;
 216   1              //////////////////////////////////////  
 217   1              if(!epBulkSend(out,0x1f))       
 218   1                      return FALSE;
 219   1              DelayMs(5);
 220   1              if(!epBulkRcv(pBuffer,len*DeviceInfo.BPB_BytesPerSec))
 221   1                      return FALSE;
 222   1              if(!epBulkRcv(out,13))
 223   1                      return FALSE;           
 224   1              /////////////////////////////
 225   1              return TRUE;
 226   1      }
 227          
 228          unsigned char RBC_Write(unsigned long lba,unsigned char len,unsigned char *pBuffer)
 229          {
 230   1              unsigned long lout;
 231   1              out[0]=0x55;out[1]=0x53;out[2]=0x42;out[3]=0x43;
 232   1              out[4]=0xb4;out[5]=0xd9;out[6]=0x77;out[7]=0xc1;        
 233   1              lout=len*DeviceInfo.BPB_BytesPerSec;
 234   1              out[8]=(unsigned char)(lout&0xff);
 235   1              out[9]=(unsigned char)((lout>>8)&0xff);
 236   1              out[10]=(unsigned char)((lout>>16)&0xff);
 237   1              out[11]=(unsigned char)((lout>>24)&0xff);       
 238   1              out[12]=0x00;out[13]=0x00;out[14]=10;
C51 COMPILER V7.06   TPBULK                                                                09/18/2004 01:30:02 PAGE 5   

 239   1              /////////////////////////////////////
 240   1              out[15]=RBC_CMD_WRITE10;        
 241   1              out[16]=0x00;
 242   1              out[17]=(unsigned char)((lba>>24)&0xff);
 243   1              out[18]=(unsigned char)((lba>>16)&0xff);
 244   1              out[19]=(unsigned char)((lba>>8)&0xff);
 245   1              out[20]=(unsigned char)(lba&0xff);
 246   1              out[21]=0x00;
 247   1              out[22]=(unsigned char)((len>>8)&0xff);
 248   1              out[23]=(unsigned char)(len&0xff);      
 249   1              out[24]=0x00;
 250   1              //////////////////////////////////////
 251   1              if(!epBulkSend(out,0x1f))       
 252   1                      return FALSE;
 253   1              DelayMs(15);
 254   1              if(!epBulkSend(pBuffer,DeviceInfo.BPB_BytesPerSec))
 255   1                      return FALSE;
 256   1              DelayMs(10);    
 257   1              if(!epBulkRcv(out,13))
 258   1                      return FALSE;
 259   1              return TRUE;
 260   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2091    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      26
   IDATA SIZE       =     32    ----
   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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频中文字幕一区二区三区| a4yy欧美一区二区三区| 国产一区二区剧情av在线| 色综合天天综合网国产成人综合天| 678五月天丁香亚洲综合网| 欧美激情在线一区二区三区| 石原莉奈在线亚洲二区| 91影院在线观看| 国产亚洲精品bt天堂精选| 日本在线不卡视频一二三区| 在线观看日韩一区| 国产精品久久久久久久久免费桃花| 久久国产精品一区二区| 欧美日韩在线电影| 亚洲免费资源在线播放| 丁香激情综合国产| 精品盗摄一区二区三区| 丝袜亚洲另类欧美综合| 欧美综合天天夜夜久久| 亚洲三级在线观看| 成人黄色a**站在线观看| 久久免费看少妇高潮| 免费成人在线观看| 91精品福利在线一区二区三区 | 91久久精品一区二区二区| 日本一区二区三区免费乱视频| 久久se精品一区精品二区| 欧美电影免费观看高清完整版在 | 精品亚洲欧美一区| 宅男在线国产精品| 免费在线观看一区| 91精品在线一区二区| 午夜影院在线观看欧美| 777亚洲妇女| 蜜桃视频在线观看一区| 精品国产a毛片| 国产成人精品三级| 国产精品成人免费在线| 91麻豆蜜桃一区二区三区| 一区二区视频在线| 欧美视频精品在线| 亚洲18色成人| 日韩欧美另类在线| 国产一区二区视频在线播放| 国产欧美一区二区精品仙草咪 | 毛片不卡一区二区| 精品欧美乱码久久久久久1区2区| 久草在线在线精品观看| 国产农村妇女精品| 91蝌蚪porny| 日精品一区二区三区| 久久色在线观看| 福利电影一区二区三区| 综合久久一区二区三区| 欧美日韩在线三级| 国内一区二区在线| **网站欧美大片在线观看| 欧美视频中文一区二区三区在线观看| 天堂在线亚洲视频| 国产精品三级久久久久三级| 欧美在线三级电影| 激情综合色播激情啊| 日韩一区中文字幕| 欧美一二三四区在线| 成人av资源在线| 视频一区视频二区中文字幕| 中文字幕成人在线观看| 欧美人妖巨大在线| 成人美女在线视频| 日韩成人免费电影| 亚洲色图欧洲色图婷婷| 日韩免费在线观看| 91免费看`日韩一区二区| 另类人妖一区二区av| 亚洲欧美日韩国产成人精品影院| 日韩一级欧美一级| 一本色道亚洲精品aⅴ| 国产一区二区福利视频| 亚洲地区一二三色| 亚洲国产精华液网站w| 欧美一级一区二区| 91国产免费观看| 成人理论电影网| 激情av综合网| 五月天亚洲精品| 国产精品久久久久一区 | 国产一区不卡视频| 亚洲国产综合在线| 最新日韩av在线| 久久久久99精品一区| 91精品国产综合久久精品图片 | 久久美女艺术照精彩视频福利播放| 播五月开心婷婷综合| 麻豆国产精品777777在线| 亚洲精品老司机| 中文字幕一区二区视频| 国产欧美精品一区| 久久精品一区八戒影视| 日韩欧美专区在线| 欧美日韩dvd在线观看| 色94色欧美sute亚洲线路一久| 高清免费成人av| 国模套图日韩精品一区二区| 日本欧美在线观看| 爽好久久久欧美精品| 亚洲一二三区在线观看| 亚洲制服丝袜在线| 亚洲综合久久久| 亚洲黄色免费网站| 亚洲五码中文字幕| 亚洲电影一区二区| 亚洲国产视频一区| 亚洲成av人片在线观看| 亚洲第一综合色| 婷婷国产在线综合| 日本伊人精品一区二区三区观看方式| 亚洲一区二区在线播放相泽| 亚洲国产中文字幕| 日韩高清在线不卡| 青青草国产精品亚洲专区无| 久久电影网站中文字幕| 国产一区高清在线| 成人午夜伦理影院| 91麻豆自制传媒国产之光| 色综合天天综合色综合av | 精品国产三级a在线观看| 欧美一级黄色录像| 久久婷婷久久一区二区三区| 中文字幕精品综合| 一区二区三区在线观看欧美| 亚洲国产成人porn| 麻豆精品国产传媒mv男同| 国产精品一卡二卡在线观看| 成人99免费视频| 欧美日韩精品一区二区三区| 欧美一区二区精品在线| 久久亚洲影视婷婷| 亚洲精品视频在线观看免费 | 中文字幕制服丝袜一区二区三区| 国产精品久久久久久久久久久免费看 | 国产一区二区成人久久免费影院| 琪琪一区二区三区| 国产成人在线看| 91国产免费看| 精品av久久707| 亚洲欧美日韩国产成人精品影院 | 亚洲欧美日韩国产中文在线| 婷婷综合另类小说色区| 国产精品88888| 欧美色视频在线| 久久精品一区八戒影视| 亚洲午夜久久久久久久久电影网| 青青草91视频| 99精品欧美一区| 日韩欧美成人一区| 亚洲视频在线一区二区| 免费看精品久久片| 色婷婷av一区二区三区之一色屋| 欧美一个色资源| 亚洲精品免费播放| 国产二区国产一区在线观看| 欧美日韩一区二区三区在线| 欧美韩国日本不卡| 日韩国产欧美在线视频| 91网站黄www| 国产色产综合色产在线视频| 日韩精品欧美精品| 91蜜桃传媒精品久久久一区二区| 日韩免费高清电影| 亚洲一区在线免费观看| 成人av集中营| 精品国产一区二区三区忘忧草| 亚洲精品国产一区二区精华液| 国产中文一区二区三区| 这里只有精品视频在线观看| 1024亚洲合集| 成人手机电影网| 久久这里只有精品6| 日韩激情中文字幕| 欧美亚洲动漫另类| 亚洲日本在线a| 成人性视频网站| 久久久久久久久久久久久女国产乱| 天天综合天天做天天综合| 91成人国产精品| 亚洲欧洲美洲综合色网| 粉嫩嫩av羞羞动漫久久久 | 日韩欧美亚洲国产精品字幕久久久| 亚洲美女区一区| 91亚洲精品久久久蜜桃网站| 亚洲国产成人私人影院tom| 国内精品伊人久久久久av影院| 日韩亚洲欧美高清| 日韩va欧美va亚洲va久久| 欧美日韩一区二区三区免费看| 亚洲人成人一区二区在线观看| 波多野结衣91| 1024成人网色www| 色婷婷亚洲综合| 亚洲一区二区综合|