Rejestr flag procesora, rejestr statusu - wewnętrzny rejestr w procesorach, składająca się z bitów nazywanych flagami lub znacznikami, opisujących i kontrolujących stan procesora. Ustawienie wartości danej flagi zależy np. od trybu pracy procesora, wyniku ostatnio wykonanej operacji arytmetycznej, porównania, niekiedy może być także ustawiana z poziomu programu. Budowa rejestru statusu zależy od modelu programowego, według którego dany procesor jest zbudowany.

[edytuj] Przykładowe flagi rejestru statusu

  • Z - wynik ostatniej operacji byÅ‚ zerem jeÅ›li bit = 1
  • S (lub N) - wynik ostatniej operacji byÅ‚ dodatni (S) lub ujemny (N, od ang. negative)
  • C - nastÄ…piÅ‚o przeniesienie, a wiÄ™c wynik ostatniej operacji jest wiÄ™kszy niż liczba dostÄ™pnych bitów (wiÄ™c przykÅ‚adowo do 254 dodamy 5)
  • V - nastÄ…piÅ‚o przepeÅ‚nienie rejestru
  • P - flaga parzystoÅ›ci, pokazujÄ…ca czy ilość bitów w wyniku ostatniej operacji jest parzysta czy nieparzysta

[edytuj] Budowa rejestru flag w procesorach x86

W procesorach IA-32, zgodnych z architekturą x86 zaprojektowaną przez Intela w latach 70. XX wieku, na której opiera się zdecydowana większość współczesnych komputerów osobistych, rejestr flag procesora ma rozmiar 32 bitów i nosi nazwę EFLAGS. W procesorach x86 sprzed IA-32 (do procesora 80286 włącznie) miał rozmiar 16 bitów i nosił nazwę FLAGS; młodsza część rejestru EFLAGS jest tożsama z 16-bitowym rejestrem FLAGS.

W nowych procesorach 64-bitowych zgodnych z x86 (x86-64, EM64T) rejestr EFLAGS rozszerzono do 64 bitów i określono symbolem RFLAGS. Młodsze 32 bity tego rejestru są tożsame z rejestem EFLAGS, starsze 32 są zarezerwowane do wykorzystania w przyszłych wersjach procesorów (do tej pory nie przypisano im funkcji).

[edytuj] Zobacz też