单片机汇编语言指令中中断返回指令RET和RETI有什么不同?

如题所述

  RETI 是中断返回指令;
  RET 是子程序返回指令;
  RETI比RET多一步清除中断优先级状态位,让同级别的中断有机会得到响应。
  中断指令“RETI”做为中断跳出指令除了将堆栈中保存着的地址取出,送回PC;使程序从主程序的中断处继续往下执行的作用外,还有将“优先级生效”触发器清零的功能。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-24
RET是普通子程序的返回指令,而不能用RETI,所以,RET不是中断返回指令,就是子程序返回指令。
而RETI是用在中断子程序的返回指令,必须用这个,这才叫中为返回指令,而不能用RET,这就是区别。本回答被网友采纳
第2个回答  2014-03-24
RET是子程序返回指令,返回到调用该子程序处的下一条指令执行,返回的地址是从RET执行前的SP中最后两个值。
RETI是中断服务程序返回指令,返回到进入中断服务的断点处执行,返回的地址是从RETI执行前的SP中最后两个值。
第3个回答  2014-03-24
RET 是子程序返回指令。

RETI 是中断服务程序返回指令。

两者,用途不同。本回答被提问者采纳
第4个回答  2019-04-28
RET是子程序返回指令,将堆栈中的地址弹出,而RETI是中断返回指令,除了将地址弹出,还将标志弹出
相似回答