首页/指令库/C-MOP-13
C.MOP.13

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

指令手册C-type

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

指令语法

c.mop.13

推荐语法 c.mop.13 没有显式操作数;16 位编码固定为 0110011010000001,没有可变寄存器或立即数字段。

Zcmop 1.0 依赖 Zca;基础行为不写任何寄存器,隐含 x13 可由重定义使用。

不要假定固定寄存器字段表示基础行为会读取该寄存器;具体展开形式(如果有)由重定义扩展决定。

ZcmopMay-Be-Operations

指令编码

15..0
0110011010000001

C.MOP.13 的 16 位编码固定为 0110011010000001;汇编语法没有显式操作数。

格式: Zcmop 固定 16 位编码
16 位编码: 0110011010000001
压缩指令,16 位编码。

指令行为说明

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

快速理解与检索要点

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

Zcmop 只定义奇数编号 1..15 的八个 C.MOP.n。
C.MOP.13 的固定 16 位编码是 0110011010000001;推荐语法无操作数,可能读取的 x13 仅由未来重定义决定。
默认行为与 Zimop MOP.R.n 不同,后者默认写 0 到 rd。

常见使用场景

Zcmop May-Be-Operations

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

扩展定义的行为

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

使用前检查清单

语法检查
  • 推荐语法 c.mop.13 没有显式操作数;16 位编码固定为 0110011010000001,没有可变寄存器或立即数字段。
语义检查
  • Zcmop 1.0 依赖 Zca;基础行为不写任何寄存器,隐含 x13 可由重定义使用。
  • 不要假定固定寄存器字段表示基础行为会读取该寄存器;具体展开形式(如果有)由重定义扩展决定。

容易混淆 / 常见误区

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

常见问题

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

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

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

未来重定义可读取 x13。