ВУЗ:
Составители:
122
ния. Рассмотрим примеры сложения (дополнительный код) операн-
дов в BCD-кодах.
Пример 1. Сложить X+Y в процессоре, работающем в коде 8421
в формате целых чисел со знаком (под знак отводится одна тетрада,
а под числовые разряды – три тетрады).
X=645
(10)
; [X
8421
]
2
=011001000101;
Y=475
(10)
; [Y
8421
]
2
=010001110101.
CF Знак Тетрада 3 Тетрада 2 Тетрада 1 Комментарий
* 0 1 1 0 0 1 0 0 0 1 0 1 [X
8421
]
2
* 0000 0 1 0 0 0 1 1 1 0 1 0 1 [Y
8421
]
2
* 0000 1 0 1 0 сложение младших
тетрад Х
1
+Y
1
+CF
0
* 0000 0 1 1 0 так как (Х
1
+Y
1
+CF
0
)
8421
>
>(1001
(2)
=9
(10)
), коррек-
ция +0110
(2)
0000 1 0 0 0 0 результат коррекции
* 0000 0 1 1 0 0 0 0 0 0 сложение средних
тетрад Х
2
+Y
2
+CF
1
* 0000 0 1 1 0 0 0 0 0 так как (Х
2
+Y
2
+CF
1
)
8421
>
>(1001
(2)
=9
(10)
), коррек-
ция +0110
(2)
* 0000 1 0 0 1 0 0 0 0 0 результат коррекции
0 0000 1 0 1 1 0 0 1 0 0 0 0 0 сложение старших
тетрад Х
3
+Y
3
+CF
2
0 0000 0 1 1 0 0 0 1 0 0 0 0 0 так как (Х
2
+Y
2
+CF
1
)
8421
>
>(1001
(2)
=9
(10)
), коррек-
ция +0110
(2)
0 1111 0 0 0 1 0 0 1 0 0 0 0 0 результат коррекции
0 1111 0 0 0 1 0 0 1 0 0 0 0 0 переполнение (перенос
из старшей тетрады
в знак равен 1, а из зна-
ка в CF равен 0) OF=1
Пример 2. Сложить X+Y в процессоре, работающем в коде 8421+3
в формате целых чисел со знаком (под знак отводится одна тетрада, а
под числовые разряды – три тетрады).
X= –645
(10)
; [X
8421+3
]
2
=011010001000;
Y=275
(10)
; [Y
8421+3
]
2
=010110101000.
ния. Рассмотрим примеры сложения (дополнительный код) операн- дов в BCD-кодах. Пример 1. Сложить X+Y в процессоре, работающем в коде 8421 в формате целых чисел со знаком (под знак отводится одна тетрада, а под числовые разряды – три тетрады). X=645(10); [X8421]2=011001000101; Y=475(10); [Y8421]2=010001110101. CF Знак Тетрада 3 Тетрада 2 Тетрада 1 Комментарий * 0 1 1 0 0 1 0 0 0 1 0 1 [X8421]2 * 0000 0 1 0 0 0 1 1 1 0 1 0 1 [Y8421]2 * 0000 1 0 1 0 сложение младших тетрад Х1+Y1+CF0 * 0000 0 1 1 0 так как (Х1+Y1+CF0)8421> >(1001(2)=9(10)), коррек- ция +0110(2) 0000 1 0 0 0 0 результат коррекции * 0000 0 1 1 0 0 0 0 0 0 сложение средних тетрад Х2+Y2+CF1 * 0000 0 1 1 0 0 0 0 0 так как (Х2+Y2+CF1)8421> >(1001(2)=9(10)), коррек- ция +0110(2) * 0000 1 0 0 1 0 0 0 0 0 результат коррекции 0 0000 1 0 1 1 0 0 1 0 0 0 0 0 сложение старших тетрад Х3+Y3+CF2 0 0000 0 1 1 0 0 0 1 0 0 0 0 0 так как (Х2+Y2+CF1)8421> >(1001(2)=9(10)), коррек- ция +0110(2) 0 1111 0 0 0 1 0 0 1 0 0 0 0 0 результат коррекции 0 1111 0 0 0 1 0 0 1 0 0 0 0 0 переполнение (перенос из старшей тетрады в знак равен 1, а из зна- ка в CF равен 0) OF=1 Пример 2. Сложить X+Y в процессоре, работающем в коде 8421+3 в формате целых чисел со знаком (под знак отводится одна тетрада, а под числовые разряды – три тетрады). X= –645(10); [X8421+3]2=011010001000; Y=275(10); [Y8421+3]2=010110101000. 122
Страницы
- « первая
- ‹ предыдущая
- …
- 121
- 122
- 123
- 124
- 125
- …
- следующая ›
- последняя »