IRET可以从栈中恢复寄存器,包括EFLAGS、ESP、EIP等,但我们也可以自己恢复寄存器。例如,“movl”可以用来恢复%esp寄存器,“jmp”可以跳转到指向存储在栈中的EIP的地址。linux内核通过IRET从所有中断中返回,这是一条权重指令。一些内核操作(如上下文切换)经常发生。IRET不是浪费吗? 最佳答案 除了IRET可以而且经常应该做的所有繁重的事情之外,除了POPF+RETF的简单混合之外,它还有一件事要做。它具有与不可屏蔽中断(NMIs)相关的特殊功能。并发的NMI是一个一个的交给CPU。IRET向NMI电路发出