Bits 16
org 0x7C00
jmp Main
;In= si = string, ah = 0eh al = char, Out= character screen
Print:
lodsb
cmp al, 0
je Done
mov ah, 0eh
int 10h
jmp Print
Done:
ret
Main:
mov si, msg
call Print
cli
hlt
msg db "Hello world!",0
times 510 - ($-$$) db 0
dw 0xAA55
所以我得到了这个简单的汇编代码,我把它编译成.bin但我需要帮助从iso启动它。我将使用虚拟播放器启动它,但我遇到了这个问题。任何帮助将不胜感激。
答案 0 :(得分:0)
这是由于英特尔公约
替换:
dw 0xaa55h
使用:
db aah
db 55h
问题是dw 0xaa55h将存储为db 55h,aah,因为如果一个字从RAM加载或存储到RAM,则低字节位于较低的偏移量上。 (反向)
编译完成后,检查文件大小是否为512字节。