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

UptoLike

44
SF=*; СF=0; ZF=0; OF=0.
Переведем полученный результат в восьмеричную систему счис-
ления. Зная, что значение разности отрицательно и в дополнитель-
ном коде, вначале переведем его в двоичную систему счисления. По-
лучим 01100011
(2)
=1100011
(2)
, S=143
(8)
. Выполним проверку вычита-
ния через восьмеричную систему:
X
2
2
5
Y
6
2
=
1
4
3
Mod
400
(S)=Mod
400
(143)=143.
Результат верен.
4.2. Алгоритмы операций сдвига
в цифровых процессорах
Операция сдвигаэто одновременное перемещение значений би-
тов операнда в регистре процессора на фиксированное количество
разрядов влево или вправо.
Различают три типа сдвига:
- логический;
- циклический;
- арифметический.
Рассмотрим алгоритмы выполнения каждого из них.
4.2.1. Логический сдвиг
При логическом сдвиге все биты регистра перемещаются влево
или вправо на константу сдвига с заполнением освобождающихся
битов нулями. Примем следующие обозначения: LS – левый сдвиг
(left shift); RS – правый сдвиг (right shift).
Операция логического сдвига будет обозначаться:
<логический сдвиг>(<регистр>,<константа сдвига>).
Например, логический сдвиг влево на 3 бит регистра РСМ будет
записан как LS(РСМ,3). Рассмотрим примеры выполнения арифме-
тического сдвига. Пусть регистр Р восьмиразрядного процессора
хранит операнд 01110111.
Пример 1.
   SF=*; СF=0; ZF=0; OF=0.
   Переведем полученный результат в восьмеричную систему счис-
ления. Зная, что значение разности отрицательно и в дополнитель-
ном коде, вначале переведем его в двоичную систему счисления. По-
лучим 01100011(2)=1100011(2), S=143(8). Выполним проверку вычита-
ния через восьмеричную систему:
    X       2 2 5
    Y –        6 2
    S = 1 4 3
   Mod400(S)=Mod400(143)=143.
   Результат верен.
              4.2. Алгоритмы операций сдвига
                  в цифровых процессорах
    Операция сдвига – это одновременное перемещение значений би-
тов операнда в регистре процессора на фиксированное количество
разрядов влево или вправо.
    Различают три типа сдвига:
    - логический;
    - циклический;
    - арифметический.
    Рассмотрим алгоритмы выполнения каждого из них.
                        4.2.1. Логический сдвиг
    При логическом сдвиге все биты регистра перемещаются влево
или вправо на константу сдвига с заполнением освобождающихся
битов нулями. Примем следующие обозначения: LS – левый сдвиг
(left shift); RS – правый сдвиг (right shift).
    Операция логического сдвига будет обозначаться:
    <логический сдвиг>(<регистр>,<константа сдвига>).
    Например, логический сдвиг влево на 3 бит регистра РСМ будет
записан как LS(РСМ,3). Рассмотрим примеры выполнения арифме-
тического сдвига. Пусть регистр Р восьмиразрядного процессора
хранит операнд 01110111.
    Пример 1.

                               44