X86系统启动
BIOS找到以0X55AA结束的512Byte扇道,把此512字节内容加载到起始地址为07c00h的内存,然后BIOS把控制权限这段内存中的程序了。这段程序就是系统的开始了。
最简单的系统:
;org 0100h ;调试用 org 07c00h ;最终留下 mov ax, cs mov ds, ax call DispStr jmp $ DispStr: mov ax, BootMessage mov bp, ax mov cx, 16 mov ax, 01301h mov bx, 000ch mov dl, 0 int 10h ret BootMessage: db "Hello, OS world!" times 510-($-$$) db 0 dw 0xaa55
用NASM编译出bin文件后,用visual box软驱加载此bin文件,可以看见hello world了:
可以认为,一个世界上最小的系统已经起来了