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

UptoLike

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

   Пример 3. Выполнить сложение X+Y в процессоре, работающем
в коде 8421+3 в формате целых беззнаковых чисел, имеющем три
тетрады.
   X=645(10); [X8421+3]2=100101111000;
   Y=275(10); [Y8421+3]2=010110101000.
CF        Тетрада 3        Тетрада 2         Тетрада 1                 Комментарий
*     1     0 0 1      0     1 1 1       1     0 0 0        [X8421+3]2
*     0     1 0 1      1     0 1 0       1     0 0 0        [Y8421+3]2
*                                    1   0     0 0 0        сложение младших тетрад
                                                            Х1+Y1+CF0
*                                        0    0     1   1   так как перенос равен 1, кор-
                                                            рекция +0011(2)
                                         0    0     1   1   результат коррекции
*                  1   0     0   1   0   0    0     1   1   сложение средних тетрад
                                                            Х2+Y2+CF1
*                      0     0   1   1   0    0     1   1   так как перенос равен 1, кор-
                                                            рекция +0011(2)
*                      0     1   0   1   0    0     1   1   результат коррекции


                                              120