Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture
9-8 Vol. 1
PROGRAMMING WITH INTEL® MMX™ TECHNOLOGY
9.4.1 Data Transfer Instructions
The MOVD (Move 32 Bits) instruction transfers 32 bits of packed data from memory
to an MMX register and vice versa; or from a general-purpose register to an MMX
register and vice versa.
The MOVQ (Move 64 Bits) instruction transfers 64 bits of packed data from memory
to an MMX register and vice versa; or transfers data between MMX registers.
9.4.2 Arithmetic Instructions
The arithmetic instructions perform addition, subtraction, multiplication, and
multiply/add operations on packed data types.
The PADDB/PADDW/PADDD (add packed integers) instructions and the
PSUBB/PSUBW/ PSUBD (subtract packed integers) instructions add or subtract the
corresponding signed or unsigned data elements of the source and destination oper-
ands in wraparound mode. These instructions operate on packed byte, word, and
doubleword data types.
The PADDSB/PADDSW (add packed signed integers with signed saturation) instruc-
tions and the PSUBSB/PSUBSW (subtract packed signed integers with signed satura-
tion) instructions add or subtract the corresponding signed data elements of the
source and destination operands and saturate the result to the limits of the signed
data-type range. These instructions operate on packed byte and word data types.
The PADDUSB/PADDUSW (add packed unsigned integers with unsigned saturation)
instructions and the PSUBUSB/PSUBUSW (subtract packed unsigned integers with
unsigned saturation) instructions add or subtract the corresponding unsigned data
elements of the source and destination operands and saturate the result to the limits
of the unsigned data-type range. These instructions operate on packed byte and
word data types.
Doubleword Transfers Quadword Transfers
Data
Transfer
Register to
Register
Load from
Memory
Store to Memory
MOVD
MOVD
MOVD
MOVQ
MOVQ
MOVQ
Empty MMX
State
EMMS
Table 9-2. MMX Instruction Set Summary (Contd.)
Category Wraparound Signed
Saturation
Unsigned Saturation