Rejestr procesora
Z Wikipedii
Rejestr procesora to umieszczone wewnątrz procesora komórki pamięci o niewielkich rozmiarach (najczęściej 4/8/16/32/64/128 bitów) służące do przechowywania tymczasowych wyników obliczeń (rejestry danych) oraz adresów lokacji w pamięci operacyjnej (rejestry adresowe). Proste mikroprocesory mają tylko jeden rejestr danych zwany akumulatorem.
[edytuj] Rejestry w architekturze x86
W mikroprocesorach opartych na architekturach zgodnych z x86 dostępne jest 8 rejestrów ogólnego przeznaczenia:
- Rejestry danych
- AX - rejestr akumulacji
- BX - rejestr bazowy
- CX - rejestr licznika
- DX - rejestr danych
- Rejestry adresowe
- SI - źródło
- DI - przeznaczenie
- BP - wskaźnik bazowy
- SP - wskaźnik na wierzchołek stosu
Dwuliterowe, "klasyczne" skróty nazw rejestrów odnoszą się do rejestrów 16-bitowych (sprzed procesora 80386), lub najmłodszych szesnastu bitów odpowiednich rejestrów w nowszych procesorach. Wprowadzone od procesora 80386 rejestry 32-bitowe oznacza się przez dodanie przedrostka E do nazwy rejestru, np. EBX. Także w procesorach 64-bitowych rejestry nazywa się według tej konwencji, a przedrostkiem rejestrów 64-bitowych jest litera R, np. RAX.
W przypadku rejestrów danych (AX-DX) można się ponadto odwoływać do ich 8-bitowych części - najmłodsze 8 bitów rejestru AX oznaczane jest przez AL, kolejne 8 przez AH. Odpowiednio najmłodsze bity rejestru BX oznacza się przez BL itd.
Oprócz rejestrów ogólnego przeznaczenia występuje też pewna liczba rejestrów o specjalnym przeznaczeniu, m.in.:
- (E)IP - wskaźnik adresowy na aktualnie wykonywaną instrukcję. Za jego pomocą procesor realizuje m.in. skoki, pętle, przejścia do podprogramów.
- (E)FLAGS - rejestr flag procesora, składający się z pojedynczych bitów określających stan procesora
- PC - licznik rozkazów
- IR - rejestr instrukcji
- rejestry segmentowe