ret retf iret 的区别?

66i88 2009-03-05 10:17:51
ret retf iret 的区别?
...全文
795 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin115406828 2009-03-16
  • 打赏
  • 举报
回复
对于不同的子程序,在子程序返回时要用不同的返回指令,因为在不同的子程序中压入栈中的是不同的,在出栈时用不同的返回指令时,才对应刚才压入栈中的内容!
killbug2004 2009-03-05
  • 打赏
  • 举报
回复
retf --->子程序far返回 而ret即可以Near也可以far返回,都是调整堆栈 然后跳转

iret --->这个是从中断服务例程或异常处理例程中返回,这个在不同操作系统模式下,动作不不同,要具体分析
kilrogg 2009-03-05
  • 打赏
  • 举报
回复
进不同类型的子程序时,进函数时压栈的东西不同,所以出自程序时要出栈的东西也不一样,要用不同的指令
BAYNPU 2009-03-05
  • 打赏
  • 举报
回复
RET : CALL 的返回,Pop IP from Stack;
RETF: FAR RET, Pop IP and CS from Stack;
IRET: Interrupt RET, Pop IP, CS and Flag register.
BAYNPU 2009-03-05
  • 打赏
  • 举报
回复
RET : CALL 的返回,Pop IP from Stack;
RETF: FAR RET,Pop IP and CS from Stack;
IRET :Interrupt RET, Pop IP, CS and Flag register.
子然君 2009-03-05
  • 打赏
  • 举报
回复
赞楼上的!!

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