Trong kiến trúc CPU x86, có một số thanh ghi địa chỉ được sử dụng để lưu trữ địa chỉ của các dữ liệu hoặc chỉ thị.
Các thanh ghi địa chỉ bao gồm:
- Thanh ghi Base Pointer (BP) và Stack Pointer (SP): Độ dài của các thanh ghi này là 16 bit. Thanh ghi BP được sử dụng để lưu trữ địa chỉ cơ sở của một khối dữ liệu trên bộ đệm ngăn xếp (stack), còn thanh ghi SP được sử dụng để lưu trữ địa chỉ của đỉnh (top) của bộ đệm ngăn xếp.
- Thanh ghi Index Registers (BX, SI, DI): Các thanh ghi này cũng có độ dài là 16 bit. Thanh ghi BX được sử dụng như một con trỏ cơ sở (base pointer) cho các khối dữ liệu trong bộ nhớ, còn SI và DI được sử dụng như các con trỏ chỉ mục (index pointer) cho các bảng băm (lookup table).
- Thanh ghi Instruction Pointer (IP): Độ dài của thanh ghi này là 16 bit. Thanh ghi IP chứa địa chỉ của lệnh tiếp theo được thực thi trong chương trình.
- Thanh ghi Segment Registers (CS, DS, ES, SS): Độ dài của các thanh ghi này là 16 bit. Các thanh ghi này được sử dụng để chỉ định các đoạn (segment) của bộ nhớ được sử dụng để lưu trữ các dữ liệu và chương trình.
- Thanh ghi Extended Registers (EIP, EBP, ESP, EBX, ESI, EDI): Độ dài của các thanh ghi này là 32 bit. Các thanh ghi này là các phiên bản mở rộng của các thanh ghi trên và được sử dụng trong các kiến trúc x86 mới hơn.