BIOS INT 0x15功能0x88始终返回相同的内存大小
题
我在我的Bochs仿真器上使用BIOS int 0x15,但无论我配置什么,它总是会返回相同的内存大小(34440):
mov ax, 0x88
int 0x15
我知道有更好的内存检测方法,但是我想知道为什么这个方法没有按预期工作(以防万一我已经做了一些事情)
这是为什么? bochs bios是否只是硬编码才能返回这个值?
解决方案
您看到的返回值(AX = 34440)是 AH = 86H且AL = 88H
。这不是内存大小。我敢打赌你也看到进位标志回来设置,表示错误。错误代码86H(在AH中)表示不支持该功能。您可能有意或无意地设置Bochs来模拟AT-PC前的电脑。
其他提示
你可以尝试检查一下
INT 15h,AX = E820h - 查询系统地址地图
怎样bochs INT15 / E820 BIOS提供的物理RAM映射
获取扩展内存大小
mov ah,88h
int 15h
不隶属于 StackOverflow