ВУЗ:
Составители:
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
8421
]
2
*
0
0
1
0
0
1
1
1
0
1
0
1
[Y
8421
]
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
Страницы
- « первая
- ‹ предыдущая
- …
- 118
- 119
- 120
- 121
- 122
- …
- следующая ›
- последняя »