我正在使用qemu作为我的模拟器,以16位实模式编写BIOS引导程序。
我有一些代码无法从我的HD读取。这没关系,但实际上让我困扰的是当我尝试使用“获取最后一次驱动操作的状态”从该操作获取状态代码时。
根据this wikipedia resource,我可以简单地将AH设置为1,并将DL设置为我想要的驱动器(我已验证的是0x80)。然后,当我调用$_SERVER
时,AL应该包含状态代码。
然而,当我这样做时,进位标志被设置,表明我尝试读取状态本身失败。
除了指定错误的驱动器之外,我看不出它可能会失败。
所以我的问题是,这个命令(INT 13h,AH 01h)可能失败的方式是什么?
这是我的代码:
$_SERVER['HTTP_REFERER']
答案 0 :(得分:2)
然后,当我调用int 13h时,AL应该包含状态代码。
INT 13h的BIOS功能01h仅返回 AH 寄存器中的结果。进位标志未定义,因此在调用此函数后,您永远不应测试任何失败!