我的任务是编写一个程序来处理除零异常。我很难找到有关这方面的信息。据我了解,我需要更改中断向量表中的第 0 个条目,但我该怎么做呢?我看到有一个 LIDT 指令,但是我不需要写整个表吗?
请注意,我将在 16 位模式下工作。
我的任务是编写一个程序来处理除零异常。我很难找到有关这方面的信息。据我了解,我需要更改中断向量表中的第 0 个条目,但我该怎么做呢?我看到有一个 LIDT 指令,但是我不需要写整个表吗?
请注意,我将在 16 位模式下工作。
假设您指的是 16 位模式的“实模式”,则中断向量表仅位于从线性地址 0 开始,请参阅维基百科条目。所以这是一个获取旧的 4 字节远指针的问题,[0000:0000]
以便以后可以恢复(或链接)并用您自己的处理程序覆盖条目。
如果您使用的是 DOS,您可以使用它INT 21h/AH=25h
来设置中断向量并INT 21h/AH=35h
检索旧条目。