这些MIPS指令可能吗?

时间:2013-03-31 08:07:12

标签: mips computer-architecture

我正试图在“计算机组织与设计”一书中解决问题。

我在书的解决方案中遇到了一系列指令。 但Qtspim,mips汇编程序,无法解释它们。 这是说明。 (第4版,问题2.14.4 a)

add  $t2, $t0, $0
srl  $t2, $t2, 11
and  $t2, $t2, 0x0000003f
and  $t1, $t1, 0xffffffc0
ori  $t1, $t1, $t2

为什么ori有3个寄存器? (我认为这不是r型指令) 为什么并立即拥有32位? (我认为指令本身有32位明智。)

提前谢谢。

1 个答案:

答案 0 :(得分:1)

前两个说明看起来不错,但以下三个说明没有。这些可能是拼写错误,或者本书的作者正在使用不同的MIPS汇编程序,它接受这些指令并将它们转换为有效指令。

例如:

and $t2,$t2,0x0000003f

=>
    lui $t2,0 ; ANDing the upper halfword with 0x0000 would set it to 0
    andi $t2,$t2,0x003f


and $t1,$t1,0xffffffc0

=>
    andi $t1,$t1,0xffc0 ; ANDing the upper halfword with 0xffff would not change it


ori $t1,$t1,$t2

=>
    or $t1,$t1,$t2