主引导扇区
硬盘0面,0道,1扇区,供512个字节,称为主引导扇区。
如果计算机是设置为从硬盘启动,
那么,BIOS将完成基本工作前要做的最后一件事,就是读取引导扇区,并将它加载到内存地址0x0000:0x7c00处(也就是物理地址0x07c00),
然后一个jmp指令跳转到该地址处,接着执行。
但是!!!引导扇区必须是有效的才行!!!
一个有效的主引导扇区,最后两个字节必须为0x55,0xAA。
书作者说不知道为什么是要加载到0x07c00这个地址,我也不知道。。。
一般来说,主引导扇区是由操作系统负责的,
正常情况下,一段精心编写的主引导扇区代码,将检测用来启动计算机的操作系统,并计算出它所在的硬盘位置,
然后它把操作系统的自举代码加载到内存,也用jmp指令跳转到那里继续执行,知道操作系统完全启动,
主引导扇区示例代码:
; 4-2.asm mov ax,0xb800 mov ds,ax mov byte [0x00],'a' mov byte [0x02],'s' mov byte [0x04],'m' jmp $ times 510-($-$$) db 0 db 0x55,0xaa ;最后两行必须有,一个负责填充,一行负责有效性检验使用 ;书上给的代码没有最后两行
-----------------------------------------------------
书4.1.5 一切从主引导扇区开始
书5.2 欢迎来到住引导扇区