啟動(dòng)扇區(qū): 1、 offset 00: EB 58 90 JMP指令,字節(jié)數(shù) 3。灰線。 2、 offset 03: 4D 53 44 $2 53 35 2E 30 MSDOS5.0 廠商版本號(hào)。 字節(jié)數(shù) 8 灰色方框。 以下部分是BIOS block. 3、 offset 0B: 00 02 每扇區(qū)字節(jié)數(shù):512個(gè) 字節(jié)數(shù) 2. 紅色線。 4、 offset 0D: 08 每族占用的扇區(qū)數(shù)8個(gè)。字節(jié)數(shù) 1. 綠色方框。 5、offset 0E: 26 00 保留扇區(qū)中的保留扇區(qū)數(shù) 38個(gè)。字節(jié)數(shù) 2. 藍(lán)色線。則FAT1的開(kāi)始地址:38*512=19456=$200. 6、 offset 10: FAT表的個(gè)數(shù)。一般都為2。 一個(gè)作備份用。字節(jié)數(shù)1. 紅色方框線。 7、 offset 11-20 為一些我們不需要操作的信息。所以沒(méi)有寫(xiě)出來(lái)。

以下是FAT32 參數(shù)塊。 8、 offset 24 E5 0E FAT表占用的扇區(qū)數(shù):3813個(gè)。 則FAT表占用的字節(jié)數(shù)就是 3813*512=1952256byte=1DCA00。一共兩個(gè)FAT共占用 1952256*2=3904512個(gè)。

根據(jù)啟動(dòng)區(qū)、FAT1、FAT2、根目錄、數(shù)據(jù)區(qū)的次序,可以依次計(jì)算出它們的首地址: 啟動(dòng)區(qū):00 FAT1: 38*512=19456=$200. FAT2: 19456+3813(FAT 表占用的扇區(qū)數(shù))*512=1971712=1E1600 根目錄區(qū): 1971712+ 3813(FAT 表占用的扇區(qū)數(shù))*512=3923968=3BE000. 數(shù)據(jù)區(qū): 
下面分析根目錄區(qū): $2$2$2$2$2$2$2 
這里使用的是FAT32短文件目錄項(xiàng),每32個(gè)字節(jié)表示一個(gè)文件(文件夾也是),32個(gè)字節(jié)的表示定義分別如下 1、0ffset: 00,紅色部分 表示卷標(biāo)即SD卡名稱(chēng),是你在格式化時(shí)取的一個(gè)名子。8個(gè)字節(jié)。 2、offset: 20 字節(jié)數(shù):8個(gè)。 表示文件名稱(chēng)。全部是以大寫(xiě)方式表示。文件名:csh302ab. 3、offset:28 字節(jié)數(shù):3個(gè)。 文件擴(kuò)展名。 以ASSII碼表示。 4、offset 2B 字節(jié)數(shù):1個(gè)。 文件屬性。綠色框。 5、offset $2 reserved. 6、offset 2D,2E,$2 文件建立時(shí)間。訪問(wèn)日期。

7、offset 34,35, $2,3B 該文件的開(kāi)始簇號(hào) 高位字節(jié),低位字節(jié)。00 00 00 03,根據(jù)這個(gè)就可以找到文件下一個(gè)簇號(hào)在FAT1中的位置了。$200+3*4=$2$2.下一個(gè)簇開(kāi)始地址。 8、黑色線。文件長(zhǎng)度。$2=148316字節(jié)。因?yàn)槲募前凑照貋?lái)存放的,不夠一個(gè)簇的大小,也要給一個(gè)簇的空間。 下面分析文件的存放空間: 從BOSI 參數(shù)塊中可以知道其每簇占用8個(gè)扇區(qū)。每個(gè)扇區(qū)512字節(jié),那么一個(gè)簇的空間是8*512=4096個(gè)字節(jié),文件長(zhǎng)度為148316個(gè)字節(jié),則占用了148316 / 4096=36.2=37個(gè)簇。

上面已經(jīng)從根目錄區(qū)得到文件第一個(gè)開(kāi)始簇為03 則開(kāi)始簇開(kāi)始地址為:3BE000(根目錄區(qū)首地址)+(03-02)*(8*512)=3BF000.文件存放位置的起始地址: 則文件存放第一個(gè)簇開(kāi)始地址為:3BF000. 文件存放第二個(gè)簇開(kāi)始地址為:3BE000+(4-2) *4096=$20000. 文件存放第三個(gè)簇開(kāi)始地址為:3BE000+(5-2) *4096=$21000. . . 文件存放第37個(gè)簇開(kāi)始地址為:3BE000+(39-2) *4096=3E3000. 內(nèi)容為0x$2 FF FF FF,文件放置結(jié)束,沒(méi)有了。
|