Лекция: Примеры арифметических операций для целых чисел.
Сначала простой случай, проведем сложение 61 + 1
| + |
Получили число 62, ничего интересного кроме правил сложения двоичных чисел этот пример не демонстрирует.
Теперь выполним сложение 127 + 1:
| + |
В результате мы получаем число 128, т.е. старший 7-й разряд будет установлен в 1, это означает, что мы будем интерпретировать это число как отрицательное (-128), в регистре флагов при этом установится в 1 флаг знака (SF). Как видно, мы складывали два положительных числа и получили отрицательное, Этот эффект принято называть переполнением, так как сумма вышла за пределы диапазона чисел, представимых в дополнительном коде, при этом в регистре флагов установится в 1 флаг переполнения (Overflow flag, OF). Установка флага переполнения показывает, что сложение со знаком дает неверный результат.
Третий пример продемонстрирует сложение отрицательных чисел представленных, естественно, в дополнительном коде.
Суммируем (-1) + (-126)
| + |
Получили -127, при этом сумма осталась отрицательной, но произошел перенос из самого старшего 7-го разряда числа, это значит, что в регистре флагов установится в 1 флаг переноса (Carry flag, CF), этот флаг показывает что, в результате операции из старшего бита происходит перенос при сложении или заем при вычитании.
Схема управления выборкой команд или дешифратор выполняет чтение команд из памяти и их дешифрацию, т.е. интерпретацию кода операции, информация о результате дешифрации передается устройству управления.
Устройство управления организует взаимодействие всех узлов процессора, перенаправляет данные, синхронизирует работу процессора с внешними сигналами, а также реализует процедуры ввода и вывода информации.