ADDI

ADDI

Add Immediate Word

指令编码

31 26 25 21 20 16 15 0
ADDI
001000
rs rt immediate
6 5 5 16

指令格式

  • ADDI rt, rs, immediate(MIPS32,在Release 6中移除)

指令用途

Add Immediate Word

立即数加法

将常数与32位整数相加。如果溢出,则产生异常。

详细说明

伪代码:GPR[rt] ← GPR[rs] + immediate

16位立即数与通用寄存器rs中的32位整数相加,产生32位结果。

  • 如果加法导致32位补码发生算术溢出,目的寄存器的值不会被更改,且发生整数溢出(Integer Overflow)异常。
  • 如果加法没有导致溢出,则32位的加法结果被置入通用寄存器rt中。

限制条件

可用性与兼容性

此指令在Release 6中被移除,指令编码被Release 6中引入的新指令重用。(不知道是哪个指令)

操作的伪代码

temp ← (GPR[rs][31]||GPR[rs][31..0]) + sign_extend(immediate)
if temp[32] ≠ temp[31] then
    SignalException(IntegerOverflow)
else
    GPR[rt] ← temp
endif

可能出现的异常

  • 整数溢出(Integer Overflow)异常

编程提示

ADDIU指令进行的算术操作与此指令相同,但不会因溢出而发生异常。

原文截图

(6.02版本,2014年12月10日发布,http://cdn2.imgtec.com/documentation/MD00086-2B-MIPS32BIS-AFP-06.02.pdf

除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License