<<<    Index    >>>
3-479
INSTRUCTION SET REFERENCE
PADDSB/PADDSW—Packed Add with Saturation
Description
These instructions add the individual signed data elements (bytes or words) of the source
operand (second operand) to the individual signed data elements of the destination operand (first
operand) (refer to Figure 3-56). If the result of an individual addition exceeds the range for the
specified data type, the result is saturated. The destination operand must be an MMX™ tech-
nology register; the source operand can be either an MMX™ technology register or a quadword
memory location.
The PADDSB instruction adds the signed bytes of the source operand to the signed bytes of the
destination operand and stores the results to the destination operand. When an individual result
is beyond the range of a signed byte (that is, greater than 7FH or less than 80H), the saturated
byte value of 7FH or 80H, respectively, is written to the destination operand.
The PADDSW instruction adds the signed words of the source operand to the signed words of
the destination operand and stores the results to the destination operand. When an individual
result is beyond the range of a signed word (that is, greater than 7FFFH or less than 8000H), the
saturated word value of 7FFFH or 8000H, respectively, is written to the destination operand.
Opcode
Instruction
Description
0F EC /r
PADDSB mm, 
mm/m64
Add signed packed bytes from mm/m64 to signed 
packed bytes in mm and saturate.
0F ED /r
PADDSW mm, 
mm/m64
Add signed packed words from mm/m64 to signed 
packed words in mm and saturate.
 
Figure 3-56.  Operation of the PADDSW Instruction
PADDSW mm, mm/m64
mm
mm/m64
mm
10000000000000000111111100111000
+
+
+
+
11111111111111110001011100000111
10000000000000000111111111111111
3006016
<<<    Index    >>>