IRET(interrupt return)中斷返回,中斷服務程序的最后一條指令。
匯編指令IRET
【指令格式】IRET
【指令功能】IRET(interrupt return)中斷返回,中斷服務程序的最后一條指令。IRET指令將推入堆棧的段地址和偏移地址彈出,使程序返回到原來發生中斷的地方。其作用是從中斷中恢復中斷前的狀態,具體作用有如下三點:
1.恢復IP(instruction pointer):(IP)←((SP)+1:(SP)),(SP)←(SP)+2
2.恢復CS(code segment):(CS)←((SP)+1:(SP)),(SP)←(SP)+2
(FR)←((SP)+1:(SP)),(SP)←(SP)+2
4.恢復ESP(返回權限發生變化)
5.恢復SS(返回權限發生變化)
以上操作按順序進行。