如果你給出:轉換C++函數MIPS
calc (int b) {
return b - 2;
}
會是怎樣轉化爲MIPS?
我已經考慮了以下幾點:
addi $v0, $a0, -2
jr $ra
***********************
jr $ra
addi $v0, $a0, -2
***********************
addi $v0, $a0, 2
jr $ra
***********************
lw $v0, 0($a0)
addi $v0, $v0, -2
jr $ra
我只是學習功能MIPS和將不勝感激的意見。在這種情況下使用'lw'指令有什麼意義嗎?
Andre,你的ABI變量中的參數是如何傳遞的,返回地址存儲在哪裏? MIPS的版本是什麼?它是否有「分支[延遲插槽](https://en.wikipedia.org/wiki/Delay_slot)」? LW用於從RAM內存中加載數據:https://en.wikipedia.org/wiki/MIPS_architecture#Loads_and_stores – osgx