Mips 寄存器指令解码
我已经解码了下面的三个MIPS注册表,但我不确定我是否正确应用了这个理论。 有没有人能证实我的答案,也许能解释一下第一个地址的解码Mips 寄存器指令解码,mips,decode,instruction-set,Mips,Decode,Instruction Set,我已经解码了下面的三个MIPS注册表,但我不确定我是否正确应用了这个理论。 有没有人能证实我的答案,也许能解释一下第一个地址的解码 0010 34422345 ori $2 , $2 ,0 x2345 0018 24020007 li $2 ,7 002c 00621021 addu $2 , $3 , $2 1st=操作码:13;卢比:18;rt:18 第二个=I型:操作码8;18卢比;地址7 第三个=R类型:操作码0;18卢比;rt-19;第18条 你的数字看起来有点不对劲。以下是
0010 34422345 ori $2 , $2 ,0 x2345
0018 24020007 li $2 ,7
002c 00621021 addu $2 , $3 , $2
1st=操作码:13;卢比:18;rt:18
第二个=I型:操作码8;18卢比;地址7
第三个=R类型:操作码0;18卢比;rt-19;第18条 你的数字看起来有点不对劲。以下是我的解释: 1) I型
0x34422345
001101 00010 00010 0010001101000101 (binary)
op (13) rs (2) rt (2) imm (0x2345)
=> ori $v0,$v0,0x2345
2) I型
3) R型
操作码/函数号的值。Ah,但是$2的值不应该是18吗?参考我的书。。再说一遍,我不确定如何解释材料。如果第一条指令中的
rs
和rt
为18,则指令词必须为0x36522345
。但是,根据您的问题,它是0x3422345
,这使得rs
和rt
2(正如您在我将指令词分解为各个部分时所看到的)。
0x24020007
001001 00000 00010 0000000000000111
op (9=addiu) rs (0) rt (2) imm (7)
=> addiu $v0,$zero,7
0x00621021
000000 00011 00010 00010 00000 100001
op (0) rs (3) rt (2) rd (2) shift function (33)
=> addu $v0,$v1,$v0