原件:
紧凑后:
那么这个过程怎么样?这里的lui
是什么?
答案 0 :(得分:1)
0
是"立即加载"并将16位立即置于寄存器的上半部分。用类似C的表示法lui
。寄存器$ 1用作汇编程序临时。在这种情况下,$r = imm16 << 16
被分为lw
和lui
以加载完整的32位地址。
说明lw
和li
是伪指令(see Wikipedia),它们被la
替换为lui
,ori
}或addiu
。
您的汇编程序优化了andi
指令,因为伪指令和加载只需要16位值和地址,而不是完整的32位值。如果没有优化,汇编器必须假定需要完整的32位值。