在 MIPS 中使用 ori 和 addi 初始化一个值有什么区别?
What's the difference between using ori and addi to initialize a value in MIPS?
当我想在 MIPS 中的地址中存储一个值时,例如 $a0 中的值 3,我通常只使用 addi $a0, $0, 3。有时我看到人们使用 ori $a0, $0 , 3. 一个比另一个好吗?有什么区别?
两者之间有一些细微的差别:
ADDI
:
- 符号-扩展立即数。
- 可能导致整数溢出异常(可以通过使用
ADDIU
来避免)。
ORI
:
- 零-扩展立即数。
- 不易受整数溢出的影响。
当我想在 MIPS 中的地址中存储一个值时,例如 $a0 中的值 3,我通常只使用 addi $a0, $0, 3。有时我看到人们使用 ori $a0, $0 , 3. 一个比另一个好吗?有什么区别?
两者之间有一些细微的差别:
ADDI
:
- 符号-扩展立即数。
- 可能导致整数溢出异常(可以通过使用
ADDIU
来避免)。
ORI
:
- 零-扩展立即数。
- 不易受整数溢出的影响。