Регистр флагов, эквивалентный регистру состояния процессора других вычислительных систем, содержит информацию о текущем состоянии процессора (см. таблицу 2.1).
Он включает 6 флагов состояния и 3 бита управления состоянием процессора.
X | X | X | X | OF | DF | IF | TF | SF | ZF | X | AF | X | PF | X | CF |
Таблица 2.1 – Регистры флагов
№ бита | Флаг | Примечания |
CF — Carry flag | Флаг переноса CF (Carry Flag) индицирует перенос или заем при выполнении арифметических операций. Переносом называется ситуация, когда в результате выполнения правильной, в общем, команды образуется число, содержащее более 16 двоичных разрядов и, следовательно, не помещающееся в регистр или ячейку памяти | |
PF — Parity flag | Флаг четности, равен 1, если результат операции - число с четным числом бит. Флаг равен 0, если результат операции - число с нечетным числом бит. | |
AF — Auxillary Carry flag | Флаг дополнительного переноса, устанавливается в 1, если произошел перенос или заем для третьего бита результата. Обычно используется в командах коррекции результата при операциях с двоично-десятичными числами. | |
ZF — Zero flag | Флаг нуля, устанавливается в 1, если результат операции равен нулю. | |
SF — Sign flag | Флаг знака показывает знак результата операции, устанавливаясь в 1 при отрицательном результате, принимает значение 0 при положительном результате. | |
TF — Trap flag | Флаг трассировки используется для отладки программы и обычно используется в отладчиках. Его установка в единицу приводит к формированию специальной команды прерывания МП и переходу по фиксированному адресу, по которому находится программа отладчика. | |
IF — Interrupt flag | Флаг разрешения прерываний определяет, можно ли прервать ход выполнения программы в ответ на внешние события (запросы прерываний от внешних устройств). Если этот флаг равен 1, такие прерывания разрешены, если он равен 0 — прерывания не разрешены. | |
DF — Destination flag | Флаг направления используется в командах работы со строками и показывает, как будут автоматически изменяться содержимое индексных регистров SI и DI. Если он равен 0, содержимое будет увеличиваться (строка обрабатывается слева направо), если он равен 1 — содержимое регистров будет уменьшаться (строка обрабатывается справа налево). | |
OF — Overflow flag | Флаг переполнения, используется как индикатор переполнения при работе с числами со знаком. Равен 1, если возникает арифметическое переполнение, то есть когда объем результата превышает размер ячейки назначения; |
|
|