Микропроцессор не содержит средства для работы с вещественными числами. В системе команд микропроцессора отсутствуют команды для арифметических операций с вещественными числами.
Такие средства (команды) содержатся в математическом (арифметическом) сопроцессоре ¾ специальном устройстве, предназначенном для обработки вещественных чисел. В реальности микропроцессор взаимодействует с сопроцессором, посылая ему запросы на выполнение операций с вещественными числами и принимая ответы.
Однако программирование сопроцессора ¾ достаточно сложная задача, требующая специальных знаний, и в курсе «Основы программирования» нами не рассматривается.
Поэтому ограничимся знаниями и практическими навыками работы с целыми числами.
Символьные данные также хранятся в памяти в двоичном виде.
Каждому символу ставится в соответствие двоичный код, который и записывается в качестве значения символа.
В системе кодировки ASCII для каждого символа выделяется один байт. (Системы кодировки обсуждались в разделе «Программирование на языке Pascal».)
Строка представляется как последовательность соседних байтов памяти, в которых записаны коды символов, образующих строку. Адрес первого байта является адресом строки.
Целый тип без знака — двоичное значение числа без знака (8, 16 или 32 бита).
Числовые диапазоны:
байт — от 0 до 255;
слово — от 0 до 65 535;
двойное слово — от 0 до 232–1.
Целый тип со знаком — двоичное значение числа со знаком (8, 16 или 32 бита).
Знак содержится в 7, 15 или 31-м бите соответственно.
Отрицательные числа представляются в дополнительном коде.
Числовые диапазоны:
8-разрядное целое — от –128 до +127;
16-разрядное целое — от –32 768 до +32 767;
32-разрядное целое — от –231 до +231–1.
Указатель на память
Указатель на память ближнего типа — 32-разрядный логический адрес, представляющий собой относительное смещение в байтах от начала сегмента.
Указатель на память дальнего типа — 48-разрядный логический адрес, состоящий из двух частей:
1) 16-разрядная сегментная часть (селектор);
2) 32-разрядное смещение относительно начала сегмента.
Цепочка — непрерывный набор байтов, слов или двойных слов максимальной длины 4 Гбайт.
Битовое поле ¾ непрерывная последовательность бит, в которой каждый бит является независимым.
Битовое поле может начинаться с любого бита любого байта и содержать до 32 бит.
Неупакованный двоично-десятичный тип — байтовое представление десятичной цифры от 0 до 9.
Неупакованные десятичные числа хранятся как байтовые значения без знака по одной цифре в каждом байте. Значение цифры определяется младшим полубайтом.
Упакованный двоично-десятичный тип представляет собой упакованное представление двух десятичных цифр от 0 до 9 в одном байте. Каждая цифра хранится в своем полубайте. Цифра в старшем полубайте (биты 4–7) является старшей.
Итак,
в одном байте могут быть представлены (записаны):
- целое число без знака в диапазоне от 0 до 255;
- целое число со знаком в диапазоне от –128 до +127;
- упакованное представление двух десятичных цифр от 0 до 9, причем каждая цифра хранится в своем полубайте (цифра в старшем полубайте является старшей).
Одним словом могут быть представлены (записаны):
- целое число без знака в диапазоне от 0 до 65 535;
- целое число со знаком в диапазоне от –32 768 до +32 767;
- неупакованные десятичные числа как значения без знака по одной цифре в каждом байте (значение цифры определяется младшим полубайтом).