答案 0 :(得分:0)
在第一个示例中,$t0
寄存器将在指令后包含value
的地址。
汇编程序将用" real"替换la
指令。 MIPS指令 - 例如addiu
如果value
位于较低的32 kiB内存中(在"真正的" MIPS CPU中通常不是这种情况):
addiu $t0, $zero, value
lw $t1, 0($t0)
如果value
的地址不在第一个(或最后一个)32 kiB内存中,汇编器将用两条指令替换该指令:
lui $t0, high_bits_of(value)
addiu $t0, $t0, low_bits_of(value)
lw $t1, 0($t0)
在第二个示例中,$t0
将在指令后包含0
。
如果value
的地址不在内存的前32 kiB内,程序将无效!