我在MIPS手冊中閱讀: 「注意我們使用」add immediate「指令的」無符號「版本,因爲我們正在處理一個地址,它是一個無符號的二進制數。不會因爲計算的地址跨越內存空間的中點而產生異常。「MIPS:使用堆棧
這是什麼意思?特別跨過內存空間的中點。
而且,在下面的代碼中,我不明白爲什麼它從8($ sp)跳到20($ sp)。代碼後來從12($ sp)和16($ sp)加載,但是什麼時候對這些內存部分做了些什麼。我想在JAL JILL中可能,但是沒有給出太多的解釋。
addiu $sp, $sp, -24
sw $t1, 0($sp)
sw $t2, 4($sp)
sw $t3, 8($sp)
sw $ra, 20($sp)
jal JILL
lw $ra, 20($sp)
lw $t4, 12($sp)
lw $t5, 16($sp)
addiu $sp, $sp, 24
它不是一個「無符號加法」它是帶有「無符號溢出異常」的附加。加法操作本身並不知道這些位的解釋。 – 2013-02-19 05:03:07