序号。 | JUMP 指令 | CALL 指令 |
---|
1 | 在 JUMP 中,我们只需跳转到新位置,然后从那里继续。 | 在 CALL 中,我们跳转到一个新位置,该位置被称为子程序。 当我们使用 CALL 指令时,将执行子程序。 当子程序完全执行时,RET 指令将被放入我们的程序中,以便返回地址将从堆栈放入 PC。 |
2 | 在 JUMP 指令中,不强制初始化堆栈指针。 | 在 CALL 指令中,强制初始化堆栈指针。 |
3 | 在 JUMP 指令中,堆栈指针的值不会改变。 | 在 CALL 指令中,堆栈指针的值递减 2。 |
4 | 在执行 JUMP 后,不包含返回指令,因为它不需要返回到先前的位置。 | 我们使用 CALL 指令以便我们可以调用子程序。 借助堆栈的返回地址,控制将通过 RET 指令在子程序结束时转移回主程序。 |
5 | JUMP 指令不需要将返回地址存储到堆栈中。 | 在 CALL 时,程序计数器的返回地址将被压入堆栈。 在 RET 指令时,返回地址将从堆栈中弹出并添加到程序计数器。 |
6 | JUMP 指令不用于将程序计数器的值转移到堆栈中。 | CALL 指令用于将程序计数器的值转移到子程序中,以便它可以返回到主程序。 |
7 | JUMP 指令中存在立即寻址模式。 | CALL 指令中存在寄存器寻址模式和立即寻址模式。 |
8 | 程序计数器由 JUMP 指令永久更改。 | 此指令包含在堆栈上保留的信息,以恢复原始程序的执行顺序。 |
9 | 在 JUMP 指令中,PC 转移到存储器位置,并且该位置是主程序的一部分。 | 在 CALL 指令中,PC 转移到存储器位置,并且该位置不是主程序的一部分。 |
10 | JUMP 有三种类型,即长跳转、短跳转和绝对跳转。 | CALL 有两种类型,即长调用、绝对调用。 |
11 | 要执行 JUMP 指令,我们需要 10 个 T 状态。 | 要执行 CALL 指令,我们需要 18 个 T 状态。 |
12 | 要执行 JUMP 指令,我们还需要 3 个机器周期。 | 要执行 CALL 指令,我们还需要 5 个机器周期。 |
13 | JUMP 指令被描述为条件跳转和无条件跳转。 | CALL 指令仅被描述为无条件。 |