C.MOP.3

RISC-V C.MOP.3 指令详解

指令手册C-type

Zcmop 16 位 C.MOP.3,默认不写寄存器,可由未来扩展重定义为读取 x3。

指令语法

c.mop.3
操作数说明
压缩指令仅 16 位,寄存器选择通常限制在 x8–x15。
立即数字段较窄,查看特定压缩指令的完整编码。
Zcmop微架构提示

指令行为说明

C.MOP.3 是 Zcmop 压缩 may-be-operation。官方定义的默认行为是不写任何寄存器;其编码允许未来扩展把它重定义为读取隐含寄存器 x3。推荐汇编语法为无操作数的 c.mop.3。Zcmop 依赖 Zca。

快速理解与检索要点

C.MOP.3 是无操作数的 16 位 MOP,默认不改变寄存器状态;它为未来扩展保留可兼容重定义空间。

Zcmop 只定义奇数编号 1..15 的八个 C.MOP.n。
默认行为与 Zimop MOP.R.n 不同,后者默认写 0 到 rd。

常见使用场景

压缩与代码优化

结合 «c.mop.3» 等实际代码理解该场景。

比较与判断

结合 «c.mop.3» 等实际代码理解该场景。

特定用途

结合 «c.mop.3» 等实际代码理解该场景。

使用前检查清单

语法检查
  • 确认当前指令格式为 C-type。
  • 确认操作数排列顺序与示例一致。
语义检查
  • 确认目标寄存器用途和调用约定兼容。
  • 确认该指令不是伪指令展开后的底层形式。

容易混淆 / 常见误区

默认 C.MOP.n 不写 rd;这与 Zimop 的 MOP.R/MOP.RR 默认写 0 到 rd 不同。
不要在普通软件中依赖 C.MOP 具有有用效果,除非目标扩展明确重定义该编码。
该编码可被未来扩展重定义为读取隐含寄存器 x3。

常见问题

C.MOP.3 默认会写寄存器吗?

不会。官方 Zcmop 说明 C.MOP.n 默认不写任何寄存器。

C.MOP.3 的隐含寄存器是什么?

未来重定义可读取 x3。