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

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

?? fat.c

?? 這是用C語言寫的USB源程序,相信對大家有所幫助
?? C
字號:

/*_____ V A R I A B L E __________________________________________________*/
bdata  bit     dir_is_root;     /* TRUE: point the root directory  */
//bdata  bit     fat_open_mode;        // READ or WRITE 

data   Byte    fat_cluster_size; /* cluster size (sector count) */
data   Byte    fat_cluster_mask; /* mask for end of cluster test */

//xdata  char    ext[3];           /* file extension (limited to 3 characters) */
xdata  Uint32  fat_nb_sector;
xdata  Uint32  fat_hidden_sector;
xdata  Byte    fat_sector_per_track;
xdata  Byte    fat_end_head;
xdata  Uint16  fat_end_cylinder;
xdata  Uint32  fat_ptr_fats;    /* address of the first byte of FAT */
xdata  Uint32  fat_ptr_rdir;    /* address of the first byte of root dir */
xdata  Uint32  fat_ptr_data;    /* address of the first byte of data */

xdata  Uint16  nb_reserved_sector;
/*F**************************************************************************
* NAME: fat_format
 PURPOSE:
*   Create single FAT12 or FAT16 partition and format the selected memory 
*/
void fat_format ()
{
  #define WAV_CLUST_SIZE  (Uint16)((WAV_SECTOR_SIZE) / fat_cluster_size)
  #define FORMAT_NB_CYLINDER            (*tab).nb_cylinder
  #define FORMAT_NB_HEAD                (*tab).nb_head
  #define FORMAT_NB_SECTOR              (*tab).nb_sector
  #define FORMAT_NB_HIDDEN_SECTOR       (*tab).nb_hidden_sector
  #define FORMAT_NB_SECTOR_PER_CLUSTER  (*tab).nb_sector_per_cluster

Byte i, j;
Uint32 nb_total_sectors;
Uint32 temp;
Uint16 nb_sector_fat;
s_format  code  *tab;

	tab = Hard_format();
	fat_cluster_size = FORMAT_NB_SECTOR_PER_CLUSTER;
	nb_total_sectors = (Uint32)FORMAT_NB_CYLINDER * ((Uint16)FORMAT_NB_HEAD * FORMAT_NB_SECTOR);
 
  // FAT type caculation 
	fat_is_fat16 = ((nb_total_sectors  / fat_cluster_size) > MAX_CLUSTERS12);

  // -- MASTER BOOT RECORD -- 
	Hard_write_open(0x00);

	for (i = 446/2; i != 0; i--)              // Boot Code 
	{
		Hard_write_byte(0x00);
		Hard_write_byte(0x00);
	}


  // First Partition entry 
i=0;
	gl_buffer[i++]=0x80;                    // Default Boot Partition 
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR / FORMAT_NB_SECTOR);       // Start head 
  	gl_buffer[i++]=(Byte)((FORMAT_NB_HIDDEN_SECTOR % FORMAT_NB_SECTOR) + 1); // Start Sector 
  	gl_buffer[i++]=0x00;                    // Start Cylinder 
	if (fat_is_fat16)
	{
//    if (nb_total_sectors > 0xFFFF)          // Total Sectors 
		if((((Byte *)&nb_total_sectors)[0]!=0)||(((Byte *)&nb_total_sectors)[1]!=0))
		{
      	gl_buffer[i++]=FAT16_SUP32M;        // FAT16 > 32 Mbytes 
		}
		else
		{
      	gl_buffer[i++]=FAT16_INF32M;        // FAT16 < 32 Mbytes 
		}
	}
	else
	{
		gl_buffer[i++]=FAT12;                 // FAT12 
	}
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HEAD - 1); // Endhead-Zero-based(0)head number 
  	gl_buffer[i++]=(Byte)((((FORMAT_NB_CYLINDER - 1) / 0x04) & 0xC0) +  FORMAT_NB_SECTOR);  
                                                            // EndSector-Zero-based(1) sector number 
  	gl_buffer[i++]=(Byte)((FORMAT_NB_CYLINDER - 1) & 0xFF); // EndCylinder 
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR );        // Start sector
  	gl_buffer[i++]=0x00;
  	gl_buffer[i++]=0x00;
  	gl_buffer[i++]=0x00;
  
	temp = nb_total_sectors - FORMAT_NB_HIDDEN_SECTOR;
	gl_buffer[i++] = ((Byte *)&temp)[3];
	gl_buffer[i++] = ((Byte *)&temp)[2];
	gl_buffer[i++] = ((Byte *)&temp)[1];
	gl_buffer[i++] = ((Byte *)&temp)[0];


	for(j=0;j<48;j++)	gl_buffer[i++]=0x00;

	gl_buffer[i++]=0x55;                    // Signature Word 
	gl_buffer[i++]=0xAA;


	j=0;
	for (; i != 0; i--)              // Boot Code 
	{
		Hard_write_byte(gl_buffer[j++]);
	}

  // -- HIDDEN SECTORS -- 
  for (j = FORMAT_NB_HIDDEN_SECTOR - 1; j != 0; j--)
  {
    for (i = (SECTOR_SIZE / 4); i != 0; i--)
    {
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
    }
  }
 

  // -- PARTITION BOOT RECORD -- 
