mov
is used to copy data from a source to a destination.
The source can be an immediate value (a constant), a register, or a memory location.
The destination can be either a register or a memory location, but both cannot be memory locations simultaneously in a single instruction
<aside>
mov**b
** (byte): 1 byte (8 bits)mov**w
** (word): 2 bytes (16 bits)mov**l
** (long): 4 bytes (32 bits)mov**q
** (quad): 8 bytes (64 bits)
</aside>Needed when going from a smaller register to a larger register. Ensures that the value in the smaller source operand retains its sign (positive or negative) when moved to a larger destination. z fills the extra bits in the larger destination with zeros. s fill the extra bits in the larger destination with zeros.