CPU Registers¶
This is a quick lookup page for assembly language programming.
Registers¶
Register |
Description |
Bitwidth (bit) |
AX |
Accumulator |
16 |
CX |
Counter |
16 |
DX |
For Data address |
16 |
BX |
For Base address |
16 |
SP |
Stack pointer |
16 |
BP |
Base pointer |
16 |
SI |
Source index |
16 |
DI |
Destination index |
16 |
AL |
Low 8 bits of AX |
8 |
AH |
High 8 bits of AX |
8 |
CL |
Low 8 bits of CX |
8 |
CH |
High 8 bits of CX |
8 |
DL |
Low 8 bits of DX |
8 |
DH |
High 8 bits of DX |
8 |
BL |
Low 8 bits of BX |
8 |
BH |
High 8 bits of BX |
8 |
EAX |
Extended Accumulator |
32 |
ECX |
Extended Counter |
32 |
EDX |
Extended Data address |
32 |
EBX |
Extended Base address |
32 |
ESP |
Extended Stack pointer |
32 |
EBP |
Extended Base pointer |
32 |
ESI |
Extended Source index |
32 |
EDI |
Extended Destination index |
32 |
Flags¶
ZF |
Zero flag |
1 |
OF |
Overflow flag |
1 |
CF |
Carry flag |
1 |
SF |
Sign flag |
1 |
Segment Registers¶
ES |
Extra segment |
16 |
CS |
Code segment |
16 |
SS |
Stack segment |
16 |
DS |
Data segment |
16 |
FS |
Segment part 2 |
16 |
GS |
Segment part 3 |
16 |