【发布时间】:2012-03-07 21:57:30
【问题描述】:
考虑 MIPS 中的 j(jump) 指令。它在记忆中能跳多远?会是32位吗?我能解释一下吗?
【问题讨论】:
-
没有什么可以尝试的。我正在为考试而学习。我只想知道那条指令能跳多远。
-
是的,我见过 26、32 和 4 位。所以我现在很困惑。
考虑 MIPS 中的 j(jump) 指令。它在记忆中能跳多远?会是32位吗?我能解释一下吗?
【问题讨论】:
从this page,你会看到跳转指令有以下效果:
PC = nPC; nPC = (PC & 0xf0000000) | (target << 2);
target 是一个 26 位数字。这意味着j 指令可以跳转到可以从上述操作创建的任何绝对地址。因此,target 的最大值为 226-1 (0x03FFFFFF),最高可达地址为 (PC & 0xF0000000) | 0x0FFFFFFC。
【讨论】: