CF — флаг переноса, фиксирует значение переноса, возникающего при сложении (вычитании) байтов или слов, а также значение выдвигаемого бита при сдвиге операнда.
PF—флаг четности (или паритета), фиксирует наличие четного числа единиц в младшем байте результата операции, может быть использован, например, для контроля правильности передачи данных.
AF — флаг вспомогательного переноса, фиксирует перенос (заем) из младшей тетрады, т. е. из бита аз, в старшую при сложении (вычитании), используется только для двоично-десятичной арифметики, которая оперирует исключительно младшими байтами.
ZF — флаг нуля, сигнализирует о получении нулевого результата операции.
SF — флаг знака, дублирует значение старшего бита результата, который при использовании дополнительного кода соответствует знаку числа.
OF — флаг переполнения, сигнализирует о потере старшего бита результата сложения или вычитания в связи с переполнением разрядной сетки при работе со знаковыми числами. При сложении этот флаг устанавливается в единицу, если происходит перенос в старший бит и нет переноса из старшего бита или имеется перенос из старшего бита, но отсутствует перенос в него; в противном случае флаг OF устанавливается в нуль. При вычитании он устанавливается в единицу, когда возникает заем из старшего бита, но заем в старший бит отсутствует либо имеется заем в старший бит, но отсутствует заем из него. Имеется специальная команда прерывания при переполнении, которая в указанных случаях генерирует программное прерывание.
Для управления некоторыми действиями МП предназначены три дополнительных флага.
DF — флаг направления, управляемый командами CLD и STD; определяет порядок обработки цепочек в соответствующих командах: от меньших адресов (DF=0) или от больших (DF==1).
IF— флаг разрешения прерываний, управляемый с помощью команд CL1 и STI; при IF==1 макропроцессор воспринимает (распознает) и соответственно реагирует на запрос прерывания по входу INTR; при IF=0 прерывания по этому входу запрещаются (маскируются) и МП игнорирует поступающие запросы прерываний. Значение флага IF не влияет на восприятие внешних немаскируемых прерываний по входу NMI, а также внутренних (программных) прерываний, выполняемых по команде INT.
TF—флаг трассировки (прослеживания). При TF=1 МП переходит в покомандный (пошаговый) режим работы, применяемый при отладке программ, когда автоматически генерируется сигнал внутреннего прерывания типа 1 после выполнения каждой команды с целью перехода к соответствующей подпрограмме, которая обычно обеспечивает индикацию содержимого внутренних регистров МП. Команды установки или сброса флага TF отсутствуют, так что управление этим флагом осуществляется опосредованно, путем пересылки содержимого регистра флагов F через стек в общий регистр, установки требуемого значения восьмого бита и обратной пересылки
сформированного слова в регистр F.
Рис. 2.21. Формат регистра флагов F