程序控制指令是机器使用的机器代码,或者由用户使用汇编语言来命令处理器相应地执行操作。这些指令是各种类型的。这些也由用户以汇编语言使用。但是用级别语言,用户代码被翻译成机器代码,因此指令被传递以指示处理器执行任务。
程序控制指令的类型:
有不同类型的程序控制指令:
1.比较说明:
特别提供了比较指令,它与ta减指令相似,除了结果没有存储在任何地方,而是根据结果设置标志。
Example:
CMP R1, R2 ;
2.无条件分支指令:
这会导致无条件地将执行顺序更改到新位置。
Example:
JUMP L2
Mov R3, R1 goto L2
3.条件分支指令:
条件分支指令用于检查条件代码寄存器中存储的值,以确定特定条件是否存在,如果存在则分支。
Example:
Assembly Code : BE R1, R2, L1
Compiler allocates R1 for x and R2 for y
High Level Code: if (x==y) goto L1;
4.子程序:
子例程是驻留在用户空间中,执行定义明确的任务的程序片段。它由另一个用户程序调用,并在完成后将控制权返回给调用程序。
Example:
CALL and RET
5.暂停说明:
- NOP指令– NOP是无操作。除了程序计数器的增加以外,它不会引起处理器状态的任何改变。它可用于同步计时。
- HALT –使处理器有序地停止,保持空闲状态,直到通过中断,跟踪,复位或外部操作重新启动。
6.中断指令:
中断是一种机制,通过该机制,I / O或指令可以暂停处理器的正常执行并为其提供服务。
- RESET –重置处理器。这可以包括将任何或所有设置寄存器设置为初始值,或将程序计数器设置为标准起始位置。
- TRAP –这是不可屏蔽的边沿和电平触发的中断。 TRAP具有最高优先级和向量中断。
- INTR –它是电平触发和可屏蔽的中断。它具有最低的优先级。可以通过重置处理器来禁用它。