Признаки результата операции

В МК семейства MCS-96 используются шесть признаков результата:

1. Нулевой результат (Z). Признак Z принимает единичное значение при получении нулевого результата операции (все биты кода результата имеют нулевое значение).

2. Отрицательный результат (N). Значение признака N совпадает со значением старшего бита кода результата. Если результат является числом со знаком, старший бит кода результата имеет единичное значение при отрицательном результате.

3. Переполнение разрядной сетки (V). Признак V принимает единичное значение, если при выполнении операций сложения и вычитания чисел без знака и со знаком возникает комбинация значений старших битов операндов и результата, соответствующая переполнению разрядной сетки. Комбинация значений старших битов кодов первого операнда (x), второго операнда (y) и результата (z), при которых признак V принимает единичное значение, приведены в таблице 2.2.

Таблица 2.2
Старший битОперация
СложениеВычитание
x0101
y0110
z1010

Признак V, кроме того, принимает единичное значение, если возникает переполнение разрядной сетки при выполнении операции деления и операции сдвига влево. Признак V принимает соответствующее значение при выполнении каждой очередной операции, при которой он формируется.

4. Сохраняемый признак переполнения разрядной сетки (VT). Признак VT принимает единичное значение в тех же случаях, что и признак V, но единичное значение этого признака сохраняется до выполнения команды условного перехода, в которой используется этот признак, или до выполнения команды операции управления, по которой этот признак принимает нулевое значение (CLRVT).

5. Перенос (C). Значение признака C:
- совпадает со значением переноса из старшего разряда при выполнении операции сложения;
- противоположно значению переноса из старшего разряда при выполнении операции вычитания;
- совпадает со значением бита кода, выходящего за пределы разрядной сетки при выполнении операций сдвига кода влево или вправо.

6. Сохраняемый перенос при сдвиге кода вправо (ST). Признак ST имеет единичное значение, если при выполнении операции сдвига кода вправо за пределы разрядной сетки вышла хотя бы одна единица.

Значение признаков результата представляется состоянием разрядов регистра слова состояния программы (Program Status Word, PSW).

<<< Содержание >>>