计算机自动上电后,有些书上说CS=0xFFFF IP=0x0000,例如linux内核设计的艺术(第三版)。也有一些书说CS=F000 IP=FFF0,例如赵炯的linux内核完全注释。

其实并不是说对与错,这个差异的原因本身是由于不同的硬件初始化导致的不同,两种初始化虽然值不同,但是CS:IP最后的值都是0xFFFF0,这个值是硬件自动初始化的。也是上电后跳转后的第一条执行地址。BIOS也是位于这段空间。

例如8K的BIOS,本身存储在ROM中,由于影子内存的原因导致上电映射到0xFE000~0xFFFFF中。而上电硬件自动初始化的CS:IP会自动跳转到这段空间(BIOS空间)。

最后的步骤就是BIOS的一些构建,诸如中断向量表、BIOS数据区、BIOS中断服务程序部分的内存映射。

相关文章:

  • 2021-12-27
  • 2021-06-26
  • 2021-07-02
  • 2021-06-14
  • 2022-01-12
  • 2021-06-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-15
  • 2022-12-23
  • 2021-07-30
  • 2021-05-21
  • 2021-08-27
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案