程序控制指令 百科内容来自于: 百度百科

主要分类

主要包括三类,转移指令(包括无条件转移和有条件转移)、程序调用和返回指令,循环控制指令。其中,前两类指令在一般计算机中是必备的。最后一类指令用于对循环程序进行优化。

转移指令

中的无条件转移指令通常有两种:一种是局部无条件,采用相对寻址方式,转移范围一般在+127到-128之间;另一种是全局无条件转移,可以在整个寻址空间内转移。
条件转移指令条件转移指令所依据的转移条件主要有:全零(Z)、正负号(N)、进位(C)、溢出(V)及它们的组合等。主要条件转移指令有:
BEQ 等于零转移
BNEQ 不等于零转移
BLS 小于转移
BGT 大于转移
BLEQ小于等于转移,或不大于转移
BGEQ大于等于转移,或不小于转移
BLSU 不带符号小于转移
BGTU 不带符号大于转移
BLEQU 不带符号小于等于转移,或不带符号不大于转移
BGEQU 不带符号大于等于转移,或不带符号不小于转移
BCC 没有进位转移
BCS 有进位转移
BVC 没有溢出转移
BVS 有溢出转移

调用返回指令

第二类程序控制操作是程序调用和返回指令,主要有两条:
CALL 转入子程序
RETURN 从子程序返回
这两条指令本身可以带有条件,当测试条件满足时转入子程序或从子程序返回,也可以不带条件。如果调用和返回指令本身不带条件,则要与条件转移指令联合使用,如果本身带有条件,目标程序就可以简化
在执行调用指令,要保存硬件现场(主要指程序计数器处理机状态字)和软件程序现场(指在子程序中要使用的通用寄存器等);当从子程序返回时,再恢复这些现场。在设置有系统栈的计算机中,硬件现场和程序现场可以压入堆栈。如果没有设置堆栈,则要在主存储器中开辟出一块专门的区域或指定专门的通用寄存器来保存硬件现场。而软件程序现场的保存则由程序员自行决定。
另外中断控制指令和自陷指令(或称为过程调用指令)也属于程序调用指令。中断控制指令主要有:开中断、关中断、改变屏蔽状态、从中断程序返回等指令。自陷指令主要用来转入例行子程序,或在程序调式过程中用来设置断点。
$firstVoiceSent
- 来自原声例句
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定
小调查
请问您想要如何调整此模块?

感谢您的反馈,我们会尽快进行适当修改!
进来说说原因吧 确定