Mips指令格式(机器代码)

时间:2013-06-22 14:18:12

标签: mips offset

Mips指令格式:

00010110001100101111111111111110

在这种情况下,指令位于地址0x80000014

它与操作数的BNE指令:Rs = $ s2和Rt = $ s1,偏移量为-2 我知道可以通过以下公式解决这个问题: Pc + 4-offset 在这种情况下,它将产生0x80000010。但是因为PC总是被假定为前面的指令(4字节)因此 Pc + 4 并且偏移量是 -2x8 所以Pc + 4-8给了我0x80000010 。某种灵魂可以一步一步地解释我应该在这里做什么吗?

1 个答案:

答案 0 :(得分:0)

MIPS分支偏移量来自分支之后的指令的带符号位移(以指令数表示)。

换句话说,在使用MIPS32的情况下,以下指令位于0x800000018。偏移-2乘以指令大小4,得到-0x8。

分支的指令换言之为0x80000018-0x8 = 0x80000010