Составители:
18
ЗАДАНИЕ 2
СЛОЖЕНИЕ ЦЕЛЫХ ЧИСЕЛ
Сложение целых чисел выполняется в байтном формате.
1. Для заданных чисел А и В выполнить операцию знакового сло-
жения со всеми комбинациями знаков операндов (4 примера).
Для каждого примера:
а) Проставить межразрядные переносы, возникающие при сложе-
нии.
б) Дать знаковую интерпретацию операндов и результата. При по-
лучении отрицательного результата предварительно преобразовать его
из дополнительного кода в прямой.
в) Дать беззнаковую интерпретацию операндов и результата. При
получении неверного результата пояснить причину его возникновения.
г) Показать значения арифметических флагов для каждого из при-
меров.
2. Сохранив значение первого операнда А, выбрать такое значение
операнда В, чтобы в операции сложения с одинаковыми знаками имел
место
особый случай переполнения формата. Выполнить два примера,
иллюстрирующие эти случаи. Для каждого из них – то же, что в п.1.
3. Сохранив операнд В, подобрать такое значение операнда А,
чтобы при сложении положительных операндов имело место перепол-
нение формата, а при сложении отрицательных операндов (таких же по
модулю, как и положительных) результат
операции был бы коррект-
ным. Выполнить два примера, для которых сделать то же, что и в п.1 и
дать необходимые пояснения.
Основные положения. При сложении целых чисел с фикси-
рованной запятой с использованием дополнительных кодов знаковый
разряд участвует в операции точно так же, как и любой цифровой. При
этом знак суммы формируется автоматически путем сложения знако-
вых разрядов операндов с учетом переноса из старшего цифрового раз-
ряда. Перенос из знакового разряда
не участвует в формировании ре-
зультата. Результат операции получается в дополнительном коде.
Арифметические флаги формируются в основном арифметически-
ми командами, определяя результат арифметических операций (точнее,
они являются признаками результата). Кроме того, на арифметические
флаги оказывают влияние логические команды и команды сдвигов. К
арифметическим флагам относятся:
CF – Carry Flag (флаг переноса). В нем фиксируется
перенос из
старшего разряда при сложении и заем в старший разряд при вычита-
нии. При умножении значение флага CF определяет возможность
(CF=0) или невозможность (CF=1) представления результата (произве-
дения) в том же формате, что и сомножители.
С помощью флага переноса фиксируется переполнение при сложе-
нии беззнаковых чисел.
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »