陷阱
定义
它是预先安排的一种“异常”事件,就像预先设定的“陷阱”一样。事先在程序中用一条特殊指令或通过某种方式设定特殊控制标志来人为设置一个“陷阱”,当执行到被设置了“陷阱”的指令时,CPU 在执行完自陷指令后,自动根据不同“陷阱”类型进行相应的处理,然后返回到自陷指令的下一条指令执行。
注意,当自陷指令是转移指令时,并不是返回到下一条指令执行,而是返回到转移目标指令执行。
在 X86 机器中,用于程序调试“断点设置”和单步跟踪的功能就是通过陷阱机制实现的。此外,系统调用指令、条件自陷指令(如 MIPS 中的 teq、teqi、tne、tnei 等)等都属于陷阱指令,执行到这些指令时,无条件或有条件地自动调出操作系统内核程序进行执行。