Assembler для начинающих


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



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


    Последний  управляющий регистр  - 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 и
    будут влиять на режим выполнения программы. Флаги в младшем байте -
    это  коды условия  и могут      быть испольлзованы  в командах условных
    переходов для изменения порядка выполнения программы.




Содержание раздела