知识门户

返回

第4章 指令集设计

第一篇 基础篇

4.1 指令格式#

我们采用定长 16 位指令字,分为三种格式:

R 型(寄存器操作)#

[opcode:4] [rd:4] [rs1:4] [rs2:4]
plaintext

I 型(立即数操作)#

[opcode:4] [rd:4] [rs1:4] [imm:4]
plaintext

J 型(跳转)#

[opcode:4] [cond:2] [addr:10]
plaintext

4.2 指令列表#

指令格式操作码说明
ADDR0000rd = rs1 + rs2
SUBR0001rd = rs1 - rs2
ADDII0010rd = rs1 + imm
LOADI0011rd = mem[rs1 + imm]
STOREI0100mem[rs1 + imm] = rd
JMPJ0101无条件跳转
JZJ0110Zero 标志置位时跳转

4.3 寻址模式#

支持三种寻址模式:

  1. 寄存器直接寻址:操作数在寄存器中
  2. 立即数寻址:操作数在指令中
  3. 寄存器间接寻址:操作数地址在寄存器中