在 MIPS 中,为什么跳转指令可以将程序计数器设置为 28 位目标地址
In MIPS, why can a jump instruction set the program counter to a 28-bit target address
在 MIPS 中,一条 32 位跳转指令由 6 位操作码和 26 位我们要将程序计数器设置到的目标(目标)地址组成。
但是,可以将程序计数器设置为 28 位目标地址。如果我们只能在跳转指令中容纳 26 位,这怎么可能?
MIPS 上的指令始终是 4 字节对齐的,因此任何有效目标地址的低 2 位只能为零。因此,跳转指令中指定的 26 位总是隐式左移 2 个位置,因此设置 PC 的低 28 位。
在 MIPS 中,一条 32 位跳转指令由 6 位操作码和 26 位我们要将程序计数器设置到的目标(目标)地址组成。
但是,可以将程序计数器设置为 28 位目标地址。如果我们只能在跳转指令中容纳 26 位,这怎么可能?
MIPS 上的指令始终是 4 字节对齐的,因此任何有效目标地址的低 2 位只能为零。因此,跳转指令中指定的 26 位总是隐式左移 2 个位置,因此设置 PC 的低 28 位。