section .data
map db 1
section .text
start:
cmp byte [map], 1
je exit
jmp start
exit:
ret
我沒有運氣讀數據。我的意思是我組裝成二進制DOS COM格式,當我啓動它時就凍結了。有人能告訴我我做錯了什麼嗎?與數據沒有運氣NASM
section .data
map db 1
section .text
start:
cmp byte [map], 1
je exit
jmp start
exit:
ret
我沒有運氣讀數據。我的意思是我組裝成二進制DOS COM格式,當我啓動它時就凍結了。有人能告訴我我做錯了什麼嗎?與數據沒有運氣NASM
DOS com文件預計將被加載到地址0x100。您應該在代碼的開始處包含行org 0x100
。
從來不知道!謝謝! – 2014-10-17 21:03:11
@ Gip-Gip,查看PSP(「程序段前綴」),找出原因。簡短版本是DOS用程序可能需要的大量信息填充段的第一個0xff字節。 – 2014-10-18 03:56:01
對於初學者來說,當沒有什麼「ret」發出時,你會發出'ret'。 – 2014-10-17 13:42:46
@DanielKamilKozar,如果內存服務正常,DOS準備好堆棧,使程序結束時的'ret'將控制返回到COMMAND.COM。但是,我沒有這個參考資源[Peter Norton的IBM PC程序員指南]。 – 2014-10-17 20:33:34