li(立即加载)MIPS中的伪指令是否会根据常量的符号和大小以不同的方式将常量加载到寄存器中?当例如常数是二进制补码中的16位数(-2 ^ 15 <= k <2 ^ 15)而不是正数(0 <= k <2)时,li被翻译成不同的指令^ 16)? 32位数字怎么样?
我发现的链接没有具体说明。如果你用例子解释它(我使用MARS模拟器),那就太好了。
答案 0 :(得分:3)
LI
转换为单个指令。 (通常为addiu $dst, 0, imm
)。
LI
由汇编程序转换为LUI
(加载上限立即),后跟ORI
。