操作系统1:引导扇区
boot工作:读setup,读system….
x86 PC 开机过程
- x86 PC 刚开机时 CPU 处于实模式
- 开机时,CS=0xFFFF;IP=0x0000
- 寻址 0xFFFF0(ROM BIOS 映射区)
- 检查 RAM,键盘,显示器,软硬磁盘
- 将磁盘 0 磁道 0扇区(引导扇区)读入 0x7c00 处
- 设置 cs=0x07c0,ip=0x0000
引导扇区代码: bootsect.s
rep:重复执行该语句直至寄存器 CX 为 0
movw:将 DS:SI 的数据复制一个字到 ES:DI
jmpi a, b: 间接寻址。CS 设为 b ,IP 设为 a
BOOTSEG = 0x07C0
INITSEG = 0x9000
SETUPSEG = 0x9020
1 | begtext,begdata,begbss,endtext,enddata,endbss |
1 | ;在文件末尾 bootsect.s 中的数据 |
setup 模块,即 setup.s,完成 OS 启动前的设置
1 | start: |