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

相关内容

热门资讯

这份桂阳本土年礼清单,藏着家乡... 烟火日常,最为治愈 家人围坐,灯火可亲 “年味”不仅仅是过年的味道 更是家味、故乡味 “年味”往往...
胖东来全面下架智利车厘子,今年... 01.胖东来全面下架智利车厘子 02.麦当劳正在设计GLP-1友好型菜单 03.LV、迪奥、蒂芙尼被...
福建上杭:客家年味迎新春 春节临近,福建省上杭县临江镇东南社区家家户户开始忙着制作一种名为“米腊尝”的传统客家茶点。米腊尝,又...
新春走基层 | 潞城区东贾村:... “二十五,磨豆腐。”一入腊月,潞城区潞华街道东贾村,这个远近闻名的“豆腐村”,便被一股浓郁、醇厚的豆...
别跟风!2026网红自制美食翻... 家人们,2026 年的网红美食赛道彻底杀疯了,但翻车翻得比过山车还猛!今天就来唠唠那些看着香、做着崩...