A similar concept is zero extension (sometimes abbreviated as zext). In a move or convert operation, zero extension refers to setting the high bits of the destination to zero, rather than setting them to a copy of the most significant bit of the source. If the source of the operation is an unsigned number, then zero extension is usually the correct way to move it to a larger field while preserving its numeric value, while sign extension is correct for signed numbers.
In the x86 and x64 instruction sets, the movzx instruction ("move with zero extension") performs this function. For example, movzx ebx, al copies a byte from the al register to the low-order byte of ebx and then fills the remaining bytes of ebx with zeroes.
On x64, most instructions that write to the entirety of lower 32 bits of any of the general-purpose registers will zero the upper half of the destination register. For example, the instruction mov eax, 1234 will clear the upper 32 bits of the rax1 register.
RAX - 64 bit accumulator /wiki/X86#64-bit ↩