sext.w

RISC-V sext.w 伪指令详解

汇编器伪指令

RISC-V sext.w 伪指令展开为 addiw rd, rs, 0。它是 RV64I 形式:把 rs 的低 32 位结果符号扩展到 64 位 rd。

你写下的是
sext.w rd, rs
常见真实展开
addiw rd, rs, 0

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

RISC-V Assembly Programmer's Manual用 sext.w 为 ADDIW rd, rs, 0 这一符号扩展字写法命名。

RISC-V sext.w 伪指令展开为 addiw rd, rs, 0;在 RV64I 中,它将 rs 的低 32 位结果符号扩展到 rd。

官方语义核对重点

RISC-V Assembly Programmer's Manual 将 sext.w rd, rs 列为 addiw rd, rs, 0,含义为符号扩展字。
非特权 ISA 第 4.2.1 节规定 ADDIW rd, rs1, 0 将 rs1 的低 32 位符号扩展写入 rd。

可用性与扩展条件

基础条件
  • RV64I ADDIW
单指令/标准写法条件
  • sext.w 展开为 ADDIW rd, rs, 0。
回退/边界
RV32 不提供 ADDIW 指令。
备注
  • 低 32 位按符号扩展写入 rd。

展开过程怎么理解

步骤 1
ADDIW rd, rs, 0 把 rs 的低 32 位结果符号扩展到 rd。

官方依据与阅读顺序

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

什么时候优先想到它

在 RV64I 中使用 sext.w 表示表中列出的符号扩展字操作。

容易混淆 / 常见误区

sext.w 是 RV64I 的 ADDIW 形式;不要把它当作 RV32 指令。
结果是低 32 位按符号扩展,不是零扩展。

常见问题

sext.w 在什么架构上适用?

sext.w 展开为 ADDIW rd, rs, 0;ADDIW 是 RV64I 指令。

sext.w 扩展哪一部分?

ADDIW rd, rs, 0 把 rs 的低 32 位结果符号扩展到 rd。