跳至主要內容

1.存储器概述


指令的基本格式

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。

操作码字段操作数字段
  • 操作码指出指令中该指令应该执行什么性质的操作以及具有何种功能。操作码是识别指令、了解指令功能及区分操作数地址内容的组成和使用方法等的关键信息。例如,指出是算术加运算还是算术减运算,是程序转移还是返回操作。
  • 地址码给出被操作的信息(指令或数据)的地址,包括参加运算的一个或多个操作数所在的地址、运算结果的保存地址、程序的转移地址、被调用的子程序的入口地址等。

提示

指令长度等于机器字长的指令称为单字长指令,指令长度等于半个机器字长的指令称为半字长指令,指令长度等于两个机器字长的指令称为双字长指令

零地址指令

只给出操作码OP,没有显式地址

  • 不需要操作数的指令,如空操作指令、停机指令、关中断指令等。
  • 零地址的运算类指令仅用在堆栈计算机中。

一地址指令

OPOPA1A_1
  • 只有目的操作数的单操作数指令,按A1A_{1}地址读取操作数,进行OPOP操作后,结果存回原地址。
    • 指令含义OP(A1A1)OP(A_{1}\to A_{1})
  • 隐含约定目的地址的双操作数指令。
    • 指令含义(ACC)OP(A1)ACC(ACC)OP(A_{1})\to ACC

二地址指令

OPOPA1A_{1}A2A_{2}

指令含义(A1)OP(A2)A1(A_{1})OP(A_{2})\to A_{1}

三地址指令

OPOPA1A_{1}A2A_{2}A3A_{3} (结果)

指令含义(A1)OP(A2)A3(A_{1})OP(A_{2})\to A_{3}

四地址指令

OPOPA1A_{1}A2A_{2}A3A_{3}(结果)A4A_{4}(下址)

指令含义(A1)OP(A2)A3(A_{1})OP(A_{2})\to A_{3}A4A_{4}=下一条将要执行指令的地址

指令的操作类型

  1. 数据传送
  2. 算术和逻辑运算
  3. 移位操作
  4. 转移操作
  5. 输入输出操作