Содержит битовые признаки (флаги), определяющие ход выполнения программы. Всего 9 флагов, 6 из них статусные, отражают результат выполнения операции, а 3 – управляющие, непосредственно определяют режим выполнения программы. Флаги независимы друг от друга.
OF DF IF TF
15 14 13 12 11 10 9 8
SF ZF AF PF CF
7 6 5 4 3 2 1 0
Статусные флаги:
CF – флаг переноса. Фиксирует наличие переноса (1 или 0) из старшего разряда при арифметических операциях и сдвигах.
PF – флаг чётности. Проверяет чётность (1) восьми младших битов результата операции (число единиц в младшем байте результата)
AF – флаг логического (вспомогательного) переноса в двоично-десятичной арифметике. Устанавливается в 1, если происходит перенос или заём четвёртого справа бита однобайтового операнда.
ZF – флаг нуля. Устанавливается в 1, если результат операции равен 0, иначе в 0.
SF – флаг знака. Значение зависит от результата арифметической операции: при положительном – 0, отрицательном - 1.
OF – флаг переполнения. Устанавливается при арифметическом переполнении: если при выполнении арифметической операции со знаком есть перенос в знаковый разряд, если частное от деления переполняет регистр результата и т.д., то устанавливается в 1.
Управляющие флаги.
DF – флаг направления. Используется в строковых операциях для задания направления обработки данных. Если 0, то значения регистров SI/DI в каждой команде увеличивается на 1 – (обработка справа налево), если 0, то слева направо.
IF – флаг прерываний. При его значении 0 прерывания запрещены, при 1 разрешены
TF – флаг системного прерывания. 1 в этом флаге переводит ЦП в режим пошаговой работы.
.