ВУЗ:
Составители:
44
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
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
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »
