Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

FLAGS

Z Wikipedii, wolnej encyklopedii
Artykuł opisuje rejestr stanu w architekturze x86. Ogólne informacje można znaleźć w artykule:rejestr stanu.

FLAGSrejestrprocesorów zgodnych zarchitekturąx86 zaprojektowaną przezIntela wlatach 70. XX wieku i modernizowaną do tej pory, na której opiera się zdecydowana większość współczesnychkomputerów osobistych.

Nazwa FLAGS dotyczy zwykle 16-bitowego rejestru stanu procesorów do80286 włącznie. W architekturzeIA-32 (od80386 do najnowszych 32-bitowych procesorów firmy Intel) rejestr ten jest32-bitowy i nosi nazwęEFLAGS. W procesorach oarchitekturze 64-bitowej, zgodnej z x86 (x86-64,EM64T) rejestr stanu ma długość 64 bitów, przy czym opisuje się go symbolemRFLAGS.

Poszczególne rodzaje rejestrówsą ze sobą zgodne: młodsza część 32-bitowego rejestru EFLAGS jest tożsama z16-bitowym rejestrem FLAGS, z kolei młodsze 32 bity rejestru RFLAGS są tożsame z rejestrem EFLAGS.

Rejestr stanu architektury x86 firmy Intel
Nr bituSkrótOpisKategoria[a]
FLAGS
0CFflaga przeniesienia (carry flag)S
11zarezerwowane 
2PFflaga parzystości (parity flag)S
30zarezerwowane 
4AFflaga wyrównania (adjust flag)S
50zarezerwowane 
6ZFflaga zera (zero flag)S
7SFflaga znaku (sign flag)S
8TFflaga pracy krokowej (trap flag / single step flag)X
9IFflaga przerwań (interrupt enable flag)X
10DFflaga kierunku (direction flag)C
11OFflaga przepełnienia (overflow flag)S
12, 13IOPLpoziom uprzywilejowania we/wy (I/O privilege level, 286+)X
14NTflaga zadania zagnieżdżonego (nested task flag; 286+)X
150zarezerwowane 
EFLAGS
16RFflaga wznowienia (resume flag, 386+)X
17VMflagatrybu wirtualnego 8086 (virtual 8086 mode flag; 386+)X
18ACsprawdzenie wyrównania (alignment check; 486SX+)X
19VIFflaga przerwania wirtualnego (virtual interrupt flag; Pentium+)X
20VIPoczekujące przerwanie wirtualne (virtual interrupt pending; Pentium+)X
21IDidentyfikacja (identification; Pentium+)X
220zarezerwowane 
230zarezerwowane 
240zarezerwowane 
250zarezerwowane 
260zarezerwowane 
270zarezerwowane 
280zarezerwowane 
290zarezerwowane 
300zarezerwowane 
310zarezerwowane 
RFLAGS
32-630zarezerwowane 

Przykłady

[edytuj |edytuj kod]

Niżej przedstawiono przykład ustawiania flagi DF (flaga kierunku), czyli jej zmiany z 0 na 1.

movbx,400h; ustawienie flagi DFpushf; położenie bieżącej zawartości flag na stospopax; zdjęcie flag ze stosu do rejestru axpushax; położenie ich z powrotem na stos celem ich zachowaniaxorax,bx; przełączenie flagi DF z zachowaniem stanu reszty flagpushax; położenie na stosie nowej zawartościpopf; 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ówstd icld.

Zobacz też

[edytuj |edytuj kod]

Uwagi

[edytuj |edytuj kod]
  1. S: Flaga stanu
    C: Flaga sterowania
    X: Flaga systemowa
Źródło: „https://pl.wikipedia.org/w/index.php?title=FLAGS&oldid=72046051
Kategoria:

[8]ページ先頭

©2009-2025 Movatter.jp