jr

RISC-V jr 伪指令详解

汇编器伪指令

jr 是汇编器伪指令,展开为 jalr x0, rs, 0。JALR 用 rs 加符号扩展的 12 位立即数形成目标,并清除目标最低位。

你写下的是
jr rs
常见真实展开
jalr x0, rs, 0

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

一种把 JALR 的 rd 固定为 x0、立即数固定为零的写法。

展开过程怎么理解

步骤 1
汇编器把 jr rs 展开为 jalr x0, rs, 0。
步骤 2
JALR 把 pc+4 写入 x0,因此链接值被丢弃。

汇编写法与真实指令

以上展开对应适用的 JALR ISA 语义。

官方依据与阅读顺序

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

容易混淆 / 常见误区

JALR 会清除计算目标的最低位。
当目标不满足指令地址对齐要求时,JALR 可能触发取指地址未对齐异常;IALIGN=16 时不会发生此异常。

常见问题

jr 的官方展开是什么?

jr rs 展开为 jalr x0, rs, 0。