i=0;

	gl_buffer[i++]=0xEB;                    // JMP inst to PBR boot code 
  	gl_buffer[i++]=0x3C;
  	gl_buffer[i++]=0x90;
  	gl_buffer[i++]='O';                     // OEM name 
  	gl_buffer[i++]='E';
  	gl_buffer[i++]='M';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]='N';
  	gl_buffer[i++]='A';
  	gl_buffer[i++]='M';
  	gl_buffer[i++]='E';
  	gl_buffer[i++]=(Byte)SECTOR_SIZE;             // number of bytes per sector 
  	gl_buffer[i++]=(Byte)(SECTOR_SIZE >> 8);
  	gl_buffer[i++]=fat_cluster_size;        // Number of sector per cluster 
  	gl_buffer[i++]=(Byte)nb_reserved_sector;             // number of reserved sector 
  	gl_buffer[i++]=(Byte)(nb_reserved_sector >> 8);
  	gl_buffer[i++]=NB_FATS;                 // Number of FAT 
  	gl_buffer[i++]=(Byte)NB_ROOT_ENTRY;           // number of root directory entries 
  	gl_buffer[i++]=(Byte)(NB_ROOT_ENTRY >> 8);
                                                            
//  if (nb_total_sectors > 0xFFFF)            // Total Sectors 
	if((((Byte *)&nb_total_sectors)[0]!=0)||(((Byte *)&nb_total_sectors)[1]!=0))
  {
    	gl_buffer[i++]=0x00;
    	gl_buffer[i++]=0x00;
  }
  else
  {
		gl_buffer[i++] = ((Byte *)&temp)[3];
		gl_buffer[i++] = ((Byte *)&temp)[2];

  }

  	gl_buffer[i++]=HARD_DISK;               // Media Byte 
  // Number of sector in each FAT 

	if (fat_is_fat16) 
	{
		nb_sector_fat = ((temp / fat_cluster_size) * 2 / 512) + 1;
	}
	else
	{
		nb_sector_fat = ((temp / fat_cluster_size) * 3 / 1024) + 1;
	}

  	gl_buffer[i++]=(Byte)(nb_sector_fat);
  	gl_buffer[i++]=(Byte)(nb_sector_fat >> 8);
  	gl_buffer[i++]=(Byte)(FORMAT_NB_SECTOR);              // Number of sectors on a track 
  	gl_buffer[i++]=(Byte)(FORMAT_NB_SECTOR >> 8);
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HEAD);                // Number of heads 
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HEAD >> 8);

	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR);       // Number of hidden sectors 
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR >> 8);
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR >> 16);
  	gl_buffer[i++]=(Byte)(FORMAT_NB_HIDDEN_SECTOR >> 24);

