跳转MIPS 32位指令

时间:2014-04-19 00:11:56

标签: assembly mips bit

我正在学习MIPS 32位架构,我不了解跳转指令实现的一些事情。 特别是,为什么跳转实现我们必须插入PC:

  1. 当前PC + 4的高4位
  2. 跳转指令的26位立即数字段
  3. 将00添加为2个低位位

1 个答案:

答案 0 :(得分:4)

当前PC + 4是因为流水线操作:在Jump指令开始执行之前,PC已经递增。

Jump指令只有26位寻址空间。所以有两个限制:

  1. 跳转必须在当前指令地址的28位范围内,因此使用PC的高4位。
  2. 跳转必须是字对齐的,也就是说,目标地址必须是4的倍数,因此低2位设置为00