sp3*_*naz 5 c assembly operating-system
如何从磁盘/ cd/usb启动我的小型控制台,具有以下配置:
我想要使用的程序是,当我的系统启动时,它从磁盘/ cd/usb启动,并启动我的操作系统.现在想象一下,操作系统将成为一个hello world程序.我实际上想看看真实世界的操作系统如何实现自己.
引导加载程序必须为 512 字节。不多不少。并且它必须以标准 PC 启动签名结尾:0xAA55。
另请注意 PC 以 16 位模式启动。您需要将内核或第二阶段引导加载程序从该代码加载到内存中,然后跳转到该代码(并且可能将 CPU 切换到 32 位保护模式)。
例如(nasm):
BITS 16
; Your assembly code here (510 bytes max)...
jmp $
; Fills the remaining space with 0
times 510 - ( $ - $$ ) db 0
; Boot signature
dw 0xAA55
Run Code Online (Sandbox Code Playgroud)