Изучение архитектуры и системы команд INTEL-совместимых микропроцессоров. Коршунов А.Д. - 19 стр.

UptoLike

Составители: 

19
то есть устанавливается в 1 при определенных условиях или установка его в 1
изменяет поведение процессора (рис. 8).
Рис. 8. Регистр флагов
• CF — флаг переноса. Устанавливается в 1, если результат предыдущей
операции не уместился в приемнике и произошел перенос из старшего бита или
если требуется заем (при вычитании), иначе устанавливается в 0. Например, после
сложения слова 0FFFFh и 1, если регистр, в который надо поместить результат, —
слово, в него будет записано 0000h и флаг
CF = 1.
• PF — флаг четности. Устанавливается в 1, если младший байт результата
предыдущей команды содержит четное число бит, равных 1; устанавливается в 0,
если число единичных бит нечетное. (Это не то же самое, что делимость на
два. Число делится на два без остатка, если его самый младший бит равен нулю, и
не делится, если он равен
1.)
• AF — флаг полупереноса или вспомогательного переноса. Устанавливается
в 1, если в результате предыдущей операции произошел перенос (или заем) из
третьего бита в четвертый.
• ZF — флаг нуля. Устанавливается в 1, если результат предыдущей
командыноль.
• SF — флаг знака. Этот флаг всегда равен старшему биту результата.
• TF — флаг ловушки. Этот флаг был предусмотрен для работы отладчиков,
не использующих защищенный режим. Установка его в 1 приводит к тому, что
после выполнения каждой команды программы управление временно передается
отладчику.
• IF — флаг прерываний (в модели не используется). Установка этого флага в
1 приводит к тому, что процессор перестает обрабатывать прерывания от внешних
устройств. Обычно его устанавливают на короткое время для выполнения
критических
участков кода.
                                                                            19
то есть устанавливается в 1 при определенных условиях или установка его в 1
изменяет поведение процессора (рис. 8).




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


    • CF — флаг переноса. Устанавливается в 1, если результат предыдущей
операции не уместился в приемнике и произошел перенос из старшего бита или
если требуется заем (при вычитании), иначе устанавливается в 0. Например, после
сложения слова 0FFFFh и 1, если регистр, в который надо поместить результат, —
слово, в него будет записано 0000h и флаг CF = 1.
    • PF — флаг четности. Устанавливается в 1, если младший байт результата
предыдущей команды содержит четное число бит, равных 1; устанавливается в 0,
если число единичных бит нечетное. (Это не то же самое, что делимость на
два. Число делится на два без остатка, если его самый младший бит равен нулю, и
не делится, если он равен 1.)
    • AF — флаг полупереноса или вспомогательного переноса. Устанавливается
в 1, если в результате предыдущей операции произошел перенос (или заем) из
третьего бита в четвертый.
    • ZF — флаг нуля. Устанавливается в 1, если результат предыдущей
команды — ноль.
    • SF — флаг знака. Этот флаг всегда равен старшему биту результата.
    • TF — флаг ловушки. Этот флаг был предусмотрен для работы отладчиков,
не использующих защищенный режим. Установка его в 1 приводит к тому, что
после выполнения каждой команды программы управление временно передается
отладчику.
    • IF — флаг прерываний (в модели не используется). Установка этого флага в
1 приводит к тому, что процессор перестает обрабатывать прерывания от внешних
устройств. Обычно его устанавливают на короткое время для выполнения
критических участков кода.