ret
RISC-V ret 伪指令详解
汇编器伪指令RISC-V ret 伪指令的 ret 展开为 JALR x0, x1, 0;RISC-V Assembly Programmer's Manual 将其列为 Return from subroutine。JALR 目标由 rs1 加符号扩展 12 位立即数形成,并清除最低位。
你写下的是
ret
常见真实展开
jalr x0, x1, 0
这条伪指令到底在帮你省什么
ret 用 jalr x0, x1, 0 表示从子程序返回。
展开过程怎么理解
步骤 1
RISC-V Assembly Programmer's Manual 将 ret 展开为 jalr x0, x1, 0。
步骤 2
JALR 以 x1 加符号扩展 12 位立即数形成目标,并清除最低位。
汇编写法与真实指令
该汇编写法对应 RISC-V Assembly Programmer's Manual 的 ret,即 jalr x0, x1, 0;真实语义由 JALR 定义。
官方依据与阅读顺序
本页把伪指令当作汇编器层面的别名或宏来解释:先看它会展开成哪些真实指令,再回到官方 ISA 手册理解真实指令的行为。涉及 ABI、重定位或链接器松弛时,以 psABI 文档为准。
容易混淆 / 常见误区
JALR 形成目标后会清除其最低位;目标地址还须满足 ISA 的指令地址对齐要求。
常见问题
ret 展开为什么?
RISC-V Assembly Programmer's Manual 给出 ret 展开为 jalr x0, x1, 0。