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