跳转至

指令格式

概述

指令格式

指令格式规定了指令的编码方式,包括操作码和地址码两部分。

指令基本格式

指令 = 操作码(OP) + 地址码(AD)

操作码

操作码

指明指令的操作功能。

编码方式:

  • 固定长度: 所有指令操作码长度相同
  • 可变长度: 不同指令操作码长度不同(扩展技术)

地址码

地址码

指明操作数的地址。

按地址码数量分类

零地址指令

零地址指令

无操作数指令。

格式: OP

示例: HLT(停机)、NOP(空操作)

一地址指令

一地址指令

单操作数指令。

格式: OP A1

示例: INC AX(加1)、DEC AX(减1)

二地址指令

二地址指令

双操作数指令,最常用。

格式: OP A1, A2

功能: (A1) OP (A2) → A1

示例: ADD AX, BX

三地址指令

三地址指令

两个源操作数,一个目的操作数。

格式: OP A1, A2, A3

功能: (A2) OP (A3) → A1

四地址指令

四地址指令

包含下一条指令地址。

格式: OP A1, A2, A3, A4

指令字长度

指令字长度

一条指令所占的二进制位数。

  • 单字长指令: 指令长度 = 机器字长
  • 半字长指令: 指令长度 = 机器字长/2
  • 双字长指令: 指令长度 = 机器字长×2

操作码扩展技术

扩展技术

利用地址码的高位扩展操作码。

方法:

  • 4位操作码: 15条三地址指令,1条扩展标志
  • 8位操作码: 15条二地址指令,1条扩展标志
  • 12位操作码: 16条一地址指令

参考资料