汇编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)

相关内容

热门资讯

“十四五”前四年GDP增速居一... 央视网消息(记者 曹童童)12月18日上午,广东省人民政府新闻办公室举行“‘十四五’广东成就”系列主...
旅途中的风景怎么拍?掌握这些技... 旅途中的风景,是旅行体验极为重要的部分,它不是简单地就指沿途展现的风光,而是更深入地涉及到,我们用何...
雅阁酒店集团|落子航天科技城,... 近日,在深化首都市场战略布局的宏伟蓝图上,雅阁酒店集团再添澳斯特精选酒店关键一子。正式签约入驻北京房...
美食背后的故事:文化传承与家庭... 谈及美食,我们脑袋里时常会涌现出一道道具体的菜品,或是一家家各具特色的饭馆,又或是一本本详尽的菜谱。...
呼和浩特早餐硬核出圈!奶皮子拿... 🔥内蒙古的清晨,寒风刺骨却烟火气十足。在呼和浩特,一份热腾腾的烧麦配上一碗羊杂汤,是当地人一天的开始...