MOVSX sign-extends its source (second) operand to the length of
its destination (first) operand, and copies the result into the
destination operand. MOVZX does the same, but zero-extends
rather than sign-extending.
movzx
8086 and laterMove with Zero-Extend
movzx reg16, r/m8 | movzx reg32, r/m8 | movzx reg64, r/m8 | movzx reg16, r/m16 | movzx reg32, r/m16 | movzx reg64, r/m16 | movzx reg16, r/m32 | movzx reg32, r/m32 | movzx reg64, r/m32Loading...
Forms
Every form of movzx the assembler accepts, from NASM's own instruction table.
The second column is the processor that introduced the form; a badge marks a form that needs
an extension, that is lockable, or that long mode dropped.
| Form | Since | Notes |
|---|---|---|
| movzx reg16, r/m8 | 386 | |
| movzx reg32, r/m8 | 386 | |
| movzx reg64, r/m8 | x86-64 | long |
| movzx reg16, r/m16 | 386 | |
| movzx reg32, r/m16 | 386 | |
| movzx reg64, r/m16 | x86-64 | long |
| movzx reg16, r/m32 | 8086 | |
| movzx reg32, r/m32 | 386 | |
| movzx reg64, r/m32 | x86-64 | long |