INT 13h,获取最后一个操作的状态

时间:2015-05-13 23:47:43

标签: assembly boot 16-bit

我正在使用qemu作为我的模拟器,以16位实模式编写BIOS引导程序。

我有一些代码无法从我的HD读取。这没关系,但实际上让我困扰的是当我尝试使用“获取最后一次驱动操作的状态”从该操作获取状态代码时。

根据this wikipedia resource,我可以简单地将AH设置为1,并将DL设置为我想要的驱动器(我已验证的是0x80)。然后,当我调用$_SERVER时,AL应该包含状态代码。

然而,当我这样做时,进位标志被设置,表明我尝试读取状态本身失败。

除了指定错误的驱动器之外,我看不出它可能会失败。

所以我的问题是,这个命令(INT 13h,AH 01h)可能失败的方式是什么

这是我的代码:

$_SERVER['HTTP_REFERER']

1 个答案:

答案 0 :(得分:2)

  

然后,当我调用int 13h时,AL应该包含状态代码。

INT 13h的BIOS功能01h仅返回 AH 寄存器中的结果。进位标志未定义,因此在调用此函数后,您永远不应测试任何失败