PSUBUSB         Subtract Unsigned with Saturation on Byte

PSUBUSB destination, source CPU: MMX

Logic
mm(7..0) <- SaturateToUnsignedByte (mm(7..0) - mm/m64 (7..0) )
mm(15..8) <- SaturateToUnsignedByte (mm(15..8) - mm/m64(15..8) )
mm(23..16) <- SaturateToUnsignedByte (mm(23..16) - mm/m64(23..16) )
mm(31..24) <- SaturateToUnsignedByte (mm(31..24) - mm/m64(31..24) )
mm(39..32) <- SaturateToUnsignedByte (mm(39..32) - mm/m64(39..32) )
mm(47..40) <- SaturateToUnsignedByte (mm(47..40) - mm/m64(47..40) )
mm(55..48) <- SaturateToUnsignedByte (mm(55..48) - mm/m64(55..48) )
mm(63..56) <- SaturateToUnsignedByte (mm(63..56) - mm/m64(63..56) )

PSUBUSB subtracts the bytes of the source operand from the bytes of
the destination operand and writes the results to the destination
register.
If the result element is less than zero (a negative value), it is
saturated to 00h.

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 D8 /r PSUBUSB mm, mm/m64