PSUBx
Usage: PSUBx dest,src Modifies flags: None
Performs an SIMD subtract of the packed integers of the 'src (second operand) from the packed integers of the 'dest' (first operand), and stores the packed integer results in the 'dest' operand.
Subtract Packed Integers
PSUBB mm1,mm2/m64 ; 0F F8 /r [PENT,MMX]
PSUBW mm1,mm2/m64 ; 0F F9 /r [PENT,MMX]
PSUBD mm1,mm2/m64 ; 0F FA /r [PENT,MMX]
PSUBQ mm1,mm2/m64 ; 0F FB /r [WILLAMETTE,SSE2]
PSUBB xmm1,xmm2/m128 ; 66 0F F8 /r [WILLAMETTE,SSE2]
PSUBW xmm1,xmm2/m128 ; 66 0F F9 /r [WILLAMETTE,SSE2]
PSUBD xmm1,xmm2/m128 ; 66 0F FA /r [WILLAMETTE,SSE2]
PSUBQ xmm1,xmm2/m128 ; 66 0F FB /r [WILLAMETTE,SSE2]
PSUBx subtracts packed integers in the source operand from those in the destination operand. It doesn't differentiate between signed and unsigned integers, and doesn't set any of the flags.
PSUBB operates on byte sized elements. PSUBW operates on word sized elements.
PSUBD operates on doubleword sized. PSUBQ operates on quadword sized.
These instructions can operate on either 64-bit or 128-bit operands. When operating on 64-bit operands, the 'dest' operand must be an MMX technology register and the 'src' operand can be either an MMX technology register or a 64-bit memory location. When operating on 128-bit operands, the 'dest' operand must be an XMM register and the 'src' operand can be either an XMM register or a 128-bit memory location.
EXAMPLE:
psubb xmm1 Label | psubw xmm1 Label | psubd xmm1 Label| psubq xmm1 Label