|
Последнийуправляющий регистр-
16-битовыйрегистр флагов.Этот
регистр содержитинформацию, которая используется побитно,а не в
качестве 16-битового числа. Битыфлагового регистра имеют значение
для процессора по-отдельности.
Некоторыеиз этих бит содержат коды
условий,установленныепоследнейвыполненойкомандой. Программа
пользуется этими кодами для управления
своим выполнением. Программа
можеттестировать кодыусловийина
основеполученных значений
выбиратьпоследовательностьвыполнения.Другиебитыв регистре
флаговпоказываютсостояниепроцессорапривыполнениитекущей
команды. Эти биты управляются специальными
командами.
Регистр флагов лучше всего описывать
последовательно, по одному
биту. Структура регистра флаговпоказано на Фиг. 3.10. Заметим,
чтоздесь определеныне всебиты. Остальныезарезервированы, то
есть внастоящее время ихзначение не
определено.Однако в даль-
нейших версияхпроцессора они могутбыть
использованы длякаких-
нибудь специальных целей. Поэтому никогда
не следует расчитывать на
неизменность значения зарезервированных
бит.
номер бита15
14 13 12 11 109876543210
ЪДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДВДДї
іXXіXXіXXіXXіOFіDFіIFіTFіSFіZFіXXіAFіXXіPFіXXіCFі
АДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДБДДЩ
Фиг. 3.10 Регистр флагов
Все флаги младшегобайта регистра устанавливаются арифметичес-
кими или логическими операциямипроцессора. Например, операция ADD
устанавливаетвсефлагивмладшембайтевсоответствиис ее
результатом. За исключением флагапереполнения, все флаги старшего
байта устанавливаются специальнопредназначенными для этого коман-
дами.Флаги старшегобайта отражаютсостояние процессора8088 и
будут влиять на режим выполнения
программы. Флаги в младшем байте -
этокоды условияи могутбыть испольлзованыв командах условных
переходов для изменения порядка выполнения
программы.
|