Основы арифметики цифровых процессоров. Вашкевич Н.П - 56 стр.

UptoLike

55
4.4. Поразрядные логические операции
в цифровых процессорах
Прежде чем изучать алгоритмы так называемых «длинных» опе-
рацийумножения и делениярассмотрим четыре «поразрядные
логические операции», которые являются составной частью этих ал-
горитмов. Одноместная (унарная) операция – «инверсия». В такой
операции над каждым битом операнда выполняется булева функция
отрицания.
x
y= ¬x
0
1
1
0
Рассмотрим пример. Пусть содержимое восьмиразрядного регист-
ра Р=37
(8)
. Тогда поразрядная операция отрицания Р дает следующий
результат:
Р= 0
0
0
1
1
1
1
1
¬Р=
1
1
1
0
0
0
0
0
Эта операция используется для получения значения операнда со
знаком «минус». Например, для операнда Х:
Х= ¬Х+1 в дополнительном коде;
Х= ¬Х в обратном коде.
Двухместная (бинарная) операция поразрядное сложение «по
модулю или «исключающее или». В такой операции над кажды-
ми битами двух операндов, имеющих одинаковый вес, выполняется
булева функция «исключающее или».
x
y
y=x
^
y
0
0
0
0
1
1
1
0
1
1
1
0
Эта операция используется для сравнения операндов на равенст-
во. Рассмотрим примеры.
Пример 1.
Пусть в восьмиразрядном регистре Р1 находится опе-
ранд 32
(8)
, а в регистре Р2 – операнд 65
(8)
. Тогда поразрядная опера-
           4.4. Поразрядные логические операции
                  в цифровых процессорах
   Прежде чем изучать алгоритмы так называемых «длинных» опе-
раций – умножения и деления – рассмотрим четыре «поразрядные
логические операции», которые являются составной частью этих ал-
горитмов. Одноместная (унарная) операция – «инверсия». В такой
операции над каждым битом операнда выполняется булева функция
отрицания.
      x y= ¬x
      0     1
      1     0
   Рассмотрим пример. Пусть содержимое восьмиразрядного регист-
ра Р=37(8). Тогда поразрядная операция отрицания Р дает следующий
результат:
     Р= 0 0 0 1 1 1 1 1
     ¬Р= 1 1 1 0 0 0 0 0
   Эта операция используется для получения значения операнда со
знаком «минус». Например, для операнда Х:
    – Х= ¬Х+1 в дополнительном коде;
    – Х= ¬Х в обратном коде.
   Двухместная (бинарная) операция – поразрядное сложение «по
модулю 2» или «исключающее или». В такой операции над кажды-
ми битами двух операндов, имеющих одинаковый вес, выполняется
булева функция «исключающее или».
     x y y=x^y
     0 0         0
     0 1         1
     1 0         1
     1 1         0
   Эта операция используется для сравнения операндов на равенст-
во. Рассмотрим примеры.
   Пример 1. Пусть в восьмиразрядном регистре Р1 находится опе-
ранд 32(8), а в регистре Р2 – операнд 65(8). Тогда поразрядная опера-


                                 55