CALL和JUMP指令之间的区别
在本节中,我们将看到CALL和JUMP指令之间的区别是什么。CALL指令用于调用子例程,但是JUMP指令更新程序计数器值并指向程序内部的另一个位置。
现在让我们看一下CALL和JUMP指令之间的一些详细区别。
跳指令 | 通话指令 |
---|---|
通过使用JUMP,程序控制转移到一个位置,该位置也是主程序的一部分 | 通过使用CALL指令,程序控制转移到不是主程序一部分的位置。 |
此处的寻址模式为立即 | 此处寻址模式为立即模式和间接寄存器。 |
我们不需要初始化堆栈指针(SP)来执行JUMP指令。 | 在使用一些CALL指令之前,我们必须初始化堆栈指针(SP)。 |
程序计数器值未压入堆栈 | 程序计数器的值在进入指定位置之前被压入堆栈。 |
JUMP指令后无需返回指令。 | CALL之后,它进入一个子例程,要从该子例程返回,我们需要返回指令。 |
堆栈指针的值保持不变 | 堆栈指针的值减2。 |
需要10个T状态来执行JUMP指令 | 需要18个T状态执行CALL指令。 |
JUMP需要3个机器周期 | 5调用需要机器周期。 |
以上是 CALL和JUMP指令之间的区别 的全部内容, 来源链接: utcz.com/z/314014.html