# MOVZX
# Move with Zero-Extend
Opcode | Mnemonic | Description |
---|---|---|
0F B6 /r | MOVZX r16,r/m8 | Move byte to word with zero-extension. |
0F B6 /r | MOVZX r32,r/m8 | Move byte to doubleword, zero-extension. |
0F B7 /r | MOVZX r32,r/m16 | Move word to doubleword, zero-extension. |
# Description
Copies the contents of the source operand (register or memory location) to the destination operand (register) and zero extends the value to 16 or 32 bits. The size of the converted value depends on the operand-size attribute.
# Operation
Destination = ZeroExtend(Source);
1
2
2
# Flags affected
None.
# Protected Mode Exceptions
# Real-Address Mode Exceptions
#GP | If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. |
#GP | If a memory operand effective address is outside the CS, DS, ES, FS, or GS segment limit. |
# Virtual-8086 Mode Exceptions
Instruction | Latency | Throughput | Execution Unit |
---|---|---|---|
CPUID | 0F3n/0F2n | 0F3n/0F2n | 0F2n |
MOVZB/MOVZW | 1/0.5 | 0.5/0.5 | ALU |