2017-08-01 271 views
0

目前,我正在學習一個測試,下面的問題是在舊考試之一:MIPS跳躍範圍

給從當前指令1.073.742.000(十二月)到221860跳躍的MIPS代碼(十二月)。

現在第一個問題是j標籤指令比jr指令更有效嗎?

第二我假設221860超出範圍從1073742000跳轉,因爲它在不同的256 MB塊?那麼在這種情況下,我將別無選擇,只能使用jr對嗎?

回答

0

是j標籤指令比jr指令更有效嗎?

他們有不同的目的。

J用於在每次跳轉時要跳轉到同一地址,並且目標地址在同一個256MB區域內。如果目標地址在+/- 128kB範圍內(B也可以跨越256MB區域邊界,只要目標地址在給定限制範圍內),也可以使用B。由於使用JR也需要一條或多條指令將目標地址加載到寄存器中,因此必須使用它來執行所有無條件跳轉。

JR適用於您可能想在不同場合跳轉到不同地址(例如從可能從多個不同位置調用的函數返回)或跳轉到不同的256MB區域的情況。

所以在這種情況下,我會別無選擇,只能使用jr嗎?

沒錯。