第一个程序集文件..需要帮助使其可启动。

时间:2014-11-10 00:37:49

标签: assembly x86

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启动它。我将使用虚拟播放器启动它,但我遇到了这个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是由于英特尔公约

替换:

dw 0xaa55h

使用:

db aah
db 55h

问题是dw 0xaa55h将存储为db 55h,aah,因为如果一个字从RAM加载或存储到RAM,则低字节位于较低的偏移量上。 (反向)

编译完成后,检查文件大小是否为512字节。