Flagi 8086
Procesor 8086 ma dziewięć 1-bitowych wskaźników (bitów flagowych), którychwartości są zapisywane w 16-bitowym rejestrze flagowym. Rozmieszczenie bitów flagowych pokazano na rys.2.3.
Wskaźniki można podzieli na dwie grupy: znaczniki stanu wewnętrznego i znaczniki rozkazów sterujących. Do znaczników stanu wewnętrznego zaliczamy:
C (Carry) - przeniesienie; wartość 1 na tej pozycji oznacza przeniesienie zewnętrzne dla operacji arytmetycznych całkowitoliczbowych,
P (Parity) - parzystość; wartość 1 na tej pozycji oznacza parzysta liczbę jedynek wyniku dowolnej operacji,
A (Auxiliary-Carry) - przeniesienie połówkowe; wartość 1 na tej pozycji oznacza obecność przeniesienia po czwartym bicie rezultatu operacji arytmetycznych BCD,
Z (Zero) - zero; wartość 1 na tej pozycji oznacza rezultat 0 operacji,
S (Sign) - znak; wartość 1 sygnalizuje ujemny wynik operacji arytmetycznej całkowitoliczbowej,
O (Over-flow) - przepelnienie;1 na tej pozycji oznacza zbyt dużą liczbę dla wyniku operacji arytmetycznej całkowitoliczbowej.
Do znaczników sterujących zaliczamy:
T (Trap) - jest znacznikiem pracy krokowej procesora, gdy T = 1 wówczas procesor przechodzi do pracy krokowej, tzn. następuje zatrzymanie po każdym rozkazie, wywoływane jest przerwanie o numerze 1 a CPU przesyła zawartość rejestru flagowego na stos (jak dla obsługi przerwań). W pamięci wskazywanej przez sumie zawartości IP oraz CS dla INTn =1 należy wpisać program obsługi tego zadania przerwania (np. badanie stanu przycisku).
I (Interrupt enable) - znacznik wskazujący, czy wejście przerwania maskowanego
INTR jest odblokowane (I = 1), czy zablokowane (I = 0),
D (Direction) - znacznik sterowania kierunkiem zmian zawartości rejestrów SI i DI:
- dla D = 0, zawartość SI i DI zwiększa się o 1 przy operacjach 8- bitowych a o 2 przy operacjach 16 - bitowych,
- dla D = 1, zmniejsza się zawartość tych rejestrów o 1 przy operacjach
8 - bitowych i o 2 przy operacjach 16 - bitowych.
Znaczniki stanu wewnętrznego są ustawiane w wyniku realizacji określonych operacji arytmetycznych lub logicznych procesora, natomiast znaczniki sterujące rejestru wskaźników są ustawiane za pomocą odpowiednich rozkazów sterujących procesora w celu wymuszenia określonego trybu pracy.