0
目前,我正在學習一個測試,下面的問題是在舊考試之一:MIPS跳躍範圍
給從當前指令1.073.742.000(十二月)到221860跳躍的MIPS代碼(十二月)。
現在第一個問題是j標籤指令比jr指令更有效嗎?
第二我假設221860超出範圍從1073742000跳轉,因爲它在不同的256 MB塊?那麼在這種情況下,我將別無選擇,只能使用jr對嗎?
目前,我正在學習一個測試,下面的問題是在舊考試之一:MIPS跳躍範圍
給從當前指令1.073.742.000(十二月)到221860跳躍的MIPS代碼(十二月)。
現在第一個問題是j標籤指令比jr指令更有效嗎?
第二我假設221860超出範圍從1073742000跳轉,因爲它在不同的256 MB塊?那麼在這種情況下,我將別無選擇,只能使用jr對嗎?
是j標籤指令比jr指令更有效嗎?
他們有不同的目的。
J
用於在每次跳轉時要跳轉到同一地址,並且目標地址在同一個256MB區域內。如果目標地址在+/- 128kB範圍內(B
也可以跨越256MB區域邊界,只要目標地址在給定限制範圍內),也可以使用B
。由於使用JR
也需要一條或多條指令將目標地址加載到寄存器中,因此必須使用它來執行所有無條件跳轉。
JR
適用於您可能想在不同場合跳轉到不同地址(例如從可能從多個不同位置調用的函數返回)或跳轉到不同的256MB區域的情況。
所以在這種情況下,我會別無選擇,只能使用jr嗎?
沒錯。