To tylko jedna z 39 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Rejestry procesora Rejestry są szybkimi 8-, 16- (procesory 8086, 8088, 80286) lub 32-bitowymi (procesor 80386 i nowsze) obszarami składowania danych wewnątrz procesora. Dostęp do nich jest o wiele szybszy niż do pamięci operacyjnej, a zatem operacje wykorzystujące tylko zawartość rejestrów są wykonywane szybciej niż odwołujące się do pamięci operacyjnej. Tab. 1. Podział rejestrów ze względu na funkcje, do których są używane Kategoria rejestru zastosowanie rejestry danych zwane również rejestrami ogólnego przeznaczenia używane do operacji arytmetycznych i przenoszenia danych rejestry segmentowe używane do przechowywania informacji, w którym segmencie pamięci operacyjnej (pamięć operacyjna podzielona jest na segmenty o pojemności 65 536 czyli 64 k bajtów) przechowywany jest kod programu, w którym jego dane i który został przeznaczony na przechowywanie danych tymczasowych, czyli na stos, rejestry wskaźnikowe i indeksowe zawierają informacje o przesunięciu danych czyli aktualnym położeniu w stosunku do początku segmentu, w którym znajdują się odpowiednie dane rejestr statusu (stanu) i sterowania steruje działaniem procesora lub sygnalizuje wynik określonej operacji Tab. 2. Rejestry danych (ogólnego przeznaczenia) nazwa rejestru symbol przeznaczenie Akumulator AX jest najefektywniejszy przy wykonywaniu operacji matematycznych Baza (Base) BX może służyć do przechowywania przesunięcia np. procedury lub zmiennej w pamięci; razem z rejestrem segmentowym DS jest używany jako wskaźnik pamięci Licznik (Counter) CX najczęściej służy jako licznik dla pętli lub rozkazów iteracyjnych Dane(Data) DX pełni szczególną rolę przy operacjach mnożenia (przechowuje górne 16 bitów iloczynu) i dzielenia (górne 16 bitów dzielnej); służy również do adresowania portów podczas rozkazów I/O AX, BX, CX i DX to rejestry szesnastobitowe. Jednakże istnieje możliwość potraktowania każdego z nich jako dwóch rejestrów ośmiobitowych. I tak dolna 1-bajtowa część rejestru AX nosi nazwę AL (ang. A-Low), a górne 8 bitów AH (A-High). Nazwy rejestrów w procesorach 32-bitowych są analogiczne do 16-bitowych, ale poprzedza je litera E, np. AX zamienia się na EAX. Wówczas AX oznacza 16 dolnych (mniej znaczących) bitów rejestru EAX (rys. 1). AH AL AX EAX Rys. 1. Nazwy rejestrów ośmio-, szesnasto- i trzydziestodwubitowych na przykładzie rejestu AX Tab. 3. Rejestry segmentowe nazwa rejestru symbol przeznaczenie Segment kodu CS (Code Segment) zawiera numer segmentu pamięci operacyjnej, w którym przechowywany jest kod wykonywanego programu Segment danych DS. (Data Segment) zawiera numer segmentu pamięci operacyjnej, w którym
(…)
…
(nadmiar)
a najbardziej znaczącym bitem operandu; sprawdzany przy
operacjach na liczbach całkowitych ze znakiem
Direction* Flag DF Wpływa na polecenia transferu bloków danych w górę (0) lub w dół
UP⇔
(kierunek)
(1), poprzez zwiększanie lub zmniejszanie zawartości rejestrów SI
i DI w czasie wykonywania operacji na ciągach
*
Interrupt Flag IF Decyduje o tym, czy przerwania systemowe sygnalizowane przez
EI…
… operandu jest parzysta; używany do sprawdzania
poprawności przesyłania danych
Carry Flag
CF Zawiera wartość (0 lub 1) przeniesioną poza najbardziej znaczący bit
(przeniesienie)
operandu; wykorzystywany do kontroli operacji arytmetycznych na
liczbach całkowitych bez znaku, operacji przesunięć i obrotów oraz
wskaźnik operacji mnożenia
Wykład 3 str.3
ozn.
debugera
PL⇔NG
NZ⇔ZR
NA⇔AC
PO⇔PE
NC⇔CY
Opracowała: G…
…. Sobiczewska (WSInf Łódź); data postatniej modyfikacji 2007-04-05
Tab. 7. Znaczniki rejestru FLAGS (ciąg dalszy)
Znacznik
Sym
przeznaczenie
bol
Sign Flag
SF Pokazuje zawartość (0 dla liczby dodatniej lub 1 dla ujemnej)
(znak)
najbardziej znaczącego bitu operandu, czyli w przypadku operacji na
liczbach ze znakiem, czy wynik jest dodatni, czy ujemny
Zero Flag
ZF Jest ustawiany na 1, gdy wynikiem operacji…
… łańcucha źródłowego
DI (Destina- podobny do SI; w operacjach na łańcuchach wskaźnik łańcucha
tion)
przeznaczenia
BP (Base) wskaźnik pamięci odnoszący się do segmentu stosu
wskaźnik stosu zawierający informację o bieżącym położeniu na stosie;
SP (Stack)
powinien być modyfikowany tylko przez rozkazy operujące na stosie
Indeksowe
(Index)
Wskaźnikowe
(Pointer)
Tab. 5. Wskaźnik rozkazów
nazwa rejestru
symbol…
... zobacz całą notatkę
Komentarze użytkowników (0)