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