跳转至

第三部分:完整指令参考

本指令目录覆盖 dav-c220 的 210 个 32 位解码条目,其中包含 199 个命名条目和 11 个内部/保留条目。当前 c220 汇编器接受并实际编码了 520 个“CPU + 后缀 + 操作数 + 机器字”组合,覆盖 132 个指令 ID;其余项只记录机器格式,不能伪装成公共汇编语法。

指令域 数量 主要用途
Scalar 63 标量算术、逻辑、转换、访存和 SPR
Flow 28 跳转、调用、循环、事件和屏障
MTE 36 数据搬运、布局转换、压缩和图像加载
Vector 79 向量算术、比较、转换、归约和重排
Cube 2 MMADMMAD_SP
Fixpipe 2 L0C 结果转换/搬出相关内部格式

每条记录包含什么

每个指令族页面为每条目录项给出:

  • 解码名称和公共助记符;
  • 操作数格式类;
  • 完整 32 位固定/可变布局;
  • c220 实际接受的后缀、操作数形状和可复制语法;
  • 所有可写立即数的范围、扩展、缩放与对齐;
  • 每个参数的作用;
  • 数据类型/条件后缀;
  • 执行域;
  • 功能说明;
  • 机器码识别掩码;
  • 架构周期、uop 展开、退休条件和冲突;
  • 设备验证状态。

语法状态

状态 含义
c220 汇编器接受 页面列出的每个完整文本都已生成机器码
仅机器格式;无 c220 公共语法 可识别解码项,但当前目标没有接受完整文本形式
保留/内部 UNDEF<n> 等保留条目,不得用于源码

先阅读 操作数与格式类32 位编码立即数/后缀合法性,再进入具体指令族。机读表见 instruction_reference.csv

编码使用方法

每条指令的识别规则写成:

(word & match_mask) == match_value

多个规则可能重叠,应优先选择掩码更具体的条目。识别掩码用于机器码分类,不替代汇编器对后缀、寄存器和 feature 的合法性检查。