汇编ret ,retf ,iret ,int指令详解
创始人
2025-05-28 05:32:10

**
ret指令
**
执行过程
ret指令用栈中的数据,修改IP的值,从而实现近转移。
CPU执行ret指令时,进行下面两步操作:
(IP)=((SS)*16+(SP))
(SP)=(SP)+2;
另一种用法 ret n (n为整数)
等效于
(IP)=((SS)*16+(SP))
(SP)=(SP)+2;
(SP)=(SP)+n;
例如ret 4
pop ip
add sp,4
**
retf指令
**
retf用栈中数据同时改CS,IP,远转移
远返回指令。当它执行时,处理器先从栈中弹出一个字到IP,再弹出一个字到CS。

最后,call、ret、retf 这三条指令执行后不会对标志位产生影响。

retf -> pop ip
pop cs

iret (interrupt return )  中断返回指令

1.恢复 IP(instruction pointer):(IP)←((SP)+1:(SP)),(SP)←(SP)+2
2.恢复 CS(code segment):(CS)←((SP)+1:(SP)),(SP)←(SP)+2
3.恢复中断前的 PSW(program status word),即恢复中断前的 标志寄存器的状态。
(FR)←((SP)+1:(SP)),(SP)←(SP)+2
4.恢复ESP(返回权限发生变化)
5.恢复SS(返回权限发生变化)
 IRET指令影响所有标志位。

**
int 指令**

  1. 中断类型号
  2. 标志寄存器入栈,IF=0.TF=1
  3. Cs ,ip入栈
  4. IP=(n*4),CS=(n*4+2)

相关内容

热门资讯

2026香港美食推荐 附当季平... 在进行香港行程规划之际,为数众多的食客都期望躲开网红溢价所设的陷阱,以较低的预算找到本地人常常会去的...
老牌奶茶巨头深陷危机,一年少卖... 近日,香飘飘发布2025年年报,业绩遭遇上市以来首次营收、净利润双位数下滑,行业老牌巨头增长乏力,深...
老窖无声,岁月有香:一群广东客... 转自:宜宾永乐古窖酒业股份有限公司 2026-05-13 5月12日下午,一支来自广东的旅行团走进永...
芝麻香菜拌脆藕:爽脆解腻神器 儿子咬下一口裹满香油的脆藕,脆嫩的声响在餐桌上格外清晰,他举着挂着芝麻粒的藕片喊:“妈妈快看!藕片长...
宜春的早晨,从一碗炒扎粉开始 在江西宜春,本地人的一天常常是从一盘香气扑鼻的炒扎粉开始的。扎粉的名字来源于它的制作和售卖方式——米...