Для изображения как положительных, так и отрицательных чисел 8088 применяет арифметику двоичного дополнения. В такой знакопеременной арифметике самый левый бит целого числа указывает на его знак. Положительные числа имеют 0 в старшем бите, а отрицательные - 1. Положительные числа имеют одинаковое значение в знаковой и беззнаковой арифметике. У отрицательных же значение иное. Для того чтобы сделать число отрицательным, изменить его знак на минус, оно дополняется и результат увеличиваетя на единицу. В 4-х битовом примере 5 имеет значение 0101B, в то время как -5 равно 1011B. Пример на Фиг. 2.4 показывает этот метод.
------------------------------------------------------- Исходные данные: 5 = 0101B -5 = 1011B Для изменения знака: Дополняем 1010B 0100B Добавляем 1 0001B 0001B Результат: -5 = 0011B 5 = 0101B -------------------------------------------------------Фиг. 2.4 Изменение знака.
Пример на Фиг. 2.5 показывает единственность нуля в арифметике двоичного дополнения. То есть -0 равен 0.
-------------------------------------- Исходные данные: 0 = 0000B Для изменения знака: Дополняем 1111B Добавляем 1 0001B Результат: 0 = 0000B --------------------------------------Фиг. 2.5 единственность нуля.
Для любого n-битового числа в системе с двоичным дополнением наибольшее значение составляет 2**(n-1)-1, а наименьшее -2**(n-1). Ноль - единственен.
В 4-х битовой системе наибольшее число, как показано на Фиг. 2.6, равно 7, а наименьшее -8.
Как мы увидим позднее, процессор 8088 может работать с одним и тем же целым как со значением имеющим или не имеющим знак. Выбор оставлен программисту языка ассемблера. Во всяком случае, когда программа работает в арифметике со знаком, процессор 8088 применяет при проведении операций двоичное дополнение.
| Десятичное | Двоичное | Десятичное | Двоичное |
|---|---|---|---|
| 7 | 0111 | -1 | 0000 |
| 6 | 0110 | -2 | 0000 |
| 5 | 0101 | -3 | 0000 |
| 4 | 0100 | -4 | 0000 |
| 3 | 0011 | -5 | 0000 |
| 2 | 0010 | -6 | 0000 |
| 1 | 0001 | -7 | 0000 |
| 0 | 0000 | -8 | 0000 |
Фиг. 2.6 Числа с двоичным дополнением