|
Для изображения как положительных, так и
отрицательных чисел 8088
применяет арифметику двоичного дополнения.В такой знакопеременной
арифметике самый левый бит целого числа
указывает на его знак.По-
ложительные числа имеют 0 в старшем бите,
а отрицательные - 1.По-
ложительные числа имеют одинаковое
значение в знаковой и без-
знаковой арифметике.У отрицательных же значение иное.Для того
чтобы сделать число отрицательным,
изменить его знак на минус, оно
дополняется и результат увеличиваетя на
единицу.В 4-х битовом
примере 5 имеет значение 0101B, в то время
как -5 равно 1011B.
Пример на Фиг.2.4 показывает этот метод.
Пример на Фиг.2.5 показывает единственность нуля в арифметике
двоичного дополнения.То есть -0 равен 0.Для любого n-битового
числа в системе с двоичным дополнением
наибольшее значение сос-
тавляет 2**(n-1)-1, а наименьшее
-2**(n-1).Ноль - единственен.В
4-х битовой системе наибольшее число, как
показано на Фиг.2.6,
равно 7, а наименьшее -8.
_________________________
5=0101B
Для изменения знака:
Дополняем1010B
Добавляем 10001B
-----__________________________________
-5=1011B0=0000B
Для изменеия знака: Для изменения знака:
Дополняем0100BДополняем1111B
добавляем 10001BДобавляем 10000B
----------
5=0101B-0=0000B=0
___________________________________________________________
Фиг. 2.4 Двоичное допол-Фиг.
2.5То же самое с нулем
нение 5
Как мы увидим позднее, процессор 8088
может работать с одним и
тем же целым как со значением имеющим или
не имеющим знак.Выбор
оставлен программисту языка
ассемблера.Во всяком случае, когда
программа работает в арифметике со знаком,
процессор 8088 применяет
при проведении операций двоичное
дополнение.
ДесятичноеДвоичноеДесятичноеДвоичное
-------------------------------------------------
70111-1
1111
60110-2
1110
50101-3
1101
40100-4
1100
30011-5
1011
20010-6
1010
10001-7
1001 Фиг. 2.6 Числа
00000-8
1000сдвоичным
-------------------------------------------------дополнением
|