%eax: Accumulator, often used for arithmetic and return values.
%ebx: Base register, used for extra storage.
%ecx: Counter, often used in loops.
%edx: Data register, often used for I/O operations.
%eip: stores the offset address of the next instruction to be executed.
%esp: Stack Pointer, points to the top of the stack.
%ebp: Base Pointer, used for stack frame management.