Скачиваний:
16
Добавлен:
11.04.2015
Размер:
16.55 Кб
Скачать
  1. Регистр флагов и его функции.

Регистр флагов – это особые биты, каждый из которых имеет собственное особое назначение. Регистр флагов информирует о состоянии процессора.

CF (carry flag) - флаг переноса равен 1, если произошёл перенос 1 при сложении или заём 1 при вычитании. В противном случае CF = 0. Кроме того, CF содержит значение бита, который при сдвиге или циклическом сдвиге регистра или ячейки памяти вышел за их границы, и ещё отражает результат операции сравнения. Наконец, CF служит индикатором результата умножения.

PF (parity flag) - флаг чётности равен 1, если в результате операции получено число с чётным числом единиц в его битах, иначе PF = 0. В основном используется в операциях обмена данными.

AF (auxiliary саrrу flag) - вспомогательный флаг переноса аналогичен флагу CF, только контролирует перенос или заём для третьего бита данных. Используется при выполнении операций над упакованными десятичными числами.

ZF (zero flag) - флаг нуля равен 1, если в результате операции получен нуль, при ненулевом результате ZF = 0.

SF (sign flag) - флаг знака имеет значение только при операциях над числами со знаком. Флаг SF =1, если в результате арифметической или логической операции, сдвига или циклического сдвига получено отрицательное число. Иначе SF = 0. Флаг дублирует знаковый разряд (7 или 15).

TF (trap flag) - флаг трассировки разрешает исполнять программу по "шагам" (флаг ловушки). Когда TF = 1, МП автоматически вырабатывает сигнал внутреннего прерывания после выполнения каждой команды. Адрес сервисной процедуры организации пошагового режима должен быть определён в абсолютных адресах. Флаг трассировки может быть установлен программно.

IF (interrupt enable flag) - флаг прерывания разрешает МП реагировать на прерывания от внешних устройств. При IF = 0, заставляет МП игнорировать прерывания до установления его в 1.

DF (direction flag) - флаг направления заставляет МП уменьшать на 1 (при DF =1) или увеличивать на 1 (при DF = 0) регистр (ы) индекса после выполнения команды работы со строками. Если DF = 0, то МП будет обрабатывать строку "слева направо" (от младших адресов к старшим), в противном случае обработка строки пойдёт "справа налево".

OF (overflow flag) - флаг переполнения служит индикатором ошибки при выполнении операций над числами со знаком. В сочетании с флагом CF указывает длину результата умножения. Если старшая половина произведения отлична от нуля, то OF и CF равны 1, в противном случае они равны нулю. Если частное от деления двух чисел переполняет результирующий регистр, флаг OF = 1.

Соседние файлы в папке Ответы по пунктам