80386 Programmer's Reference Manual -- Opcode MOVZX

MOVZX -- Move with Zero-Extend

OpcodeInstructionClocks DescriptionExample
0F B6 /rmovzx r/m8,r163/6 Move byte to word with zero-extendmovzx %dl,%bx
movzx (%ebx,1),%bx
movzx m8(%ebx,1),%bx
movzx m8(%ebx,%ebp,1),%bx
0F B6 /rmovzx r/m8,r323/6 Move byte to dword, zero-extendmovzx %dl,%ebx
movzx (%ebx,1),%ebx
movzx m8(%ebx,1),%ebx
movzx m8(%ebx,%ebp,1),%ebx
0F B7 /rmovzx r/m16,r323/6 Move word to dword, zero-extendmovzx %cx,%ebx
movzx (%ebx,1),%ebx
movzx (%ebx,2),%ebx
movzx (%ebx,%ebp,1),%ebx


DEST := ZeroExtend(SRC);


MOVZX reads the contents of the effective address or register as a byte or a word, zero extends the value to the operand-size attribute of the instruction (16 or 32 bits), and stores the result in the destination register.

Flags Affected


Protected Mode Exceptions

#GP(0) for an illegal memory operand effective address in the CS, DS, ES, FS, or GS segments; #SS(0) for an illegal address in the SS segment; #PF(fault-code) for a page fault

Real Address Mode Exceptions

Interrupt 13 if any part of the operand would lie outside of the effective address space from 0 to 0FFFFH

Virtual 8086 Mode Exceptions

Same exceptions as in Real Address Mode; #PF(fault-code) for a page fault

[Home Page dell'ITIS "Fermi"] [80386 Programmer's Reference Manual Index] [Previous] [Next]