指令格式

作者: Wovw | 来源:发表于2020-11-21 11:10 被阅读0次

计算机是通过执行指令来处理各种数据的。

为了指出数据的来源、操作结果的去向及所执行的操作,一条指令一般包含下列信息。

(1)操作码:(operation code)

具体说明操作的性质及功能。每一条指令都有一个相应的操作码,计算机通过识别操作码来完成不同操作。

(2)操作数的地址:

CPU通过地址就可以取得所需的操作数。

(3)操作结果的存储地址:

把对操作数的处理所产生的结果保存到该地址中。

(4)下一条指令的地址:

当程序顺序执行时,下一条指令的地址由程序计数器(PC)给出,仅当改变程序的运行顺序(如转移)时,下一条指令的地址才由指令给出。

从上述分析可知,一条指令包括两种信息即操作码和地址码。

操作码表示该指令所要完成的操作,其长度取决于指令系统中的指令条数;

地址码描述该指令的操作对象,或直接给出操作数,或指出操作数的存储器地址或寄存器地址。

根据地址码部分所给出地址的个数,指令格式分为如下几种:

1.零地址指令 [OPCODE]

OPCODE———操作码

指令中只有操作码,没有操作数或操作数地址,这种指令有两种可能:

(1)无须任何操作数。如空操作指令、停机指令等。

(2)操作数地址默认。(如寄存器)

2.一地址指令 [OPCODE | A]

A———操作数的存储器地址或寄存器地址

指令中只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址。如加1、减1和移位等单操作数指令均采用这种格式。

在某些字长较短的微型机中(Intel 8080等),大多数算数逻辑运算指令也采用这种格式,第一个源操作数由地址码A给出,第二个源操作数在一个默认的寄存器中,运算结果仍送回到这个寄存器中,替换基原寄存器内容,通常把这个寄存器称为累加器。

3.二地址指令 [OPCODE | A1 | A2]

A1———第一个源操作数的存储器地址或寄存器地址

A2———第二个源操作数和存放操作结果的存储器地址或寄存器地址

这是最常见的指令格式,两个地址指出两个源操作数地址,其中一个还是存放结果的目的地址。对两个源操作数进行操作码所规定的操作后,将结果存入目的地址。

4.三地址指令[OPCODE | A1 | A2 | A3]

对A1、A2地址指出的两个源操作数进行操作,结果存入A3中。

5.多地址指令

在某些性能较强的计算机中,往往设置处理成批数据的指令,如字符串处理指令。为了描述一批数据,指令中需要多个地址来指出源数据存放的首地址、长度以及运算结果存放的地址等。

相关文章

  • MIPS指令集与简要分析

    R格式指令 基本格式 指令 算数类指令 逻辑类指令 位移类指令 跳转指令 I格式指令 基本格式 指令 算数指令 逻...

  • GCC和GDB

    一、GCC编译流程 预处理指令格式: 编译指令格式: 汇编指令格式: 链接指令格式: 最后运行可执行文件:./xx...

  • ART世界探险(17) - 中间层中间代码MIR

    ART世界探险(17) - 中层中间代码MIR Dalvik字节码的指令格式 指令格式分类 Dalvik指令,根据...

  • 指令格式

    计算机是通过执行指令来处理各种数据的。 为了指出数据的来源、操作结果的去向及所执行的操作,一条指令一般包含下列信息...

  • LLDB 学习

    常用LLDB 指令 指令格式 [ [ ...] ] [- options [option-value]] [...

  • JSP 常用标签

    一、JSP指令 1.指令格式 2.常用指令 注意 优先使用pageEncoding作为当前页面的字符编码格式而后才...

  • linux指令关闭命令窗口后进程关闭失效问题处理

    使用nohup指令处理,具体格式如下 nohup 指令 &

  • Linux的基本指令

    一个完整的指令的标准格式:Linux通用的格式 一个指令可以包含多个选项操作对象也可以是多个 1、ls指令 指令:...

  • Xcode的动态调试任意的APP-LLDB(下)

    常用LLDB指令 指令格式是 [ [ ...]] [-options [option- value]] [a...

  • Dockerfile 基本语法

    基本语法格式:INSTRUCTION arguments (指令+参数)不分大小写注释格式:# 注释第一个指令必须...

网友评论

    本文标题:指令格式

    本文链接:https://www.haomeiwen.com/subject/ubisiktx.html