指令格式¶
概述¶
指令格式
指令格式规定了指令的编码方式,包括操作码和地址码两部分。
指令基本格式¶
指令 = 操作码(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条一地址指令