我正在开发一个操作系统。我正在开发AMD64系统,用NASM编译。我有一个可以编译但不会在QEMU上运行的引导扇区。我在启动后检查了寄存器,看看QEMU是否实际加载并执行引导扇区。这就是我注意到的:
加载引导扇区,检查内存地址0x7c00
并显示引导扇区代码
似乎没有执行任何执行,尽管引导扇区将它们设置为零,但所有寄存器都设置为0xf000ff53
我专门设置的引导扇区代码寄存器为零,然后暂停执行。但是,QEMU注册并未反映这一点。任何人都可以帮助我让代码工作吗? QEMU有什么问题吗?以下是引导扇区的代码:
org 0x7c00
bits 16
cli
xor ax, ax
mov bx, ax
mov cx, ax
mov dx, ax
hlt
times 510 - ($ - $$) db 0
dw 0xaa55
我该如何解决这个问题?有什么建议吗?