Флаги выставляются при выполнение операций, в основном арифметических. С помощью этих флагов можно что-нибудь определить, например было ли переполнение при последней выполненной операции.
Каждый флаг представляет собою 1 бит, выставляемый в 0 (флаг сброшен) или в 1 (флаг установлен).
Хотя разрядность регистра FLAGS 16 бит, реально используют не все 16. Остальные были зарезервированы при разработке процессора, но так и не были использованы.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CF - PF - AF - ZF SF TF IF DF OF IOPL NT -
16 битов - отдельные флажки.
Некоторые флаги напрямую менять нельзя, они меняются сами
TF
, IF
, IOPL
, NT
- системные флаги
CF
(carry flag) - флаг переноса (при выходе за рязрядную сетку)PF
(parity flag) - флаг чётностиAF
(auxiliary carry flag) - вспомогательный флаг переносаZF
(zero flag) - флаг нуляSF
(sign flag) - флаг знакаTF
(trap flag) - флаг трассировкиIF
(interrupt enable flag) - флаг разрешения прерыванийDF
(direction flag) - флаг направленияOF
(overflow flag) - флаг переполнения (изменение знакового разряда)IOPL
(I/O privilege flag) (появился в 286 процессоре) - уровень приоритета ввода-выводаNT
(nested task) (появился в 286 процессоре) - флаг вложенности задач