MOP.R.26 默认是纯 NOP 吗?
未被重定义时,它默认向 x[rd] 写 0,而不是保留目标寄存器的原值;若 rd=x0,x0 仍保持 0。
MOP.R.26 是 Zimop 1.0 的 32 位 MOP;未被其他扩展重定义时向 x[rd] 写 0。
MOP.R.26 使用 opcode 1110011(0x73)、funct3 100。MOP.R.n 使用 SYSTEM 字段:bits 31..20 是固定的 n 选择子,rs1 和 rd 是显式寄存器字段,funct3=100,opcode=SYSTEM。默认定义只向 x[rd] 写 0;rs1 不是默认读取的源操作数。
MOP.R.26 是 Zimop may-be-operation,推荐语法为 mop.r.26 rd, rs1。若没有其他扩展重定义该编码,官方默认行为是把 0 写入 x[rd];该编码空间允许未来扩展定义为读取 x[rs1] 并写入 x[rd]。标准软件不应执行 MOP,除非明确面向重定义该 MOP 的扩展。
MOP.R.26 采用两个显式整数寄存器字段;未被重定义时,x[rd] 写入 0,与 x[rs1] 的原值无关。rd=x0 时零寄存器保持 0。
仅演示未被重定义的 Zimop 行为:mop.r.26 x5, x6 将 x5 设为 0,与 x6 原值无关;x6 保持原值。普通软件只应在明确面向重定义该 MOP 的扩展时执行它。
仅演示未被重定义的 Zimop 行为:mop.r.26 x5, x6 将 x5 设为 0,与 x6 原值无关;x6 保持原值。普通软件只应在明确面向重定义该 MOP 的扩展时执行它。
未被重定义时,它默认向 x[rd] 写 0,而不是保留目标寄存器的原值;若 rd=x0,x0 仍保持 0。
不应执行,除非软件明确面向重定义该 MOP 的扩展。