为什么我们在MIPS的分支指令中将符号扩展为16位常数2?我对这个想法很困惑。这种变化对符号扩展16位常数带来了什么好处。这是图片:
此致
答案 0 :(得分:8)
MIPS指令是32位= 4字节,因此将分支偏移指定为4的倍数,即1 = 4字节的分支偏移。与以字节为单位指定偏移量相比,这可以实现更大范围的分支偏移(因为那时会有两个冗余位)。当然,向左移动2与乘以4相同。
答案 1 :(得分:0)
向左移动两次的每个二进制数是4的倍数。因此,通过向左移动两次并将其添加到下一个指令地址,将获得下一个指令地址。