Co to jest rejestr statusu?
Rejestr statusu - znany również jako rejestr flagi, słowo statusu programu i rejestr kodu warunku - jest zdefiniowany jako zbiornik flagowych bitów wewnątrz procesora. Rejestr jest obwodem procesora i jest podobny do lokalizacji pamięci, co oznacza, że dane mogą być zapisane i odczytane z niego. W przeciwieństwie do lokalizacji pamięci rejestr statusu często nie ma adresu, ponieważ mikroprocesor używa go wewnętrznie. W środkowej jednostce przetwarzania (CPU), która jest 8-bitowa, bit rejestru statusu może być ustawiony , równy liczbie 1 lub wyczyszczonej , równej liczbie 0, według różnorodnych wyników pracy procesora. Procesor czasami ustawia lub usuwa same bity, ale innym razem określone instrukcje programu ustawiają lub usuwa bity.
Bity rejestru stanu są również nazywane flagami lub bitami flagowymi i są używane przez programista do niektórych celów programowania. Każda flaga w rejestrze statusu ma unikalny cel. Flaga noszenia ustawia, jeśli poprzednia operacja wykonała siódmy bit & mkropla; lub flaga ujemna - przepełnienie lub uczyniło flagę podkładową. Ustawia się podczas przesunięć logiki, porównania i arytmetyki. Zero flagi ustawia się, jeśli najnowszym wynikiem operacji był 0.
działa flaga o nazwie „Wyłączanie się przerwań”, umożliwiając lub odrzucając działanie przerwań, które są instrukcjami, które tymczasowo zatrzymują niektóre operacje, aby można było wykonać inne operacje. Gdy ta konkretna flaga ustawia, przerwania nie mogą działać, ale gdy jest to jasne, dozwolone są przerwy. Kolejna flaga o nazwie Flaga dziesiętna pozwala procesorowi podążać za bardziej zaawansowanym trybem binarnym w celu wykonania bezbłędnych równań arytmetycznych. Po ustaleniu flagi używa tego zaawansowanego trybu binarnego. Kolejnym bitem rejestru jest bit flagi pęknięcia, który ustawia, gdy polecenie przerwania siły (BRK) jest wykonywane.
Flaga przepełnienia ustawia się podczas operacji arytmetyki, jeśli operacja daje InvaWynik pokrywki. Flaga ujemna ustawia, jeśli najnowszy wynik operacji ustawiono go na 1. Ostatnia flaga, zwana bit 5, jest bezimienna i zawsze ustawiona na 1. Programiści zasadniczo nie mają zastosowania dla tego konkretnego bitu.
Rejestr flag jest jednym z przykładów rejestru statusu, który został użyty w niektórych środkowych jednostkach procesora i zawierał bieżące stany procesora. Miał 16 bitów szerokości i zastąpił go EFLAGS i RFLAGS, odpowiednio 32-bitowy rejestr i 64-bitowy rejestr. Rejestr flag miał jednak kilka flag, które były różne od oryginalnego rejestru 8-bitowego, w tym flaga parytetu, flaga pomocnicza i flaga pułapki.