//  if (nb_total_sectors > 0xFFFF)
	if((((Byte *)&nb_total_sectors)[0]!=0)||(((Byte *)&nb_total_sectors)[1]!=0))
  { // number of sectors > 65535 
		gl_buffer[i++] = ((Byte *)&temp)[3];
		gl_buffer[i++] = ((Byte *)&temp)[2];
		gl_buffer[i++] = ((Byte *)&temp)[1];
		gl_buffer[i++] = ((Byte *)&temp)[0];

  }
  else
  { // number of sectors < 65535 
    	gl_buffer[i++]=0x00;
    	gl_buffer[i++]=0x00;
    	gl_buffer[i++]=0x00;
    	gl_buffer[i++]=0x00;
  }
  	gl_buffer[i++]=FAT_DRIVE_NUMBER;        // Driver number  
  	gl_buffer[i++]=0x00;                    // not used 
  	gl_buffer[i++]=FAT_EXT_SIGN;            // extended boot signature 
  	gl_buffer[i++]=0x00;                    // volume ID 
  	gl_buffer[i++]=0x00;
  	gl_buffer[i++]=0x00;
  	gl_buffer[i++]=0x00;
  	gl_buffer[i++]='N';                     // Volume Label 
  	gl_buffer[i++]='O';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]='N';
  	gl_buffer[i++]='A';
  	gl_buffer[i++]='M';
  	gl_buffer[i++]='E';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]='F';                     // File System Type in ASCII 
  	gl_buffer[i++]='A';
  	gl_buffer[i++]='T';
  	gl_buffer[i++]='1';
  if (fat_is_fat16)
  {
    	gl_buffer[i++]='6';
  }
  else
  {
    	gl_buffer[i++]='2';
  }
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]=' ';
  	gl_buffer[i++]=' ';

	j=0;
	for (; i != 0; i--)              // Boot Code 
	{
		Hard_write_byte(gl_buffer[j++]);
	}

	for (i = 448/2; i != 0; i--)              // Boot Code 
	{
		Hard_write_byte(0x00);
   	Hard_write_byte(0x00);
	}
	Hard_write_byte(0x55);                    // Signature word 
	Hard_write_byte(0xAA);

  for (j = (nb_reserved_sector-1); j != 0 ; j--)
  {
    for (i = 128; i != 0; i--)
    {
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
    }
  }

  //------------------
  // -- FATS -- 
  // -- FAT 1 -- 
  Hard_write_byte(0xF8);                    // reserved clusters 0 & 1 
  Hard_write_byte(0xFF);
  Hard_write_byte(0xFF);
  if (fat_is_fat16)
  { // FAT16 
    Hard_write_byte(0xFF);
  }
  else
  { // FAT12 
    Hard_write_byte(0x00);
  }
  // free clusters in first FAT sector 
  for (i = (SECTOR_SIZE - 4) / 2; i != 0; i--)
  {
    Hard_write_byte(0x00);
    Hard_write_byte(0x00);
  }
  // free clusters in other FAT sectors 
  for (j = nb_sector_fat - 1; j != 0; j--)
  {
    for (i = SECTOR_SIZE / 4; i != 0; i--)
    {
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
    }
  }

  // -- FAT 2 -- 
  Hard_write_byte(0xF8);                    // reserved clusters 0 & 1 
  Hard_write_byte(0xFF);
  Hard_write_byte(0xFF);
  if (fat_is_fat16)
  { // FAT16 
    Hard_write_byte(0xFF);
  }
  else
  { // FAT12 
    Hard_write_byte(0x00);
  }
  // free clusters in first FAT sector 
  for (i = (SECTOR_SIZE - 4) / 2; i != 0; i--)
  {
    Hard_write_byte(0x00);
    Hard_write_byte(0x00);
  }
  // free clusters in other FAT sectors 
  for (j = nb_sector_fat - 1; j != 0; j--)
  {
    for (i = SECTOR_SIZE / 4; i != 0; i--)
    {
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
    }
  }


  // -- ROOT DIRECTORY ENTRIES -- 
  for (j = NB_ROOT_ENTRY / 4; j != 0 ; j--)
  {
    for (i = DIR_SIZE; i != 0; i--)
    {
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
      Hard_write_byte(0x00);
    }
  }
  Hard_write_close();
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人18毛片水真多成人如厕| 91精品免费观看| 国内精品写真在线观看| 日韩精品乱码av一区二区| 亚洲成人免费观看| 亚洲午夜日本在线观看| 亚洲午夜成aⅴ人片| 亚洲午夜激情网站| 蜜桃一区二区三区四区| 国产另类ts人妖一区二区| 国产精品一区二区无线| 不卡一二三区首页| 91福利资源站| 精品久久国产97色综合| 中文字幕精品一区二区精品绿巨人 | 亚洲欧美日韩国产手机在线| 自拍偷拍亚洲激情| 亚洲一二三专区| 免费人成精品欧美精品| 国产精品一区一区| 91久久精品日日躁夜夜躁欧美| 欧美日本在线看| 久久综合国产精品| 亚洲免费观看高清完整版在线| 亚洲精品中文字幕乱码三区| 午夜精品一区在线观看| 国产酒店精品激情| 欧美亚洲综合一区| 久久久久久9999| 亚洲国产毛片aaaaa无费看| 日本sm残虐另类| 91免费看`日韩一区二区| 91精品国产一区二区三区| 久久久www免费人成精品| 中文字幕综合网| 日韩国产在线一| 99热精品一区二区| 久久综合国产精品| 日本不卡一区二区三区高清视频| 国产不卡视频一区二区三区| 欧美伦理影视网| 日韩一区欧美小说| 国产一区二区三区免费播放| 欧美无砖专区一中文字| 国产精品你懂的在线| 日韩中文字幕区一区有砖一区 | 在线观看日韩一区| 久久精品一区蜜桃臀影院| 亚洲aaa精品| 成人av网在线| 久久久久久久av麻豆果冻| 日韩av午夜在线观看| 91在线视频免费观看| 精品成人一区二区三区四区| 亚洲亚洲人成综合网络| 99久久伊人久久99| 中文久久乱码一区二区| 久久er99热精品一区二区| 欧美精品99久久久**| 亚洲黄色免费电影| 91社区在线播放| 国产精品乱子久久久久| 国产美女精品人人做人人爽| 欧美大片免费久久精品三p| 舔着乳尖日韩一区| 欧美日韩精品欧美日韩精品一 | 91精品国产综合久久福利软件| 最新中文字幕一区二区三区 | 一区二区高清免费观看影视大全| 国产 欧美在线| 日本一区二区三区国色天香| 国产精品中文有码| 国产亚洲精品aa午夜观看| 国产精品资源网| 日本一区二区成人在线| 丁香天五香天堂综合| 欧美国产精品一区二区| 成人18视频在线播放| 国产精品久久久久影视| yourporn久久国产精品| 亚洲人成网站精品片在线观看 | 久久精品免费观看| 久久婷婷成人综合色| 国产宾馆实践打屁股91| 国产精品久久久久aaaa| 91香蕉视频在线| 性欧美疯狂xxxxbbbb| 欧美日韩成人在线一区| 美腿丝袜亚洲一区| 欧美高清在线一区| 91福利区一区二区三区| 天堂一区二区在线| 久久先锋资源网| 91视频在线观看免费| 亚洲一区二区三区国产| 欧美一区二区三区不卡| 国产精品亚洲а∨天堂免在线| 国产精品精品国产色婷婷| 欧美日韩小视频| 国产高清在线观看免费不卡| 亚洲最新视频在线播放| 精品久久久久久久久久久久包黑料| 国产成人激情av| 亚洲国产你懂的| 国产亚洲精品aa午夜观看| 欧美在线短视频| 狠狠v欧美v日韩v亚洲ⅴ| 最新高清无码专区| 精品免费一区二区三区| 美女精品自拍一二三四| 久久久99久久精品欧美| 欧洲国内综合视频| 韩国女主播一区| 有坂深雪av一区二区精品| 欧美午夜精品久久久久久超碰| 日韩美女天天操| 欧美亚洲动漫精品| 欧美日韩亚洲另类| 91麻豆精品91久久久久久清纯| 欧美理论电影在线| 这里只有精品免费| 欧美tk—视频vk| 国产午夜精品久久久久久久| 国产网红主播福利一区二区| 亚洲国产精品国自产拍av| 国产精品三级久久久久三级| 亚洲欧洲精品一区二区三区 | 亚洲一区二区av在线| 亚洲午夜久久久久| 久久99热这里只有精品| 国产一区二区看久久| 成人免费毛片高清视频| 色综合久久久久久久久久久| 欧美午夜一区二区三区| 日韩欧美国产精品一区| 中文字幕免费观看一区| 亚洲人成网站精品片在线观看| 亚洲国产aⅴ天堂久久| 久久97超碰国产精品超碰| 国产成人精品亚洲777人妖| 91香蕉国产在线观看软件| 欧美精品一二三区| 久久影院电视剧免费观看| 中文字幕制服丝袜成人av| 一片黄亚洲嫩模| 久久99热这里只有精品| 99精品国产视频| 欧美绝品在线观看成人午夜影视| 337p日本欧洲亚洲大胆色噜噜| 国产精品不卡在线观看| 天天射综合影视| 粉嫩av一区二区三区| 欧美顶级少妇做爰| 国产精品乱人伦| 蜜臀久久99精品久久久久宅男 | 欧美一级精品在线| 亚洲欧洲国产专区| 男人的天堂亚洲一区| 国产91精品一区二区| 7777精品伊人久久久大香线蕉经典版下载| 精品精品欲导航| 亚洲成人av免费| caoporm超碰国产精品| 日韩久久精品一区| 亚洲精品乱码久久久久久日本蜜臀| 久久精品国产99久久6| 欧美日韩一二三区| 亚洲色图20p| 国产成人久久精品77777最新版本| 欧美精品在线视频| 一区二区视频免费在线观看| 国产精品88888| 日韩欧美一二区| 婷婷综合在线观看| 日本丶国产丶欧美色综合| 中文字幕第一页久久| 九色|91porny| 欧美年轻男男videosbes| 亚洲免费观看高清在线观看| 成人一级黄色片| 久久久www成人免费无遮挡大片| 男女男精品视频网| 7777精品伊人久久久大香线蕉完整版 | 亚洲综合偷拍欧美一区色| 成人黄色一级视频| 国产欧美日韩在线看| 国产米奇在线777精品观看| 欧美一级二级三级乱码| 天堂蜜桃一区二区三区| 欧美日韩一区二区三区在线 | 国产一区二区视频在线| 欧美一区二区三区啪啪| 天天综合网 天天综合色| 欧美视频中文字幕| 亚洲综合无码一区二区| 欧美日韩在线观看一区二区 | 成人免费看黄yyy456| 国产欧美精品一区二区色综合| 国产精品一区二区三区99| 国产午夜精品一区二区|