(в формате IEEE)
Вычитание можно проводить двумя способами:
1) Сведение вычитания к сложению, заменяя операнд В на противоположный.
2) Выполнение прямого (непосредственного) вычитания производится поразрядно, начиная с младших разрядов, с учетом возникающих межразрядных заемов.
Задание:
1. Для заданных чисел А и В выполнить операцию знакового вычитания со всеми комбинациями знаков операндов. Для каждого примера:
а) проставить межразрядные переносы, возникающие при сложении;
b) дать знаковую интерпретацию операндов и результатов. При получении отрицательного результата предварительно преобразовать его из дополнительного кода в прямой;
c) дать беззнаковую интерпретацию операндов и результатов, при получении неверного результата пояснить причину его возникновения;
d) показать значения арифметических флагов.
2. Cохранив значение первого операнда А, выбрать такое значение В, чтобы в операции вычитания с разными знаками имел место особый случай переполнения формата. Выполнить два примера, иллюстрирующие эти случаи, для каждого из них проделать a,b,c,d.
|
|
3. Сохранив операнд B, подобрать такое значение операнда A, чтобы при вычитании отрицательного B из положительного A имело место переполнение формата, а при вычитании положительного B из отрицательного A результат был бы корректен. Выполнить два примера, иллюстрирующие этот случай. Для каждого из них проделать a,b,c,d.
Вычитание реализуется по следующей таблице:
ai | bi | Zi-1 | ri | Zi |
Zi-1 - заем из i-го разряда;
ri – разность;
Zi – заем в i-й разряд из (i-1)-го разряда.
1. А = 67, В = 51.
А>0, B>0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aпр. | ||||||||||||
Bпр. | ||||||||||||
Cпр. |
CF=0 | ZF=0 | |
PF=0 | SF=0 | |
AF=0 | OF=0 |
А<0, B>0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aдоп. | -67 | |||||||||||
Bпр. | ||||||||||||
Cдоп. | -118 | |||||||||||
Cпр. |
CF=0 | ZF=0 | |
PF=0 | SF=1 | |
AF=0 | OF=0 |
А>0, B<0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aпр. | ||||||||||||
Bдоп. | -51 | |||||||||||
Cпр. |
CF=1 | ZF=0 | |
PF=0 | SF=0 | |
AF=1 | OF=0 |
А<0, B<0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aдоп. | -67 | |||||||||||
Bдоп. | -51 | |||||||||||
Cдоп. | -16 | |||||||||||
Cпр. |
CF=1 | ZF=0 | |
PF=1 | SF=1 | |
AF=0 | OF=0 |
2. А = 67, В = 64.
|
|
А<0, B>0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aдоп. | -67 | |||||||||||
Bпр. | ||||||||||||
Cпр. |
CF=1 | ZF=0 | |
PF=1 | SF=1 | |
AF=0 | OF=0 |
А>0, B<0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aпр. | ||||||||||||
Bдоп. | -64 | |||||||||||
Cдоп. | -125 | |||||||||||
Cпр. |
CF=1 | ZF=0 | |
PF=0 | SF=0 | |
AF=0 | OF=1 |
3. А = 77, В = 51.
А>0, B<0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aпр. | ||||||||||||
Bдоп. | -51 | |||||||||||
C. | -128 |
CF=1 | ZF=0 | |
PF=0 | SF=1 | |
AF=0 | OF=1 |
А<0, B>0. | Интерпретации | |||||||||||
Знаковая | Беззнаковая | |||||||||||
Aдоп. | -77 | |||||||||||
Bпр. | ||||||||||||
C. | -128 |
CF=0 | ZF=0 | |
PF=0 | SF=1 | |
AF=0 | OF=0 |