【问题标题】:BIOS INT 0x15 Function 0x88 always returns same memory sizeBIOS INT 0x15 Function 0x88 总是返回相同的内存大小
【发布时间】:2010-12-21 01:24:33
【问题描述】:

我在我的 Bochs 模拟器上使用 BIOS int 0x15,但是无论我配置了什么,它总是返回相同的内存大小 (34440):

mov ax, 0x88
int 0x15

我知道有更好的内存检测方法,但我想了解为什么它没有按预期工作(以防万一我做了什么事情)

这是为什么? bochs bios 是否只是硬编码以返回此值?

【问题讨论】:

    标签: bios osdev bochs


    【解决方案1】:

    你可以试试看 INT 15h, AX=E820h - Query System Address Map bochs INT15/E820 BIOS 提供的物理 RAM 如何映射

    获取扩展内存大小

    mov ah,88h
    int 15h
    

    【讨论】:

      【解决方案2】:

      您看到的返回值 (AX=34440) 是 AH=86H and AL=88H。这不是内存大小。我敢打赌,您还会看到进位标志返回设置,表示出现错误。错误代码 86H(在 AH 中)表示该功能不受支持。您可能有意或无意地设置了 Bochs 来模拟 AT 之前的 PC。

      【讨论】:

      • 如何解决bochs中的错误码ah=86H?
      猜你喜欢
      • 2020-05-17
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 2021-08-06
      • 1970-01-01
      • 2013-02-01
      • 2012-12-03
      • 1970-01-01
      相关资源
      最近更新 更多