2011-03-04 61 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