2011-03-04 54 views

回答

0

假设寄存器已经加载有正确的数据。

所以对于$t2 = $t3,增加$t3注册零并将其存储在$t2会工作,所以这是它会是什么样子:

add $t2,$t3,$t0 - 假设$ T0被保留用于零像MIPS的大多数版本。

对于if $t4,我们需要一个分支语句,不知道你想要比较它,但看看这个指南 - 应该给出足够的指导来说明如何写它。

1

$ t0不保留为零。 $ t0是一个可以存储任何值的临时寄存器。寄存器$零保留/硬连线为零。如果$ t6是“小于”$ t7,我们想要“分支”到“标签”,所以在小于指令blt时使用分支。该代码是这样:

加$ T0,$零,$ T1
BLT $ T6,$ T7,标签

0

您以下垃圾:

$ T0 = $ T1

如果

($ T6少于$ T7)去标签

将被转换为MIPS,如:

举动$ T0,T1 $#或使用指令来代替(加$ T0,$零,$ T1)|(阿迪$ T0,$ t1,0)

SLT $ T2,T6 $,$ T7#如果$ t6less超过$ T7集$ T2 = 1个

bgtz $ T2,富#如果$ T2 = 0转到FOO,和Foo是你要移动到

+0

'bgtz $标签t2,如果** $ t2> 0 **而不是$ t2 = 0,foo'将跳转到foo – kevinkl3 2015-06-22 23:15:44