PSUBSW Subtract Signed with Saturation on Word
PSUBSW destination, source CPU: MMX
Logic
mm(15..0) <- SaturateToSignedWord (mm(15..0) - mm/m64(15..0) )
mm(31..16) <- SaturateToSignedWord (mm(31..16) - mm/m64(31..16))
mm(47..32) <- SaturateToSignedWord (mm(47..32) - mm/m64(47..32))
mm(63..48) <- SaturateToSignedWord (mm(63..48) - mm/m64(63..48))
PSUBSW subtracts the signed words of the source operand from the
signed words of the destination operand, and writes the results to
the destination register.
If the result is larger or smaller than the range of a signed word,
the value is saturated; in the case of an overflow - to 7FFFh, and
in the case of an underflow - to 8000h.
The destination operand is an MMX register. The source operand can
either be an MMX register or a 64-bit memory operand.
Opcode Format
0F E9 /r PSUBSW mm, mm/m64