【发布时间】:2011-11-17 21:24:38
【问题描述】:
我已经在实模式下通过汇编为 int 9h 编写了 ISR。 在这个 ISR 中,我调用 INT 13h, AH=0x02 来在硬盘上写入一些数据。但是数据不会写入硬盘。同样 int 13h, ah=0x02 也不起作用(从硬盘读取数据)。 调用 int 13h 后,进位标志为 On,但 AH 和 AL 为零。 当我在 ISR 之外使用此代码时,它就起作用了! 为什么 ISR 中的 INT13h 不工作,而其他中断,例如 INT10h 工作正常?
【问题讨论】:
-
我正在编写一个引导加载程序。我的代码在任何操作系统之前运行。
-
请发布您的 ISR 代码,以便我们查看您的尝试。
-
Int 9 是一个硬件中断,你必须小心你做什么。我不希望 int13 可重入。否则这是猜测,没有什么可看的。
标签: assembly keyboard-hook interrupt-handling real-mode isr