Intel x86 Assembly


Notes on x86 assembly

Resources

Registers

General Purpose Registers

Name Size Notes
RAX 64-bits
RBX 64-bits
RCX 64-bits
RDX 64-bits
RSI 64-bits
RDI 64-bits
EAX 32-bits Least-significant half of RAX
EBX 32-bits Least-significant half of RBX
ECX 32-bits Least-significant half of RCX
EDX 32-bits Least-significant half of RDX
ESI 32-bits Least-significant half of RSI
EDI 32-bits Least-significant half of RDI
AX 16-bits Least-significant half of EAX
BX 16-bits Least-significant half of EBX
CX 16-bits Least-significant half of ECX
DX 16-bits Least-significant half of EDX
AH 8-bits Most-significant half of AX
AL 8-bits Least-significant half of AX
BH 8-bits Most-significant half of BX
BL 8-bits Least-significant half of BX
CH 8-bits Most-significant half of CX
CL 8-bits Least-significant half of CX
DH 8-bits Most-significant half of DX
DL 8-bits Least-significant half of DX

Size Directives

Name Size
BYTE 8-bits
WORD 16-bits
DWORD 32-bits
QWORD 64-bits

C Calling Convention