加电引导
2019-04-13 16:22发布
生成海报
上电后CPU置位 CS:IP 被设置成0xF000:0xFFF0 即第一条指令位于物理地址0xFFFF0 处。 而出现了80386后拥有了段描述符高速缓冲寄存器,它的内容硬编为0xFFFF0000,并且段限长初始化为0xFFFF(64KB),这时第一条指令指向物理地址0xFFFFFFF0处,即BIOS程序入口。
BIOS ROM只读存储器连接在总线上,当地址总线出现属于它的地址范围的信号时,它在数据总线上输出它的内容。即BIOS映射到某一内存范围。
BIOS 的工作负责板上的硬件检查和初始化例如显卡,键盘,IDE控制器等,并且把这些硬件的功能设置到中断向量表以便外部程序使用它们。
最后它的0x19号中断从启动设备第0个扇区读取512字节内容到物理内存地址0x7C000。 这512字节内容即引导扇区,它以最后的第511和第512字节字节内容分别为0x55和0xAA视为合法。 然后cpu指向0x7c00处的指令,我们第一行代码就要从0x7c00那里编写。
对于80386及其后的BIOS 它还会把一些重要的与以前的BIOS ROM兼容的东西(如冷启动代码本身)拷贝到640k~1M的传统BIOS地址空间。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