第三部分:完整指令参考¶
本指令目录覆盖 dav-c220 的 210 个 32 位解码条目,其中包含 199 个命名条目和 11 个内部/保留条目。当前 c220 汇编器接受并实际编码了 520 个“CPU + 后缀 + 操作数 + 机器字”组合,覆盖 132 个指令 ID;其余项只记录机器格式,不能伪装成公共汇编语法。
| 指令域 | 数量 | 主要用途 |
|---|---|---|
| Scalar | 63 | 标量算术、逻辑、转换、访存和 SPR |
| Flow | 28 | 跳转、调用、循环、事件和屏障 |
| MTE | 36 | 数据搬运、布局转换、压缩和图像加载 |
| Vector | 79 | 向量算术、比较、转换、归约和重排 |
| Cube | 2 | MMAD 与 MMAD_SP |
| Fixpipe | 2 | L0C 结果转换/搬出相关内部格式 |
每条记录包含什么¶
每个指令族页面为每条目录项给出:
- 解码名称和公共助记符;
- 操作数格式类;
- 完整 32 位固定/可变布局;
- c220 实际接受的后缀、操作数形状和可复制语法;
- 所有可写立即数的范围、扩展、缩放与对齐;
- 每个参数的作用;
- 数据类型/条件后缀;
- 执行域;
- 功能说明;
- 机器码识别掩码;
- 架构周期、uop 展开、退休条件和冲突;
- 设备验证状态。
语法状态¶
| 状态 | 含义 |
|---|---|
| c220 汇编器接受 | 页面列出的每个完整文本都已生成机器码 |
| 仅机器格式;无 c220 公共语法 | 可识别解码项,但当前目标没有接受完整文本形式 |
| 保留/内部 | UNDEF<n> 等保留条目,不得用于源码 |
先阅读 操作数与格式类、32 位编码和立即数/后缀合法性,再进入具体指令族。机读表见 instruction_reference.csv。
编码使用方法¶
每条指令的识别规则写成:
多个规则可能重叠,应优先选择掩码更具体的条目。识别掩码用于机器码分类,不替代汇编器对后缀、寄存器和 feature 的合法性检查。