MASKMOVDQU
Usage: MASKMOVDQU src,mask Modifies flags:
Stores selected bytes from the 'src' into an 128-bit memory location. The 'mask' operand selects which bytes from the 'src' operand are written to memory.
Byte Mask Write
MASKMOVDQU xmm1,xmm2 ; 66 0F F7 /r [WILLAMETTE,SSE2]
MASKMOVDQU stores data from xmm1 to the location specified by EDI. The size of the store depends on the address-size attribute. The most significant bit in each byte of the 'mask' register xmm2 is used to selectively write the data (0 = no write, 1 = write) on a per-byte basis.
The 'src' and 'mask' operands are XMM registers. The location of the first byte of the memory location is specified by EDI and DS registers. The memory location does not need to be aligned on a natural boundary. (The size of the store address depends on the address-size attribute.) The most significant bit in each byte of the 'mask' operand determines whether the corresponding byte in the 'src' operand is written to the corresponding byte location in memory: 0 indicates no write and 1 indicates write.
EXAMPLE:
mov edi Label
mov mm0 1
maskmovdqu mm1 mm0