关于 "jump" 和 "jump and link" 之间的翻译问题
Question about translation between "jump" and "jump and link"
在risc-v规范中,它说j
是jal
的伪代码。我对它的工作原理感到困惑,因为 j
(25 位立即数)和 jal
(20 位立即数)的立即值范围不同 - 以及 jalr
12 位立即数。
如能说明如何处理此翻译,我们将不胜感激!
不,j
和 jal
的立即值大小没有不同,正如官方文档所说:
Plain unconditional jumps (assembler pseudoinstruction J) are encoded as a JAL with rd=x0.
以下说明:
j offset
将扩展到
jal x0, offset
也许您认为编码 rd
寄存器 (x0
) 的 5 位包含在偏移量中,但不是。
在risc-v规范中,它说j
是jal
的伪代码。我对它的工作原理感到困惑,因为 j
(25 位立即数)和 jal
(20 位立即数)的立即值范围不同 - 以及 jalr
12 位立即数。
如能说明如何处理此翻译,我们将不胜感激!
不,j
和 jal
的立即值大小没有不同,正如官方文档所说:
Plain unconditional jumps (assembler pseudoinstruction J) are encoded as a JAL with rd=x0.
以下说明:
j offset
将扩展到
jal x0, offset
也许您认为编码 rd
寄存器 (x0
) 的 5 位包含在偏移量中,但不是。