Najlepsze pytania
Chronologia
Czat
Perspektywa
FLAGS
Z Wikipedii, wolnej encyklopedii
Remove ads
FLAGS – rejestr procesorów zgodnych z architekturą x86 zaprojektowaną przez Intela w latach 70. XX wieku i modernizowaną do tej pory, na której opiera się zdecydowana większość współczesnych komputerów osobistych.
- Artykuł opisuje rejestr stanu w architekturze x86. Ogólne informacje można znaleźć w artykule: rejestr stanu.
Nazwa FLAGS dotyczy zwykle 16-bitowego rejestru stanu procesorów do 80286 włącznie. W architekturze IA-32 (od 80386 do najnowszych 32-bitowych procesorów firmy Intel) rejestr ten jest 32-bitowy i nosi nazwę EFLAGS. W procesorach o architekturze 64-bitowej, zgodnej z x86 (x86-64, EM64T) rejestr stanu ma długość 64 bitów, przy czym opisuje się go symbolem RFLAGS.
Poszczególne rodzaje rejestrów są ze sobą zgodne: młodsza część 32-bitowego rejestru EFLAGS jest tożsama z 16-bitowym rejestrem FLAGS, z kolei młodsze 32 bity rejestru RFLAGS są tożsame z rejestrem EFLAGS.
Remove ads
Przykłady
Niżej przedstawiono przykład ustawiania flagi DF (flaga kierunku), czyli jej zmiany z 0 na 1.
mov bx, 400h ; ustawienie flagi DF
pushf ; położenie bieżącej zawartości flag na stos
pop ax ; zdjęcie flag ze stosu do rejestru ax
push ax ; położenie ich z powrotem na stos celem ich zachowania
xor ax, bx ; przełączenie flagi DF z zachowaniem stanu reszty flag
push ax ; położenie na stosie nowej zawartości
popf ; zdjęcie wartości ze stosu i ustawienie według niej rejestru FLAGS
; … kod …
popf ; przywrócenie starej zawartości FLAGS
W zastosowaniach praktycznych do ustawienia i czyszczenia flagi kierunku korzysta się odpowiednio z mnemoników std i cld.
Remove ads
Zobacz też
Uwagi
- S: Flaga stanu
C: Flaga sterowania
X: Flaga systemowa
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads