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

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

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

Хостинг от uCoz