如何将代码添加到 MINIX 引导加载程序



我希望MINIX首先执行我的代码,然后继续执行默认引导加载程序。

到目前为止,我所拥有的是:

org 0x7c00 
jmp 0:start  
start:
    mov ax, cs      
    mov ds, ax      
    mov es, ax      
    mov ss, ax      
    mov sp, 0x8000
    ; ... my code ... ;
    ; that is supposed to mark code as bootloader:
    times 510-$+$$ db 0
    dw 0xaa55 

我的整个代码都在这里。我通过执行命令来运行它:

pkgin -y in nasm 
nasm -f bin my_bootloader.asm -o my_bootloader
dd bs=512 count=1 if=my_bootloader of=/dev/c0d0 
reboot

重新启动后,我的程序启动,但当然之后系统不会加载。我该怎么做才能将原始引导加载程序"附加"到我的代码中?

通常的解决方案是执行所有 MBR 引导加载程序所做的事情:将自己移出标准位置(00600是通常的目标位置(,然后将"常规"引导加载程序从磁盘的另一个扇区加载到07C00并跳转到它。

你可以在MINIX(GAS汇编程序(中找到带有注释的汇编代码,无论是在MINIX(GAS汇编程序(中,在MINIX的先前版本中(ACK语法,接近但与NASM不同(,如果你坚持使用NASM,在Web上等

相关内容

  • 没有找到相关文章

最新更新