nar*_*tra 3 x86 assembly floppy bootloader
我已经开始学习装配.我遇到过这些问题.
;*************************************************;
; OEM Parameter block / BIOS Parameter Block
;*************************************************;
TIMES 0Bh-$+start DB 0
bpbBytesPerSector: DW 512
bpbSectorsPerCluster: DB 1
bpbReservedSectors: DW 1
Run Code Online (Sandbox Code Playgroud)
我对第一行声明"bpbBytesPerSector:DW 512"感到困惑.在这里我认为DW是定义单词.因此DW 512意味着定义512个字意味着1024个字节.现在标签是"bpbBytesPerSector".每个扇区的字节数应为512(这是我的想法).同样,我无法理解接下来的两行.我对这完全感到困惑.任何人都可以解释一下.谢谢.
不,dw
意味着定义单个单词512.这意味着在这里为一个单词分配空间并将值设置为512.
这是创建BIOS参数块(BPB)并将其分解:
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
Run Code Online (Sandbox Code Playgroud)