ВУЗ:
Составители:
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 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его устанавливают на короткое время для выполнения критических участков кода.
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »