2010-11-05 145 views
3

我已經開始學彙編。我遇到了這些線。彙編代碼說明

;*************************************************; 
; OEM Parameter block/BIOS Parameter Block 
;*************************************************; 

TIMES 0Bh-$+start DB 0 

bpbBytesPerSector:  DW 512 
bpbSectorsPerCluster: DB 1 
bpbReservedSectors:  DW 1 

我就聲明 「bpbBytesPerSector:DW 512」 的第一行混淆。這裏我認爲DW是定義詞。因此DW 512表示定義512個字表示1024個字節。現在標籤是「bpbBytesPerSector」。每扇區的字節數應該是512(這是我認爲的)。同樣,我不明白下兩行。 我完全困惑於此。有人可以解釋我。提前感謝。

回答

6

否,dw裝置定義字512這意味着對於一個這裏分配空間並設置值到512

這是創建一個BIOS參數塊(BPB)和斷裂它down:

0000       TIMES 0Bh-$+start DB 0  ; allocate 11 zero bytes. 
000B bpbBytesPerSector:  DW 512      ; define one word 512 
000D bpbSectorsPerCluster: DB 1      ; define one byte 1 
000E bpbReservedSectors: DW 1      ; define one word 1 
0010 
+0

謝謝。我明白了。 – narayanpatra 2010-11-05 06:24:01

0

正如@paxdiablo已經指出的那樣,這個數字就是這個詞的值。當/如果你想定義的512個字像你描述的,你會使用類似的數組:

myarray dw 512 dup(?) 

這裏512是重複的次數,以及?是放在每個值(「?」表示「保持未初始化」,但如果您願意,可以指定一個值)。