我看到人们为了同样的目的使用lw和li,在寄存器中存储和操作数字。但在什么情况下,哪一个是最合适的呢?谢谢你。
我看到人们为了同样的目的而使用lw和li
它们没有相同的目的。lw
的目的是l加载awOrd(32位)从存储器输入寄存器。例如:
.data
foo: .word 12345
.text
la $a0, foo # $a0 = address of foo
lw $t0, ($a0) # $t0 = 12345
li
的目的是li立即进入寄存器。例如:
li $t0, 12345 # $t0 = 12345
注意MIPS指令集实际上不包括任何li
指令。它是由汇编器实现的伪指令,将其转换为一条或多条实际指令(例如lui
和ori
的组合)。