使用x86芯片,除了0x80之外还有除INT之外的任何INT指令吗?

时间:2011-01-21 02:38:28

标签: x86 int intel system-calls

我知道Linux提供int 0x80用于捕获系统调用,但有没有其他用途以及它们的用途是什么?

1 个答案:

答案 0 :(得分:5)

这是一个非常广泛的问题,但是,x86芯片允许各种各样的软件中断。

Linux使用int 80作为其系统调用机制,但您应该知道内核的更高版本可以使用SYSENTER而不是int 80,因为在某些情况下它更有效。

在实模式下,中断向量表位于内存中的特定位置。如果你想要你可以做的事情的细节,谷歌为“拉尔夫布朗”,他保持着近乎传奇的“中断名单”。

对于保护模式,可以使用特殊的处理器寄存器IDTR(IDT是中断描述符表)找到它。

在这两种情况下,您都可以使用256个中断。