何时使用中断门或陷阱门?

时间:2010-08-09 16:42:42

标签: assembly x86 operating-system intel interrupted-exception

如英特尔手册所示,中断门和陷阱门都可用于访问处理程序例程。有些例外甚至与中断共享矢量数。我想知道CPU何时检测到这样的共享向量,CPU怎么知道它代表异常还是中断?

我对以下事情之间的逻辑感到困惑:

  • IDT中门类型的决定

  • 判断向量是代表异常还是中断

哪个决定哪个?

我希望自己明白......

更新1

感谢你的回复。你的意思是我必须告诉CPU哪个向量代表中断或陷阱?我知道CPU在中断和陷阱方面对EFLAGS [IF]的处理方式不同,CPU如何知道如何做出这个决定? CPU是否根据与向量对应的IDT条目的类型字段做出决策?或者更确切地说,它取决于系统如何连接,我们必须根据这个设置IDT条目的类型?即类型文件完全是我们的插图还是CPU的命令?

以及相关问题:The difference between Call Gate, Interrupt Gate, Trap Gate?

1 个答案:

答案 0 :(得分:0)

您必须为CPU编程什么是中断门以及给定ISR的陷阱门。

这由IDT条目中的位40-43设置。信息在这里:http://wiki.osdev.org/Interrupt_Descriptor_Table