① 单片机汇编语言指令中中断返回指令RET和RETI有什么不同
RET是普通子程序的返回指令,RET是普通子程序的最后1条指令,它使程序从子程序转到调用该子程序指令LCALL/ACALL的下1条指令执行。
RETI是中断服务子程序的返回指令,RETI是中断服务子程序的最后1条指令,它使程序从中断服务子程序转到中断点继续运行。
RETI指令除了执行返回功能外,还清除内部相应的中断状态寄存器(该状态寄存器由CPU响应中断时置位,宣告CPU当前正在执行中断服务程序),因此中断服务子程序必须用RETI结束,
CPU执行RETI指令后,必须至少再执行一条其它指令才能响应新的中断。
② 中断服务程序的最后一条指令是
RETI。根据查询《基于嵌入式实时操作系统的编程技术》书得知,中断服务程序的最后一条指令是RETI。中断服务程序是操作系统中用于处理中断的一段代码,其代码结构和实现方式取决于具体的中断类型和操作系统。