Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Финогенов-основы_языка_ассемблера.doc
Скачиваний:
46
Добавлен:
17.09.2019
Размер:
3.35 Mб
Скачать

Глава 2

16-ричное Десятичное представление: представление Без знака Со знаком

OOOOh

00000

00000 Ноль

OOOlh

00001

+00001

Минимальное положительное число

0002h

00002

+00002

0003h

00003

+00003

0004h

00004

+00004

7FFCh

32764

+32764

?• Диапазон положительных чисел

7FFDh

32765

+32765

7FFEh 7FFFh 8000h

32766 32767 32768

+32766

+32767 -32768

Максимальное положительное число Максимальное отрицательное число

SOOlh

32769

-32767

8002h

32770

-32766

8003h

32771

-32-765

FFFBh

65531

-00005

* Диапазон отрицательных чисел

FFFCh -

65532

-00004

FFFDh

65533

-00003

FFFEh FFFFh

65534 65535

-00002 -00001 -

Минимальное отрицательное число

Рис. 2.9. Представление 16-битовых чисел без знака и со знаком.

Минимальное отрицательное число

Диапазон отрицательных чисел

Максимальное положительное число?! Максимальное отрицательное число -|

Диапазон положительных чисел

Ноль

Минимальное положительное число

На рис. 2.10 представлена аналогичная таблица для 8-битовых чисел. Из таблицы видно, что для чисел со' знаком размером в байт диапазон положительных значений простирается от 0 до 127, а диапазон отрица­тельных значений — от -1 до -128.

16-ричное Десятичное представление: представление Без знака Со знаком

OOh

000

000

Olh

001

+ 001

02h

002

+ 002

03h

003

+ 003

04h

004

+ 004

7Ch

124

+ 124

7Dh

125

- +125

7 Eh

126

+ 126

7Fh

127

+ 127

80h

128

-128

81h

129

-127

82h

130

-126

83h

131

-125

FBh

251

-005

FCh

252

-004

FDh

253

-003

FEh

254

-002

FFh

255

-001

Рис. 2.10. Представление 8-битовых чисел без знака и со знаком.

53

Основы программирования

Среди команд процессора, выполняющих ту или иную обработку чи­сел, можно выделить команды, безразличные к знаку числа (например, inc, add, test), команды, предназначенные для обработки чисел без знака (mul, div, ja, jb и др.), а также команды, специально рассчитанные на обработку чисел со знаком (imul, idiv, jg, jl и т.д.). Особенности использо­вания этих команд будут описаны в следующей главе.

Рассмотрим теперь другой вид представления чисел — двоично-деся­тичный формат (binary-coded decimal , BCD), используемый в ряде при­кладных областей. В таком формате выдают данные некоторые измери­тельные приборы; он же используется КМОП-часами реального времени компьютеров IBM PC для хранения информации о текущем времени. В МП 86 предусмотрен ряд команд для обработки таких чисел.

Двоично-десятичный формат существует в двух разновидностях:, упа­кованный и распакованный. В первом случае в байте записывается двухраз­рядное десятичное число от 00 до 99. Каждая цифра числа занимает поло­вину байта и хранится в двоичной форме. Из рис. 2.11 можно заметить, что для записи в байт десятичного числа в двоично-десятичном формате доста­точно сопроводить записываемое десятичное число символом h.

10000110 Двоичное содержимое банта

8 6 Десятичное обозначение числа

8 6h Шестнадцатеричное обозначение числа

Рис. 2.11. Упакованный двоично-десятичный формат.

В машинном слове или в 16-разрядном регистре можно хранить в дво­ично-десятичном формате четырехразрядные десятичные числа от 0000 до 9999 (рис.2.12).

1001 0110 0000 0100 Двоичное содержимое слова

9604 Десятичное обозначение числа

9 6 0 4h Шестнадцатеричное обозначение числа

Рис. 2.12. Запись десятичного числа 9604 в слове.

Распакованный формат отличается от упакованного тем, что в каж­дом байте записывается лишь одна десятичная цифра (по-прежнему в дво­ичной форме). В этом случае в слове можно записать десятичные числа от 00 до 99 (см. рис. 2.13)

00001001 00001000 Двоичное содержимое слова

9 8 Десятичное обозначение числа

09 0 8h Шестнадцатеричное обозначение числа Рис. 2.13. Запись десятичного числа 98 в распакованном виде.

54