Rejestry są to specjalne struktury wewnątrz procesora, pozwalające na przechowywanie w nich niewielkich danych
- do 4 bajtów w 32 bitowym procesorze
- 8 bajtów w jego 64 bitowym odpowiedniku
64 bits | 32 bits | 16 bits | 8 bits (higher) | 8 bits (lower) |
RAX | EAX | AX | AH | AL |
RBX | EBX | BX | BH | BL |
RCX | ECX | CX | CH | CL |
RDX | EDX | DX | DH | DL |
Rejestry 64 bitowe zawierają w sobie rejestr 32 bitowy, który dalej dzieli się na 16 i 8 bitów.
Tak więc RAX zawiera w sobie rejestr EAX, który to ma podrejestr AX, ten z kolei dzieli się na dwa rejestry 8 bitowe AH i AL, itd.
W 32 bitowym komputerze rozróżniamy następujące rejestry ogólnego przeznaczenia:
EAX | rejestr akumulator, w którym przechowywane są tymczasowe dane, z których będziemy korzystać |
EBX | rejestr bazowy, używany do przechowywania adresów w pamięci, do których będziemy się odwoływać |
ECX | rejestr licznika, używany jako licznik przy pętlach |
EDX | rejestr danych, używany do operacji arytmetycznych oraz do obsługi portów wyjścia/wejścia |
W rejestrze EAX wyróżniamy 16 bitowy rejestr AX, zawierający młodsze 16 bitów, w EBX jest to rejestr BX, w ECX jest to CX, w EDX jest to rejestr DX.
16 bitowe rejestry dzielą się na dwa rejestry, zawierające ich młodsze i starsze 8 bitów:
AX | AH + AL |
BX | BH + BL |
CX | CH + CL |
DX | DH + DL |
Wyróżniamy również rejestry:
- segmentowe
- indeksowe
- wskaźnikowe
Segmentowe - służą do określania segmentu w pamięci, w którym znajdują się dane części programu
CS | wskaźnik segmentu, w którym znajduje się kod aplikacji |
DS | wskazuje na segment z danymi |
SS | wskaźnik segmentu stosu |
ES, FS, GS | rejestry te używane są w przypadku wykonywania dalekich skoków |
Indeksowe oraz wskaźnikowe - zawiera, m.in. wskaźnik do szczytu stosu (czyli adres w pamięci, pod którym znajduje się szczyt stosu) Zawierają adresy w pamięci, które są niezbędne do działania jakiejkolwiek aplikacji.
ESI | rejestr zawierający adres źródła |
EDI | rejestr zawierający adres przeznaczenia |
ESP | wskaźnik szczytu stosu |
EIP | wskaźnik instrukcji |
EBP | rejestr bazowy |