当PC = 0x8FFFEE4F时,J和JAL指令的地址范围是多少

时间:2015-10-21 15:28:41

标签: assembly mips

如何计算范围?

我知道jjal目标位于2^28地址块中的任意位置,其中PC提供高4位但我无法实现它。

1 个答案:

答案 0 :(得分:1)

这很简单。取第4位PC + 4的高位,并附加JJAL的26位立即数操作数乘以4(这样你只能跳转到4的倍数的地址)。 / p>

对于PC=0x8FFFEE4FPC+4的4个高位是0x8,因此您可以从0x80000000跳到0x8FFFFFFC。如果操作数为0x3FFF404,则操作为J 0x8FFFD0100x8 : 0x3FFF404*4 = 0x8 : 0xFFFD010

PC+4在大多数情况下并不重要,但这意味着如果PC=0x8FFFFFFC,则范围为0x900000000x9FFFFFFC