我正在开发自己的操作系统。到目前为止,我有以下代码:
ORG 0x7C00
BITS 16
mov si, msg
call Print
cli
hlt
Print:
lodsb
cmp al, 0
je Done
mov ah, 0Eh
mov bh, 0
int 10h
jmp Print
Done:
ret
msg db 'Hello World!', 0
times 510-($-$$) db 0
dw 0xAA55
我已使用nasm -f bin bootloader.asm -o myos.hdd
创建硬盘文件。
我能够在VirturalBox中成功运行此代码。
现在,我试图弄清楚如何在VirturalBox上使用调试功能。到目前为止,我已经能够通过运行打开调试会话
VirtualBox --debug-command-line --start-dbg --startvm MYOS
这将通过调试控制台启动我的操作系统。这就是我被困住的地方。
1)我如何才能从此控制台实际启动操作系统?
2)如何查看诸如ax
和al
之类的寄存器?
3)如何设置断点,例如在打印功能处?