题
我的任务是编写一个以零异常处理分区的程序。我很难找到有关此信息的信息。据我了解,我需要更改中断矢量表中的第0个条目,但是我该怎么做?我看到有Lidt指令,但是我不必写整张桌子吗?
请注意,我将在16位模式下工作。
解决方案
假设您的意思是按16位模式进行“真实模式”,则中断向量表仅位于线性地址0,请参阅 维基百科 入口。因此,要获得旧的4字节远的指针 [0000:0000]
因此,可以稍后再恢复(或链接)并用自己的处理程序覆盖条目。
如果您使用的是DOS,可以使用 INT 21h/AH=25h
设置中断向量和 INT 21h/AH=35h
检索旧条目。
不隶属于 StackOverflow