跳转至

指令编码格式

ISA 版本: v0.56.4 |  ISA 手册第 03 章

灵犀指令集 v0.56 支持小端字节序的四种指令长度 面向半字的模型。位位置显示为 [msb:0] (MSB 最左边,LSB 最右边),匹配 ARM 和 RISC-V 约定。

指令长度

命名空间 格式 比特 成分 示例
C. C16 C16 16 16单个 16 位部分 C.ADDC.LDC.BSTART.FP
(基础) LX32 32 32单个 32 位部分 ADDLDBSTART CALL
HL. HL48 48 48 16位前缀+32位主 HL.LDIHL.CASBHL.SETRET
五. V64 64 64 32位前缀+32位主 V.ADDV.FMADDV.DIV

注意: 48 位 (HL.*) 和 64 位 (V.*) 形式是 前缀 + 主 组合。 前缀增强了以下指令,并且没有独立的语义。

解码格式标签

每条指令都带有一个解码 Type 标签,描述其操作数字段布局:

16 位 (C.) 解码类型

标签 典型操作数
C.Type A SrcLSrcR — 两个寄存器
C.Type B SrcLuimm5 — 寄存器 + 小立即数
C.Type C SrcLFunc—寄存器+功能码
C.Type D SrcLRegDst — 寄存器移动
C.Type E RegDstuimm5 — 立即移动/设置
C.Type F Funcuimm5 — 函数+小立即数
C.Type G 仅立即(块标记)
C.Type H imm10 — 更大的立即
C.Type I imm12 — PC 相关形式

32 位解码类型

标签 典型操作数
Type A RegDstSrcLSrcR [、SrcD] — 3 源
Type B RegDstSrcLSrcR + 小 imm
Type C SrcLSrcR + 2 个立即数
Type D RegDstSrcL + simm — 比较/分支
Type F RegDstSrcL + simm — 加载/存储
Type G RegDst + simm — 立即加载
Type H SrcLSrcR + simm — ALU-立即

编码空间

编码 主要操作码位 老虎机 用途
C16 C16 [15:13] 8 压缩 16 位形式
LX32 [31:26] 64 64基本 32 位形式
HL48 [47:40] 256 256高级前缀
V64 [63:58] 64 64矢量前缀
无冲突分配表。

字段颜色键

编码图例

颜色 领域 颜色 领域
绿色 路/RegDst 紫色 函数/操作码
青色 Rs1 / SrcL 粉色 沙姆特
青色 卢比/SrcR 琥珀 imm / 偏移
橙色 3卢比/SrcD 灰色 保留/零

示例图

32 位:添加

添加编码

16 位:C.ADD

C.ADD编码

48 位:HL.LDI

HL.LDI编码

64 位:V.ADD

V.ADD编码

另请参阅