x86 MBR
看过《x86汇编语言–从实模式到保护模式》或者《操作系统–真象还原》等涉及x86系统的书,都会知道,x86计算机的启动流程会把启动盘第一个sector复制到0x7c00处,然后跳转到0x7c00处执行。
加载MBR流程如下,
- 检测启动盘第一个sector最后两个字节是否为0x55, 0xaa
- 复制第一个sector到内存0x7c00
- 跳转到0x7c00处执行
(这流程省了很多支线,别在意)
实例代码
例如,
mov al, 'Y'
mov ah, 0x0e
mov bx, 0x7
int 0x10
finish:
hlt
jmp finish
times 510-($-$$) db 0
db 0x55</