fsflags

RISC-V fsflags 伪指令详解

汇编器伪指令

fsflags 是汇编器伪指令。fsflags rd, rs 展开为 csrrw rd, fflags, rs;fsflags rs 展开为 csrrw x0, fflags, rs。fflags 位于 fcsr bit 4:0。

你写下的是
fsflags rd, rs fsflags rs
各写法对应的展开
fsflags rd, rs
csrrw rd, fflags, rs
fsflags rs
csrrw x0, fflags, rs

这条伪指令到底在帮你省什么

访问 fflags 字段的两种汇编器写法。

两种写法的区别

形式 1
fsflags rd, rs 展开为 csrrw rd, fflags, rs;rd 非 x0 时读取并保存旧 fflags 值,然后写入新值。
形式 2
fsflags rs 展开为 csrrw x0, fflags, rs;写入 fflags,且不读取该 CSR。

官方依据与阅读顺序

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

什么时候优先想到它

使用本页的官方拼写。

容易混淆 / 常见误区

rd=x0 的 CSRRW 不读取 CSR。

常见问题

fsflags 有哪些官方展开?

fsflags rd, rs 展开为 csrrw rd, fflags, rs;fsflags rs 展开为 csrrw x0, fflags, rs。