4
push word 0b800h
pop es
xor di, di
mov [es:di], word 441h
jmp $
times 510 - ($-$$) db 0
db 55h
db 0AAh
push word 0b800h
pop es
xor di, di
mov [es:di], word 441h
jmp $
times 510 - ($-$$) db 0
db 55h
db 0AAh
因爲您正在編寫一個沒有標籤的平面二進制文件。 NASM應該默認爲16位。與此相關的事實是,您沒有地址或標籤 - 因此不需要提供[ORG ...]指令。
引導加載程序代碼必須是16位代碼IIRC(在x86 PC平臺上) – ewanm89 2010-04-15 12:58:46
該代碼沒有引用ORG的標籤/地址。 (只是猜測)16位指令是默認的? – wqw 2010-04-15 13:01:32
wqw答案是正確的。您只使用CPU指令,並且文件中沒有可尋址的標籤。 16位是平面二進制文件的默認值。對於其他類型的輸出,它是32位。 – Macmade 2010-04-15 13:08:55