Реализация процессором арифметических операций. Будько М.Б - 14 стр.

UptoLike

13
3) Сохранив операнд В, подобрать такое значение операнда А, чтобы
при вычитании из положительного операнда отрицательного имело место
переполнение формата, а при вычитании из отрицательного операнда по-
ложительного (таких же по модулю) результат операции был бы коррект-
ным. Выполнить два примера, для каждого из которых выполнить следу-
ющее:
а) Проставить межразрядные
заемы, возникающие при вычитании.
б) Дать ЗИ операндов и результата. При получении отрицательного
результата предварительно преобразовать его из дополнительного кода в
прямой.
в) Дать БзИ операндов и результата. При получении неверного ре-
зультата пояснить причину его возникновения.
г) Показать значения арифметических флагов для каждого из приме-
ров.
Варианты заданий приведены в
табл. 1 Приложения.
2.3 ПРИМЕР ВЫПОЛНЕНИЯ ЗАДАНИЯ
Операция двоичного вычитания реализуется поразрядно, начиная с
младших разрядов, при этом учитываются возникающие при этом межраз-
рядные заемы. В каждом разряде вычитание реализуется в соответствии со
следующей таблицей:
Таблица 2.1
a
i
0 0 0 0 1 1 1 1
b
i
0 0 1 1 0 0 1 1
z
i-1
0 1 0 1 0 1 0 1
r
i
0 1 1 0 1 0 0 1
z
i
0 1 1 1 0 0 0 1
Здесь a
i
значение i-го разряда уменьшаемого, b
i
значение i-го разряда
вычитаемого, z
i-1
значение заема из i-го разряда в (i – 1)-й предыдущий
младший разряд, s
i
разность в i-м разряде, z
i
значение заема из (i + 1)-го
старшего разряда в i-й разряд.
Задание 2.1) А = 67, В = 51.
1) А > 0, В > 0 А = 0.1000011 В = 0.0110011
ЗИ БзИ
А = 0.1 0 0 0 0 1 1 67 67
В = 0.0 1 1 0 0 1 1 51 51
С = 0.0 0 1 0 0 0 0 16
С
ИСПР
= 0.0 0 1 0 0 0 0 16
CF = 0; PF = 0; AF = 0; ZF = 0; SF = 0; OF = 0.
Результат БзИ корректен (флаг CF = 0).