指令系统
指令格式¶
- 定长操作码:假设指令系统包含 \(m\) 条指令,则操作码的位数 \(n\) 应该满足 \(n \ge \log_{2} m\)
- 变长操作码:操作码长度可变,指令长度不变
- 双地址指令的高 4 位不能与三地址指令的操作码字段相同
同理,单地址指令的高 8 位不能与双地址指令的操作码字段相同
- 双地址指令的高 4 位不能与三地址指令的操作码字段相同
寻址方式¶
指令寻址方式¶
- 顺序寻址:PC+1
- 跳跃寻址:
jmp 1003
操作数寻址方式¶
- 立即寻址:D 字段就是操作数本身
- 直接寻址:EA = D
- 寄存器寻址:D 为寄存器编号
- 间接寻址
- 寄存器间接寻址
- 相对寻址
- 变址寻址
- 基址寻址:指定一个寄存器存放基地址,称为基址寄存器 B,同时 D 存放一个变化的地址值,EA = R[B] + D
- 堆栈寻址:
- 存储器堆栈
- 寄存器堆栈
指令系统举例¶
MIPS 指令系统: