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

Опубликовано в Архитектура процессора Intel

В регистре флагов актуальными являются только девять битов, шесть из которых представляют собой арифметические флаги (флаги состояний) и три — флаги управления.

Остальные семь бит являются незадействованными (обозначаются X).

Арифметические флаги формируются в основном арифметическими командами, определяя результат арифметических операций (точнее, они являются признаками результата). Кроме того, на арифметические флаги оказывают влияние логические команды и команды сдвигов. Флаги управления оказывают влияние на процесс выполнения программы.

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

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

К арифметическим флагам относятся:

CF — Саnу Flag (флаг переноса). В нем фиксируется перенос из старшего разряда при сложении и заем в старший разряд при вычитании. При умножении значения флага

CF определяет возможность (CF=0) или невозможность (CF=1) представления результата (произведения) в том же формате, что и сомножители.

С помощью флага переноса фиксируется переполнение при сложении беззнаковых чисел.

PF — Parity Flag — флаг паритета (четности). Он устанавливается при наличии четного числа единиц в младшем байте результата, в противном случае -сбрасывается. Этот флаг используется как аппаратная поддержка контроля по четности (нечетности).

AF — Auxiliary Саnу Flag (флаг вспомогательного переноса). В этом флаге фиксируется межтетрадный перенос при сложении и межтетрадный заем при вычитании.

Значение этого флага используется командами десятичной и ASCII-коррекции сложения и вычитания. Этот флаг можно рассматривать как аппаратную поддержку операций над десятичными числами.

ZF — Zero Flag (флаг нуля). Он устанавливается при нулевом результате операции, в противном случае (ненулевой результат) — сбрасывается.

SF — Sign Flag (флаг знака). В него копируется старший (крайний левый) бит результата, интерпретируемый как знак.

OF — Overflow Flag (флаг переполнения). Он устанавливается в командах сложения и вычитания в случае, если результат операции не помещается в формате операндов.

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

К флагам управления относятся:

TF — Trace (Trap) Flag (флаг трассировки (ловушки)). При установке флага TF процессор переводится в так называемый отладочный (покомандный, пошаговый) режим работы. В этом режиме завершение выполнения любой команды сопровождается выходом на прерывание специального типа (стандартный тип 1 — прерывание по отладке).

DF — Direction Flag (флаг направления). Его значение используется командами обработки строк (цепочек) и определяет направление обработки: от меньших адресов к большим (слева на право) при DF=0 или от больших адресов к меньшим (справа на лево) при DF=1.

IF — Interrupt Flag (флаг прерываний). С помощью этого флага разрешаются (IF=1) или запрещаются (IF=0) внешние прерывания, запросы которых поступают на специальный вход INTR (Interrupt Requester). Этот вход обычно связан с микросхемой PIC (Programmable Interrupt Controller) — программируемый контроллер прерываний.

Перейдя по следующей ссылке https://sim-trade.ru/tariff/beeline/ Вы получите самые выгодные Мобильные тарифы Билайн от компании SIMtrade!