MOVZX
Move with zero extension
Copy a narrower value, extending it to the destination width.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
MOVZX r32, r8 | 32 | x86-64 | 0F B6 /r |
MOVZX r32, m8 | 32 | x86-64 | 0F B6 /r |
MOVZX r32, r16 | 32 | x86-64 | 0F B7 /r |
MOVZX r32, m16 | 32 | x86-64 | 0F B7 /r |
MOVZX r64, r8 | 64 | x86-64 | REX.W + 0F B6 /r |
MOVZX r64, m8 | 64 | x86-64 | REX.W + 0F B6 /r |
MOVZX r64, r16 | 64 | x86-64 | REX.W + 0F B7 /r |
MOVZX r64, m16 | 64 | x86-64 | REX.W + 0F B7 /r |
Operation#
Pseudo-C · selected form
dst = zero_extend(src, 32)Exact upstream semantics
Standard variant
let result := Zero_Extend(src, operand_size);What to watch for
- A REX prefix prevents use of AH/BH/CH/DH as the byte source.
Architectural details#
- Flags
- RFLAGS unchanged.
- Destination
- Writes the low 32 bits and clears the corresponding 64-bit register’s upper half.
- Encoding
0F B6 /r- Operands
r32write · 32 bits · unsignedr8read · 8 bits · unsigned
- Coverage
- Selected scalar forms in 64-bit execution mode. 8/16-bit arithmetic, APX and unlisted encoding alternatives are outside this selection.
Exception information & execution requirements
#UD
Imported exceptions are checks exposed by this XML form; memory, stack, instruction-fetch and called architectural helpers can introduce additional faults.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Intel · MOVZX-Move-With-Zero-Extend.xml
- Revision
4ebe7f0ac1bd00f46244c49bb72c503ce368def7- SHA-256
26bf248248b7c33094cbd561f914b80abf14626fb1c0366954fbfb6416761530- Terms
- Intel SDM terms; see License.md