执行过程¶
PC上电后,80x86结构的 CPU 进入实模式,并从地址 0XFFFF0 开始自动执行代码(这个就是BIOS代码)
BIOS 在物理地址 0 处开始初始化中断向量。
BIOS 将可启动设备的第一个扇区读入内存地址 0x7C00 处(boot.s),并跳转到 0x7C00 这个地方开始执行这段 boot 代码
boot.s 代码¶
详细注释见本项目源码注释,此处梳理其执行逻辑
使用 jmpi 直接从 0x7C00 开始执行代码,执行后 CS = 0x7C00,此后所有的代码偏移都是从 0x7C00 开始