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