当前位置: 首页 > 编程笔记 >

CALL和JUMP指令之间的区别

胥和悌
2023-03-14
本文向大家介绍CALL和JUMP指令之间的区别,包括了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调用需要机器周期。
 类似资料:
  • 概要 <#macro name(argName1, argName2, ... argNameN)> ... </#macro> <#call name(argValue1, argValue2, ... argValueN)> 这里: name:宏的名称(不是表达式) argName1, argName2等: 存储参数值的 局部变量 的名称(不是表达式) argValue1, argVa

  • 我刚刚开始使用Angular 2。 我想知道Angular 2中的组件和指令有什么区别?

  • 我是Java新手。在探索监控卡桑德拉的方法时,我发现(https://cassandra.apache.org/doc/latest/operating/metrics.html)“使用Dropwizard度量库管理Cassandra中的度量”。然而,在一些地方,我读到了Codahale度量,这让我对两者之间的区别/关系感到困惑。这些不同的库是在做同样的事情,还是以前称为dropwizard的度量

  • 本文向大家介绍数组和指针之间的区别,包括了数组和指针之间的区别的使用技巧和注意事项,需要的朋友参考一下 在本文中,我们将了解数组和指针之间的区别。 数组 它存储具有同类数据类型的变量的值。 它可以生成一个指针数组。 它支持数组的概念。 可以生成一个指针数组。 它指的是由相同/相同数据类型的元素组成的集合。 它使用下标/'[]'(方括号)来访问元素。 它是指向集合的第一个元素的指针。 数组对象无法实

  • 问题内容: 我找不到有关Angular.js的信息,并且我在工作时注意到这两个值的工作方式不同。有什么不同? 问题答案: 两者和都会为指令创建一个子作用域。但, 将从原型继承属性(例如,该指令所在的控制器),而不会从父属性继承,因此称为 例如,假设我们有一个控制器c1和两个指令d1和d2, d1(scope:true)将访问c1范围-> prop,因为d2与c1范围隔离。 注1: d1和d2都将为

  • 问题内容: 我读了很多文档,并且越来越困惑。我基本上不知道 服务 指示 模组 我看到了很多自定义组件。有时他们使用指令,有时使用服务。它总是从模块开始。有人可以举例说明这三种类型之间的区别吗? 问题答案: 可以将模块视为连接其他许多事物的地方,例如指令,服务,常量等。可以将模块注入到其他模块中,从而使您可以高度重用。 编写有角度的应用程序时,您将拥有一个顶级模块,即您的应用程序代码(没有模板)。