Последний управляющий регистр  - 16-битовый  регистр флагов.  Этот  регистр содержит  информацию, которая используется побитно,  а не в  качестве 16-битового числа. Биты  флагового регистра имеют значение  для процессора по-отдельности. Некоторые  из этих бит содержат коды  условий, установленные  последней  выполненной командой. Программа  пользуется этими кодами для управления своим выполнением. Программа  может тестировать коды  условий  и  на основе  полученных значений  выбирать последовательность выполнения.  Другие  биты в регистре  флагов показывают  состояние  процессора при  выполнении  текущей  команды. Эти биты управляются специальными командами.

Регистр флагов лучше всего описывать последовательно, по одному  биту. Структура регистра флагов  показано на Фиг. 3.10. Заметим,  что здесь определены  не все  биты. Остальные  зарезервированы, то  есть в настоящее время их  значение не определено.  Однако в дальнейших версиях  процессора они могут  быть использованы для  каких-нибудь специальных целей. Поэтому никогда не следует рассчитывать на  неизменность значения зарезервированных бит.

  номер бита  15 14 13 12 11 10  9  8 7  6  5  4  3  2  1  0

  ЪДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДї

  іXXіXXіXXіXXіOFіDFіIFіTFіSFіZFіXXіAFіXXіPFіXXіCFі

  АДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДЩ

  Фиг. 3.10 Регистр флагов

Все флаги младшего  байта регистра устанавливаются арифметическими или логическими операциями  процессора. Например, операция ADD  устанавливает  все  флаги  в младшем  байте  в соответствии  с ее  результатом. За исключением флага  переполнения, все флаги старшего  байта устанавливаются специально  предназначенными для этого командами. Флаги старшего  байта отражают  состояние процессора  8088 и  будут влиять на режим выполнения программы. Флаги в младшем байте -  это коды условия  и могут  быть использованы  в командах условных  переходов для изменения порядка выполнения программы.