2010-04-15 32 views
4
push word 0b800h 
pop es 
xor di, di 
mov [es:di], word 441h 
jmp $ 
times 510 - ($-$$) db 0 
db 55h 
db 0AAh 
+0

引導加載程序代碼必須是16位代碼IIRC(在x86 PC平臺上) – ewanm89 2010-04-15 12:58:46

+7

該代碼沒有引用ORG的標籤/地址。 (只是猜測)16位指令是默認的? – wqw 2010-04-15 13:01:32

+0

wqw答案是正確的。您只使用CPU指令,並且文件中沒有可尋址的標籤。 16位是平面二進制文件的默認值。對於其他類型的輸出,它是32位。 – Macmade 2010-04-15 13:08:55

回答

9

因爲您正在編寫一個沒有標籤的平面二進制文件。 NASM應該默認爲16位。與此相關的事實是,您沒有地址或標籤 - 因此不需要提供[ORG ...]指令。