2017-10-09 339 views
0

我目前使用SPIM(QTSpim)來了解MIPS。我對SPIM命令及其工作方式有幾個疑問。 1)據我所知,MIPS通常使用16位來顯示數值,但爲什麼QTSpim中的寄存器只有8位?MIPS sra SPIM指令

2)註冊$ 11(t3),原始值爲10.機器執行[sra $ 11,$ 11,2]指令後,數值從10變爲4.這是怎麼發生的?當10只有2位時,2個位置如何向右移動?

謝謝。

+0

哪個基地你在跟蹤?十進制10是1010,二進制有4位 –

+0

@LưuVĩnhPhúc這實際上是我問的問題的一部分,如果不清楚,對不起。看來QTSpim使用十六進制。但我不確定爲什麼[sra $ 11,$ 11,2]會改變10到4,即使它是二進制的。如果它是二進制的,結果不應該是0010嗎? – Sean

回答

1

1)不知道你有什麼想法。 QtSpim模擬一個基於MIPS32的機器,所以通用寄存器是32位的。

2)10個十進制數是10000個二進制數。右移兩位,得到100個二進制數,即四位小數。你也可以把它看作十六進制除以4,因爲sraN位是一個(有符號)除以2^N

+0

這幫了很多,謝謝。我應該知道我看到的10是10進制,這在二進制中確實是10000。 – Sean