从子程序与中断程序的返回
发表:2023-08-29 12:05:41 阅读:107

返回

子程序执行完毕后,程序应返回到原调用指令的下一指令处继续执行。因此,在子程序的结尾必须设置返回指令。返回指令有两条,即子程序返回指令RET和中断服务子程序返回指令RETI

1)从子程序返回

RET

操作:SP←SP+2,PC(15:0)←STACK

机器码:1001 0101 0000 1000 ,周期:4

说明:从子程序返回,返回地址从堆栈中弹出。

对状态标志位的影响:无

从子程序与中断程序返回

2)从中断程序返回

RETI

操作:SP←SP+2,PC(15:0)←STACK

机器码:1001 0101 0001 1000 ,周期:4

说明:从中断程序中返回,返回地址从堆栈中弹出,且全局中断标志被置位。

注意:①主程序应跳过中断区,防止修改、补充中断程序带来麻烦。

            ②不用的中断入口地址写上RETI,有抗干扰作用。

对状态标志位的影响:

从子程序与中断程序返回

 

 

电子街推荐您阅读:

寄存器位被清零与置位跳行

I/O寄存器位清零与置位跳行

子程序的调用-相对调用

子程序的间接与直接长调用