MOVD            Move Doubleword to/from MMX Register

MOVD destination, source CPU: MMX

Logic if destination = mm
mm(63..0) <- ZeroExtend(r/m32)
else
r/m32 <- mm(31..0)
endif

MOVD copies 32 bits from the source operand to the destination
operand.
The destination and source operands can be either MMX registers,
32-bit memory operands, or 32-bit integer registers. MOVD cannot
transfer data from an MMX register to an MMX register, from memory
to memory, or from an integer register to an integer register.

When the destination operand is an MMX register, the 32-bit source
operand is written to the low-order 32 bits of the 64-bit destination
register. The destination register is zero-extended to 64 bits.

When the source operand is an MMX register, the low-order 32 bits of
the MMX register are written to the 32-bit integer register or 32-bit
memory location.


Opcode Format
0F 6E /r MOVD mm, r/m32
0F 7E /r MOVD r/m32, mm