csrwi

RISC-V csrwi 伪指令详解

汇编器伪指令

RISC-V csrwi 是 CSR 立即数伪指令,展开为 csrrwi x0, csr, imm。5 位 uimm 零扩展为 XLEN 位值;即使 uimm=0 也执行 CSR 写入,且因 rd=x0 不读取 CSR。

你写下的是
csrwi csr, imm
常见真实展开
csrrwi x0, csr, imm

官方依据与阅读顺序

本页把伪指令当作汇编器层面的别名或宏来解释:先看它会展开成哪些真实指令,再回到官方 ISA 手册理解真实指令的行为。涉及 ABI、重定位或链接器松弛时,以 psABI 文档为准。

常见问题

csrwi 的立即数如何解释?

CSRRWI 将 5 位 uimm 零扩展为 XLEN 位值,并把该值写入 CSR。

csrwi 的 uimm=0 会跳过 CSR 写入吗?

不会。CSRRWI 即使 uimm=0 也执行 CSR 写入,不具有 CSRRSI/CSRRCI 的零掩码不写入规则。csrwi 的展开固定 rd=x0,因此不读取 CSR,也不产生 CSR 读取副作用。