Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mips指令格式(机器代码)_Mips_Offset - Fatal编程技术网

Mips指令格式(机器代码)

Mips指令格式(机器代码),mips,offset,Mips,Offset,Mips指令格式: 00010110001100101111111111111110 在这种情况下,指令位于地址0x8000014 它是带操作数的and BNE指令:Rs=$s2和Rt=$s1,偏移量为-2 我知道通过这个公式可以解决这个问题:Pc+4-偏移 在这种情况下,将产生0x8000010。然而,这是因为PC总是被假定为一条超前指令(4字节),因此PC+4,偏移量为-2x8,所以PC+4-8给我0x8000010。有人能一步一步地解释一下我应该在这里做什么吗?MIPS分支偏移量是从分支后

Mips指令格式:

00010110001100101111111111111110

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

它是带操作数的and BNE指令:Rs=$s2和Rt=$s1,偏移量为-2 我知道通过这个公式可以解决这个问题:Pc+4-偏移 在这种情况下,将产生0x8000010。然而,这是因为PC总是被假定为一条超前指令(4字节),因此PC+4,偏移量为-2x8,所以PC+4-8给我0x8000010。有人能一步一步地解释一下我应该在这里做什么吗?

MIPS分支偏移量是从分支后的指令开始的有符号移位(以指令数表示)

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

分支到的指令换句话说是
0x8000018-0x8=0x8000010