Регистр флагов
Регистр флагов
. Содержит 32 бита. Вот используемые значения битов.
0-й бит, флаг переноса (CF), устанавливается в 1 если был перенос из старшего бита; 1-й бит, 1; 2-й бит, флаг четности (PF). Устанавливается в 1, если младший байт результата содержит четное число единиц. 3-й бит, 0; 4-й бит, флаг вспомогательного переноса (AF). Устанавливается в 1, если произошел перенос из третьего бита в четвертый. 5-й бит, 0; 6-й бит, флаг нуля (ZF). Устанавливается в единицу, если результат операции ноль; 7-й бит, флаг знака (SF). Равен старшему биту результата; 8-й бит, флаг ловушки (TF). Установка в единицу этого флага приводит к тому, что после каждой команды вызывается INT 3. Используется отладчиками в реальном режиме; 9-й бит, флаг прерываний (IF). Сброс этого флага в 0 приводит к тому, что микропроцессор перестает воспринимать прерывания; 10-й бит, флаг направления (DF). Данный флаг учитывается в строковых операциях. Если флаг равен 1, то в строковых операциях адрес автоматически уменьшается; 11-й бит, флаг переполнения (OF). Устанавливается в единицу, если результат операции над числом со знаком вышел за допустимые пределы; 12,13-й биты, уровень привилегий ввода-вывода (IOPL); 14-бит, флаг вложенной задачи (NT); 15-й бит, 0; 16-й бит, флаг возобновления (RF). Используется совместно с регистрами точек отладочного останова; 17-й бит, в защищенном режиме включает режим виртуального режима 8086 (VM); 18-й бит, флаг контроля выравнивания (AC). При равенстве этого флага 1 и при обращении к невыровненному операнду вызывает исключение 17; 19-й бит, виртуальная версия флага IF (VIF). Работает в защищенном режиме; 20-й бит, виртуальный запрос прерывания (VIP); 21-й бит, флаг доступности команды идентификации; 22-31-й, 0;
Содержание раздела