Encoding:

POOL32S

010110

rt

rs

rd

0

DSUB

110010000

6

5

5

5

2

9

Format:

DSUB rd, rs, rt

microMIPS64

Doubleword Subtract

Purpose:

Doubleword Subtract

To subtract 64-bit integers; trap on overflow

Description:

 GPR[rd] = GPR[rs] - GPR[rt]

The 64-bit doubleword value in GPR rt is subtracted from the 64-bit value in GPR rs to produce a 64-bit result. If the subtraction results in 64-bit 2's complement arithmetic overflow, then the destination register is not modified and an

Integer Overflow exception occurs. If it does not overflow, the 64-bit result is placed into GPR rd.

Restrictions:

Operation:

temp = (GPR[rs]63||GPR[rs]) - (GPR[rt]63||GPR[rt])
if (temp64 != temp63) then
   SignalException(IntegerOverflow)
else
   GPR[rd] = temp63..0
endif

Exceptions:

Integer Overflow, Reserved Instruction

Programming Notes:

DSUBU performs the same arithmetic operation but does not trap on overflow.