ВУЗ:
Составители:
125
0
1
1
0
коррекция +110
(2)
1
0
1
1
0
результат сдвига
Таким образом, при выполнении сдвига влево операнда в коде
8421 на один двоичный разряд требуется выполнить коррекцию
сдвигаемой тетрады в двух случаях:
1) если значение тетрады после сдвига больше (1001
(2)
=9
(10)
);
2) если при сдвиге перенос из этой тетрады равен 1.
Операция сдвига вправо.
Сдвиг операнда в BCD-коде вправо на один двоичный разряд
уменьшает его значение в два раза. Рассмотрим вначале операцию
сдвига вправо на конкретных примерах.
Пример 1.
Сдвинуть вправо операнд в коде 8421, расположенный в
двух тетрадах и равный 46
(10)
. В результате должно получиться 23
(10)
.
CF
Тетрада
Тетрада
Комментарий
0
0
1
0
0
0
1
1
0
46
8421
0
0
0
1
0
0
0
1
1
AR(46
8421
,1
)
0
0
0
1
0
0
0
1
1
результат сдвига
,
равный 23
8421
Пример 2. Сдвинуть вправо операнд в коде 8421, расположенный в
двух тетрадах и равный 30
(10)
. В результате должно получиться 15
(10)
.
CF
Тетрада
Тетрада
Комментарий
0
0
0
1
1
0
0
0
0
30
8421
0
0
0
0
1
1
0
0
0
AR(
30
8421
,1
)
0
0
0
0
0
1
1
0
1
коррекция [
–
11
(2)
]=1
101
0
0
0
0
1
0
1
0
1
результат коррекции, перенос
блокируется
0
0
0
0
1
0
1
0
1
результат сдвига
,
равный
15
8421
Таким образом, при выполнении сдвига вправо операнда в ко-
де 8421 требуется выполнить коррекцию тетрады на величину –11
(2)
в том случае, если в нее был перенос, равный 1, из предыдущей тетрады.
4.10.1. Алгоритмы умножения в BCD-коде 8421
Рассмотрим два алгоритма умножения в коде 8421. Первый основан
на алгоритме умножения с младших разрядов множителя и сдвиге час-
0 1 1 0 коррекция +110(2) 1 0 1 1 0 результат сдвига Таким образом, при выполнении сдвига влево операнда в коде 8421 на один двоичный разряд требуется выполнить коррекцию сдвигаемой тетрады в двух случаях: 1) если значение тетрады после сдвига больше (1001(2)=9(10)); 2) если при сдвиге перенос из этой тетрады равен 1. Операция сдвига вправо. Сдвиг операнда в BCD-коде вправо на один двоичный разряд уменьшает его значение в два раза. Рассмотрим вначале операцию сдвига вправо на конкретных примерах. Пример 1. Сдвинуть вправо операнд в коде 8421, расположенный в двух тетрадах и равный 46(10). В результате должно получиться 23(10). CF Тетрада Тетрада Комментарий 0 0 1 0 0 0 1 1 0 468421 0 0 0 1 0 0 0 1 1 AR(468421,1) 0 0 0 1 0 0 0 1 1 результат сдвига, равный 238421 Пример 2. Сдвинуть вправо операнд в коде 8421, расположенный в двух тетрадах и равный 30(10). В результате должно получиться 15(10). CF Тетрада Тетрада Комментарий 8421 0 0 0 1 1 0 0 0 0 30 0 0 0 0 1 1 0 0 0 AR(308421,1) 0 0 0 0 0 1 1 0 1 коррекция [–11(2)]=1101 0 0 0 0 1 0 1 0 1 результат коррекции, перенос блокируется 0 0 0 0 1 0 1 0 1 результат сдвига, равный 158421 Таким образом, при выполнении сдвига вправо операнда в ко- де 8421 требуется выполнить коррекцию тетрады на величину –11(2) в том случае, если в нее был перенос, равный 1, из предыдущей тетрады. 4.10.1. Алгоритмы умножения в BCD-коде 8421 Рассмотрим два алгоритма умножения в коде 8421. Первый основан на алгоритме умножения с младших разрядов множителя и сдвиге час- 125
Страницы
- « первая
- ‹ предыдущая
- …
- 124
- 125
- 126
- 127
- 128
- …
- следующая ›
- последняя »