這些從C等價物的MIPS翻譯之後?如果沒有,請詳細解釋。我的教授說第一版是正確的。如果我寫了類似於第二版的指令,即使它們產生相同的輸出,我也不會得到標記。她沒有解釋爲什麼。先謝謝你 ! C代碼 if (i==j) { f = g + h ; } else f = g -h ; MIPS版本一個: bne $s3, $s4, Else
add $s0, $s1, $s2
j
什麼是使用分支規定的條件的原因,像這樣的: beq $0, $0, TEST
而不是僅僅使用這樣的跳躍? j TEST
分支用於測試條件,但在這種情況下,分支已被使用的條件將始終爲真。那麼爲什麼跳過它呢?它有點快嗎? 我遇到了這個answer,但我不知道這是否確實是我的問題的正確答案,因爲我還不知道有關重定位的任何信息。