主引导扇区

硬盘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 欢迎来到住引导扇区

posted @ 2020-04-22 16:47  AGB  阅读(457)  评论(0编辑  收藏  举报