Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ по Асм №1.doc
Скачиваний:
12
Добавлен:
06.02.2016
Размер:
313.86 Кб
Скачать

1.3.1. Целые числа без знака

Беззнаковые числа могут быть представлены в виде байта, слова или двойного слова – в зависимости от их размеров. Такие числа записываются в ячейки в двоичной системе счисления, занимая все разряды ячейки. Например, если для целого числа 98 отведен байт, то содержимым байта будет двоичное число 01100010 (62h), а если слово, то 0062h.

Поскольку в ячейке из К разрядов можно записать 2К различных комбинаций из нулей и единиц, то в виде байта можно представить целые от 0 до 255 (=28–1), в виде слова – целые от 0 до 65535 (=216-1), в виде двойного слова – целые от 0 до 4294967295 (=232-1).

Особенности хранения чисел в ПК.Числа размером со слово и двойное слово хранятся в памяти в «перевернутом» виде. Например, число 98 =0062h хранится в памяти так:

А А+1

00

Двойное слово 1345678h хранится так:

A A+1 A+2 A+3

78

56

34

12

Следует отметить, в регистрах числа, размером в слово хранится в нормальном, не перевернутом виде – за этим следят команды пересылки.

1.3.2. Целые числа со знаком

Эти числа можно представить в виде байта (от - 128 до +128) , слова (от – 32 768 до +32 767) и двойного слова (от – 2 147 483 648 до +2 147 483 647).

ВПК знаковые числа записываются в дополнительном коде: не отрицательное число записывается так же, как и беззнаковое число, а отрицательное Х представляется беззнаковым числом 2К- /Х/, где К – количество разрядов в ячейке, отведенной под число:

Например, дополнительным кодом числа +98 будет байт 62h или слово 0062h, а дополнительным кодом числа –98 – байт 9Eh (=158=256-98) или слово FF9Eh (=216-98=10000h-62h).

Еще примеры (при ячейке в байт)

доп(0)=0=00000000

доп(1)=1=00000001 доп(-1)=256-1=255=11111111

доп(2)=2=00000010 доп(-2)=256-2=254=11111110

доп(3)=3=00000011 доп(-3)=256-3=253=11111101

доп(+126)=126=01111110 доп(-126)=256-126=130=10000010

доп(+127)=127=01111111 доп(-127)=256-127=129=10000001

доп(+128)=128=10000000 доп(-128)=256-128=128=10000000

На этих примерах видно, что в дополнительном коде самый левый бит играет роль знакового; 0 для неотрицательных чисел, а для отрицательных –1.

Как и беззнаковые, знаковые числа размером в слово и двойное слово записываются в памяти в перевернутом виде. При этом знаковый бит оказывается во втором (правом) байте слова.

1.3.3. Представление символьных переменных

Вместо символа в памяти ПК хранится его код, записанный в двоичной системе. Под код символа отводится один байт (можно закодировать 256 различных символов).

Что касается машинного представления строк (последовательности символов), то под каждую стоку отводят нужное число соседних байтов памяти, в которые записываются коды символов, образующих строку. Адрес первого из них считается адресом строки. Эта последовательность записываются в нормальном «не перевернутом» виде.