Co to jest rejestr flagowy?
Rejestr flagowy to specjalny rejestr procesora, który przechowuje informacje o dodatkowych właściwościach wyniku operacji wykonanej przez jednostkę arytmetyczno-logiczną ALU. Nie przechowuje zwykle samego wyniku działania, lecz tzw. flagi, czyli pojedyncze bity opisujące stan wyniku.
Jeżeli ALU wykona np. dodawanie, odejmowanie albo operację logiczną, procesor może ustawić odpowiednie flagi. Na ich podstawie podejmowane są później decyzje, np. czy wykonać skok warunkowy w programie.
Przykładowe flagi
Najczęściej spotykane flagi to:
- ZF (Zero Flag) - informuje, że wynik operacji wynosi zero,
- CF (Carry Flag) - informuje o przeniesieniu lub pożyczce przy operacji arytmetycznej,
- SF (Sign Flag) - informuje o znaku wyniku, np. czy wynik jest ujemny,
- OF (Overflow Flag) - informuje o przepełnieniu zakresu liczby,
- PF (Parity Flag) - informuje o parzystości liczby ustawionych bitów.
Do czego służy rejestr flagowy?
Rejestr flagowy jest ważny przy wykonywaniu instrukcji warunkowych. Procesor może sprawdzić stan flag i na tej podstawie zdecydować, czy kontynuować wykonywanie programu po kolei, czy wykonać skok do innego miejsca.
Ważne na egzaminie
Jeżeli pytanie dotyczy dodatkowych właściwości wyniku operacji ALU, poprawną odpowiedzią jest rejestr flagowy. Akumulator może przechowywać wynik działania, licznik rozkazów adres następnej instrukcji, a wskaźnik stosu adres wierzchołka stosu.