我的任务是编写一个以零异常处理分区的程序。我很难找到有关此信息的信息。据我了解,我需要更改中断矢量表中的第0个条目,但是我该怎么做?我看到有Lidt指令,但是我不必写整张桌子吗?

请注意,我将在16位模式下工作。

有帮助吗?

解决方案

假设您的意思是按16位模式进行“真实模式”,则中断向量表仅位于线性地址0,请参阅 维基百科 入口。因此,要获得旧的4字节远的指针 [0000:0000] 因此,可以稍后再恢复(或链接)并用自己的处理程序覆盖条目。

如果您使用的是DOS,可以使用 INT 21h/AH=25h 设置中断向量和 INT 21h/AH=35h 检索旧条目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top