BIOS INT 0x15功能0x88始终返回相同的内存大小

时间:2009-11-27 17:25:56

标签: bios osdev bochs

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

mov ax, 0x88
int 0x15

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

这是为什么? bochs bios是否只是硬编码才能返回这个值?

2 个答案:

答案 0 :(得分:3)

你可以尝试检查一下 INT 15h, AX=E820h - Query System Address Map 怎样bochs INT15 / E820 BIOS提供的物理RAM映射

获取扩展内存大小

mov ah,88h
int 15h

答案 1 :(得分:2)

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