Rejestr statusu — znany również jako rejestr flag, słowo statusu programu i rejestr kodu warunku — jest zdefiniowany jako zbiór bitów flag wewnątrz procesora. Rejestr jest obwodem procesora i jest bardzo podobny do lokalizacji w pamięci, co oznacza, że można z niego zapisywać i odczytywać dane. W przeciwieństwie do komórki pamięci, rejestr stanu często nie ma adresu, ponieważ mikroprocesor używa go wewnętrznie. W jednostce centralnej (CPU), która jest 8-bitowa, bit rejestru stanu może być ustawiony, równy liczbie 1, lub wyczyszczony, równy liczbie 0, przez różne wyniki działania procesora. Procesor czasami sam ustawia lub czyści bity, ale innym razem dana instrukcja programu ustawia lub czyści bity.
Bity rejestru stanu są również nazywane flagami lub bitami flagi i są używane przez programistę do pewnych celów programistycznych. Każda flaga w rejestrze statusu ma unikalny cel. Flaga przeniesienia jest ustawiana, jeśli poprzednia operacja spowodowała przepełnienie siódmego bitu — lub flagi ujemnej — lub niedomiaru flagi przeniesienia. Zachodzi podczas zmian logiki, porównania i arytmetyki. Flaga zero jest ustawiana, jeśli wynik ostatniej operacji to 0.
Flaga zwana „wyłączeniem przerwań” działa poprzez zezwalanie lub blokowanie operacji przerwań, które są instrukcjami, które tymczasowo zatrzymują pewne operacje, aby można było wykonać inne operacje. Kiedy ta konkretna flaga jest ustawiona, przerwania nie mogą działać, ale kiedy jest wyczyszczone, przerwania są dozwolone. Inna flaga, zwana flagą dziesiętną, umożliwia procesorowi podążanie za bardziej zaawansowanym trybem binarnym w celu wykonania bezbłędnych równań arytmetycznych. Gdy flaga zostanie ustawiona, używa tego zaawansowanego trybu binarnego. Innym bitem rejestru jest bit flagi przerwania, który ustawia się, gdy wykonywane jest polecenie Force Interrupt (BRK).
Flaga przepełnienia ustawia się podczas operacji arytmetycznych, jeśli operacja daje niepoprawny wynik. Flaga ujemna jest ustawiana, jeśli wynik ostatniej operacji miał wartość 1. Ostatnia flaga, zwana bitem 5, jest bez nazwy i zawsze ustawiona na 1. Programiści zasadniczo nie mają pożytku z tego konkretnego bitu.
Rejestr FLAGS jest jednym z przykładów rejestru statusu, który był używany w niektórych centralnych jednostkach procesorowych i zawierał aktualne stany procesora. Miał on szerokość 16 bitów i został zastąpiony przez EFLAGS i RFLAGS, odpowiednio 32-bitowy rejestr i 64-bitowy rejestr. Rejestr FLAGS miał jednak kilka flag, które różniły się od oryginalnego rejestru 8-bitowego, w tym flagę parzystości, flagę pomocniczą i flagę pułapki.