【问题标题】:Why the address is 0xF000:0xE05B in the long jump instruction located at 0xFFFF0 in BIOS?为什么BIOS中位于0xFFFF0处的长跳转指令地址为0xF000:0xE05B?
【发布时间】:2019-03-20 12:21:45
【问题描述】:

我们知道x86上电时,CS寄存器设置为0xF000,IP设置为0xFFF0。 0xFFFF0 处的指令为jmp far 0xF000:0xE05B。问题是为什么是0xE05B 而不是其他地址?如果是为了兼容性,它的 BIOS 设计者是怎么想的?有什么特殊原因还是随便选一个地址?

【问题讨论】:

    标签: assembly x86 bios real-mode


    【解决方案1】:

    物理地址 0xFFFF0 (0xF000:0xFFF0) 是 BIOS 地址空间的一部分。从那里跳转到的地址取决于 BIOS,因此可能并不总是jmp far 0xF000:0xE05B。您显示的地址是某些虚拟 BIOS 的典型地址,但不一定是那个特定地址。

    【讨论】:

      猜你喜欢
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2016-10-21
      • 2014-03-31
      • 2014-06-12
      • 2017-03-12
      • 2020-03-02
      相关资源
      最近更新 更多