Data Transfer Class
Table of Contents
Data Transfer Class
Overview
Data transfer instructions are used to move, load, or store data between registers, memory, and the stack, and are the foundation for understanding the logic of any function.
The backbone of almost every piece of assembly code is formed by chaining these instructions together—they determine “where the data is” and “where the data needs to go.”
Subcategory Description
Register ↔ Register
Register ↔ Memory
Memory ↔ Memory (rare but possible)
Special addressing mode handling (such as using LEA for address calculation)
Stack-direction data transfer (push/pop also belong to the stack category, but may appear repeatedly)
Instruction List
Register / Memory Transfer
-
MOV
Moves data between registers, memory, and immediate values; it is the most basic data transfer instruction. -
LEA
Loads an effective address (Load Effective Address), commonly used for address calculation, pointer arithmetic, and offset summation.
Stack-Related Data Operations
-
PUSH
Pushes data onto the top of the stack and adjusts the stack pointer (esp/rsp) to build the calling environment. -
POP
Pops data from the top of the stack into a register or memory to restore the calling environment.
Auxiliary
- XCHG
Exchanges the values of two operands (registers or memory), commonly used for atomic operations or scheduling when temporary registers are insufficient.