返回指令
发布时间:2016/7/11 22:19:38 访问次数:797
(1)子程序返回指令
先把栈顶的一个数弹出赋给PC的高8位,然后调整栈顶位置,再把栈顶的一个数弹出赋给PC的低8位,再次调整栈顶位置,这个给PC赋值的顺序与子程序调用时将断点压栈的顺序恰好相反,但恰好实现断点的正确返回,这正是堆栈“先进后出” ADM706RAR-REEL组织机制实现的功能之一。所以ⅢⅡ应写在子程序的末尾,用以恢复断点,使程序返回主程序继续执行。
(2)中断返回指令
还有一条返回指令是从中断服务子程序返回的指令,称为中断返回指令。
基本功能与子程序返回指令RET相同,除此以外,它还要清除80C51单片机内部的中断优先级状态触发器,使得已申请的同级和较低级中断申请可以得到响应。RETI应设计在中断服务子程序的最后,用以恢复断点和清除中断优先级状态触发器。
(1)子程序返回指令
先把栈顶的一个数弹出赋给PC的高8位,然后调整栈顶位置,再把栈顶的一个数弹出赋给PC的低8位,再次调整栈顶位置,这个给PC赋值的顺序与子程序调用时将断点压栈的顺序恰好相反,但恰好实现断点的正确返回,这正是堆栈“先进后出” ADM706RAR-REEL组织机制实现的功能之一。所以ⅢⅡ应写在子程序的末尾,用以恢复断点,使程序返回主程序继续执行。
(2)中断返回指令
还有一条返回指令是从中断服务子程序返回的指令,称为中断返回指令。
基本功能与子程序返回指令RET相同,除此以外,它还要清除80C51单片机内部的中断优先级状态触发器,使得已申请的同级和较低级中断申请可以得到响应。RETI应设计在中断服务子程序的最后,用以恢复断点和清除中断优先级状态触发器。