【发布时间】:2013-08-31 17:00:52
【问题描述】:
我编写了简单的代码,应该写入 VGA 内存。
org 07c00h
mov eax,0xb8000
mov bx,msg
call printstr
printstr:
mov al,byte[bx]
mov byte[eax],al
inc eax
mov byte[eax],1
inc eax
inc bx
cmp byte[bx],0
je end
jmp printstr
end:
jmp end
msg: db "Hello world!",0
times 510-($-$$) db 0
dw 0xaa55
但是当我在 QEMU 中运行它时,它不会写“Hello world”。 我使用 NASM 组装了它。 Image
我想用“Hello world!”覆盖第一行的前 12 个字符。
有人知道它为什么给我这个结果吗?
【问题讨论】:
标签: assembly x86 bootloader