我在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