Data Movement
mov eax, ecx ; copy
movzx eax, bl ; zero-extend 8->32 (upper bits = 0)
movsx eax, bl ; sign-extend 8->32 (preserves sign)
lea rax, [rbx+4] ; address arithmetic (no load)
movis the workhorse — copy, not "move".movzx/movsxconvert small types to larger ones; the choice tells you whether the source wasunsignedor signed.- You cannot
movdirectly memory-to-memory in one instruction.