[英]Test native x86 programs, building bootable images/drives
我有下一個問題:我正在與NASM合作,構建一些本機並以這種方式進行編譯:
nasm -f bin source -o out
我正在獲取x86的本機程序。
現在最有趣的是,如何使它可啟動然后進行測試?
我認為可以通過3種方式使它們可啟動(但是對我來說,它們都失敗了:()
至於測試,每次重新啟動PC都是很糟糕的,因此最好使用一些虛擬OS軟件,例如Vbox,VMWare等。
所以我為此使用了VBox。 用於構建ISO-我使用了CDBurnerXP。
使用cdburner,我為本機程序選擇了可啟動扇區,然后在Vbox中選擇新的ISO作為磁盤,我的程序將從中啟動。
結果始終是空白屏幕,沒有錯誤顯示,什么也沒有...
我認為我有很多錯誤...
使用mkbt,我無法將其寫入USB驅動程序。...我現在沒有flooppy,因此我無法將圖像寫入軟盤,mkbt無法寫入USB ... :(
我怎么了
我該如何解決我的問題?
只要這樣做:
nasm -f bin -o boot.bin boot.asm
qemu-啟動命令= a -fda boot.bin
並且您應該看到消息。 對於其他仿真器,您需要將圖像填充到1474560字節。
boot.asm:
BITS 16
ORG 0
jmp 0x07c0:start
start:
mov ax, cs
mov ds, ax
mov si, msg
call print_string
hang:
jmp hang
print_string:
cld
lodsb
or al, al
jz .done
mov ah, 0x0E
int 0x10
jmp print_string
.done:
ret
msg: db 'Hello World!', 13, 10, 0
times 510-($-$$) db 0
dw 0xAA55
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.