csrwi伪

csrwi

伪
RISC-V 汇编 参考

lyszt.net 更详细地介绍了 csrwi 和其他 RISC-V 指令。

描述

csrwi 将一个常量写入控制寄存器。控制和状态寄存器(CSR)保存处理器状态,例如陷阱处理程序地址和中断开关(参见 csrrw)。常量 uimm 是 0 到 31 之间的数字,因为它存储在 5 位中。下面的形式将其写入 CSR 并丢弃旧值。

csrwi csr, uimm

它是一个伪指令,即汇编器会将其重写为真实指令的可读名称。它变成下面的指令,其中 rd 为 zero,因此不会读取旧值。

csrrwi zero, csr, uimm

下面这行将 0 写入 mie,从而关闭所有中断源。

csrwi mie, 0

大于 31 的值无法容纳,因此较大的值先放入寄存器,然后用 csrw 写入。

展开为

csrrwi zero, csr, uimm

汇编器会将此伪指令替换为上面列出的真实指令或指令。

示例

csrwi mie, 0   # mie = 0