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

UptoLike

119
рад одинакового веса в тетраде суммы выполняется коррекция, вели-
чина которой зависит от используемого кода. Как и ранее, будем рас-
сматривать процессор, не имеющий вычитателя, в котором операция
вычитания заменяется сложением с операндом, взятым с противопо-
ложным знаком.
Рассмотрим примеры сложения в дополнительном коде операндов
в BCD-кодах.
Пример 1.
Сложить X+Y в процессоре, работающем в коде 8421 в
формате целых беззнаковых чисел, имеющем три тетрады.
X=645
(10)
; [X
8421
]
2
=011001000101;
Y=275
(10)
; [Y
8421
]
2
=001001110101.
CF
Тетрада 3
Тетрада 2
Тетрада 1
Комментарий
*
0
1
1
0
0
1
0
0
0
1
0
1
[X
]
2
*
0
0
1
0
0
1
1
1
0
1
0
1
[Y
]
2
*
1
0
1
0
сложение младших тетрад
Х
1
+Y
1
+CF
0
*
0
1
1
0
так как (Х
1
+Y
1
+CF
0
)
8421
>
> (1001
(2)
=9
(10)
), коррек-
ция +0110
(2)
1
0
0
0
0
результат коррекции
*
0
1
1
0
0
0
0
0
0
сложение средних тетрад
Х
2
+Y
2
+CF
1
*
0
1
1
0
0
0
0
0
так как (Х
2
+Y
2
+CF
1
)
8421
>
> (1001
(2)
=9
(10)
), коррек-
ция +0110
(2)
*
1
0
0
1
0
0
0
0
0
результат коррекции
0
1
0
0
1
0
0
1
0
0
0
0
0
сложение старших тетрад
Х
3
+Y
3
+CF
2
0
1
0
0
1
0
0
1
0
0
0
0
0
так как (Х
2
+Y
2
+CF
1
)
8421
<
<(1001
(2)
=9
(10)
), то коррекция не
нужна, результат, равный
920
(10)
,
верен
Пример 2. Выполнить вычитание X–Y в процессоре, работающем
в коде 8421 в формате целых беззнаковых чисел, имеющем три тет-
рады.
X=645
(10)
; [X
8421
]
2
=011001000101;
рад одинакового веса в тетраде суммы выполняется коррекция, вели-
чина которой зависит от используемого кода. Как и ранее, будем рас-
сматривать процессор, не имеющий вычитателя, в котором операция
вычитания заменяется сложением с операндом, взятым с противопо-
ложным знаком.
   Рассмотрим примеры сложения в дополнительном коде операндов
в BCD-кодах.
   Пример 1. Сложить X+Y в процессоре, работающем в коде 8421 в
формате целых беззнаковых чисел, имеющем три тетрады.
   X=645(10); [X8421]2=011001000101;
   Y=275(10); [Y8421]2=001001110101.
CF       Тетрада 3           Тетрада 2           Тетрада 1                  Комментарий
                                                                   8421
*    0     1   1     0   0     1   0     0   0     1    0    1   [X    ]2
*    0     0   1     0   0     1   1     1   0     1    0    1   [Y8421]2
*                                            1     0    1    0   сложение младших тетрад
                                                                 Х1+Y1+CF0
*                                            0     1    1    0   так как (Х1+Y1+CF0)8421>
                                                                 > (1001(2)=9(10)), коррек-
                                                                 ция +0110(2)
                                         1   0     0    0    0   результат коррекции
*                    0   1     1   0     0   0     0    0    0   сложение средних тетрад
                                                                 Х2+Y2+CF1
*                        0     1   1     0   0     0    0    0   так как (Х2+Y2+CF1)8421>
                                                                 > (1001(2)=9(10)), коррек-
                                                                 ция +0110(2)
*                    1   0     0   1     0   0     0    0    0   результат коррекции
0    1     0   0     1   0     0   1     0   0     0    0    0   сложение старших тетрад
                                                                 Х3+Y3+CF2
0    1     0   0     1   0     0   1     0   0     0    0    0   так как (Х2+Y2+CF1)8421<
                                                                 <(1001(2)=9(10)), то коррекция не
                                                                 нужна, результат, равный
                                                                 920(10), верен
   Пример 2. Выполнить вычитание X–Y в процессоре, работающем
в коде 8421 в формате целых беззнаковых чисел, имеющем три тет-
рады.
   X=645(10); [X8421]2=011001000101;


                                                  119