我在学习 RISC-V 汇编语言时遇到了名为 jal 和 jalr 的指令。
我很难理解 jal 和 jalr 之间的区别。
jal x1, X
Run Code Online (Sandbox Code Playgroud)
上面代码的意思好像是跳转到X,把正常情况下PC+4的返回地址保存到x1。
但在那之后,jalr x0, 0(x1)来了。
0(x1) 意味着回到返回地址的地址,但x0是什么?
本质上,RISC-V 中的 x0 为零,
那么为什么我们需要x0?
是什么这两个指令之间的实际差异,jal和jalr?
谢谢你。