русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Типы данных


Дата добавления: 2015-06-12; просмотров: 613; Нарушение авторских прав


Основными типами данных являются байты, слова и двойные слова (смотри Рисунок 2-2). Байт образуют восемь соседних битов, которые нумеруются с 0 до 7, причем бит 0 является самым младшим значащим битом. Слово состоит из двух байтов, имеющих последовательные адреса. Т.о. слово содержит 16 бит, которые нумеруются от 0 до 15. Байт, содержащий нулевой бит, называется младшим байтом, а байт, содержащий 15-й бит - старшим байтом. В процессоре i486 младший байт хранится по меньшему адресу. Адресом слова считается адрес его младшего байта. Адрес старшего байта может быть использован для доступа к старшей половине слова.

+--------------------------------------------------------------+| || 7 0 || +---------------+ || | Байт | БАЙТ || +---------------+ || 15 0 || +---------------------------+ || | Старший байт| Младший байт| СЛОВО || +---------------------------+ || адрес N+1 адрес N || 31 15 0 || +--------------------------------------------------+ || | Старшее слово | Младшее слово | ДВОЙНОЕ || +--------------------------------------------------+ СЛОВО || адрес N+3 адрес N+2 адрес N+1 адрес N || |+--------------------------------------------------------------+ Рисунок 2-2. Основные типы данных +--------------------------------------------------------------+| || +---------------+ || | | Е || Двойное слово по адресу A --- +---------------| || содержит 7AFE0636 | | 7A | D || --- | +---------------| || | | | FE | C || Слово по адресу B содержит | | +---------------| || FE06 | | | 06 | B || --- | +---------------| || | | 36 | A || --- --- +---------------| || Байт по адресу 9 | | 1F | 9 || содержит 1F --- +---------------| || | | 8 || --- +---------------| || | | 23 | 7 || Слово по адресу 2 содержит | +---------------| || | | 0B | 6 || --- +---------------| || | | 5 || +---------------| || | | 4 || Слово по адресу 2 содержит --- +---------------| || 74CB | | 74 | 3 || --- | +---------------| || | | | CB | 2 || Слово по адресу 1 содержит | --- +---------------| || CB31 | | 31 | 1 || --- +---------------| || | | 0 || +---------------+ || |+--------------------------------------------------------------+ Рисунок 2-3. Байты, слова и двойные слова в памяти

Т.к. байты, слова и двойные слова являются основными типами операндов, процессор также поддерживает дополнительную интерпретацию этих операндов. Специализированные команды распознают следующие типы данных (смотри Рисунок 2-4):



Целый тип: знаковое двоичное значение, содержащееся в 32-разрядном двойном слове, 16-разрядном слове или 8-разрядном байте. Все операции предполагают представление чисел в дополнительном коде. Знаковый бит расположен в бите 7 в байте, в бите 15 в слове и в бите 31 в двойном слове. Он равен 0 для положительных чисел и 1 для отрицательных. 8-разрядное целое число может изменяться в диапазоне от -128 до +127, 16-разрядное целое число в диапазоне от -32768 до +32767, а 32 -разрядное целое число в диапазоне от -2**31 до +2**31-1.

Обычный тип: беззнаковое двоичное значение, содержащееся в 32- разрядном двойном слове, 16-разрядном слове или 8-разрядном байте. Значение числа для байта может изменяться от 0 до 255, для слова от 0 до 65535 и для двойного слова от 0 до 2**32-1.

Ближний указатель: 32-разрядный логический адрес, который представляет собой относительный адрес внутри сегмента. Ближние указатели используются для всех указателей в сплошной модели и для ссылок внутри сегмента в сегментированной модели памяти.

Дальний указатель: 48-разрядный логический адрес из двух компонентов: 16-разрядного селектора сегмента и 32-разрядного относительного адреса. Дальние указатели используются программами только в том случае, когда конструкторы системы выбирают сегментированную модель памяти.

Строка: непрерывная последовательность байтов, слов или двойных слов. Строка может содержать от 0 до 2**32-1 байтов или 4 Гбайт.

Битовое поле: непрерывная последовательность битов, в которой каждый бит рассматривается как независимая переменная. Битовое поле может начинаться с любого бита любого байта и может быть длиной до 32 бит.

Битовая строка: непрерывная последовательность битов. Битовая строка может начинаться с любого бита любого байта и иметь длину до (2**32-1) бит.

Неупакованный двоично-десятичный тип (НДД): распакованное байтовое представление десятичной цифры от 0 до 9. Распакованные десятичные числа хранятся как беззнаковые байтовые значения по одной цифре в каждом байте. Значение цифры определяется младшим полубайтом. Старший полубайт должен быть равным нулю при делении и умножении, но может иметь любое значение при вычитании или сложении.

Упакованный двоично-десятичный тип (УДД): упакованное байтовое представление двух десятичных цифр от 0 до 9. Каждая цифра хранится в своем полубайте. Цифра в старшем полубайте является более значимой. Диапазон упакованного десятичного байта составляет от 0 до 99.

Вещественные типы (типы данных с плавающей точкой): описание данных для операций с плавающей точкой приводится в Главе 15.

+--------------------------------------------------------------+| 7 0 Целый || +-------+ 1 байт || +-------+ 7 бит цифры || +------| 1 бит знак || +| || 15 0 Целый || +---------------+ 1 слово || +---------------+ 15 бит цифры|| +--------------| 1 бит знак || +| || 31 0 Целый || +-------------------------------+ 1 дв. слово || +-------------------------------+ 31 бит цифры|| +------------------------------| 1 бит знак || +| || 7 0 Обычный || +-------+ 1 байт || +-------+ 8 бит цифры || +-------| || 15 0 Обычный || +---------------+ 1 слово || +---------------+ 16 бит цифры|| +---------------| || 31 0 Обычный || +-------------------------------+ 1 дв. слово || +-------------------------------+ 32 бит цифры|| +-------------------------------| || N 0 НДД || +-------+ +---------------+ 4 бит цифра || +-------+ " " " +---------------+ в 1 байте || ---| +--- || ---| +--- || N 0 УДД || +-------+ +---------------+ 4 бит цифра || +-------+ " " " +---------------+ 4 бит цифра || ---| +--- || ---| +--- 2 в 1 байте || 31 0 Близкий || +-------------------------------+ указатель || +-------------------------------+ 32 бита || +-------------------------------| смещение || 47 31 0 Дальний || +----------------------------------------------+ указатель || +----------------------------------------------+ 32 бит смещ.|| +-------------------------------| 16 бит || +--------------| селектор || +----------------------------------------------+ Битовое поле|| +----------------------------------------------+ до 32 бит || +-------------------------------| || +----------------------+ +---------------+ Битовая || +----------------------+ " " " +---------------+ строка || +-------------------------------| до 4 Гбит || +----------------------+ +---------------+ Байтовая || +----------------------+ " " " +---------------+ строка || +------------------------------| до 4 Гбайт || |+--------------------------------------------------------------+ Рисунок 2-4. Типы данных


<== предыдущая лекция | следующая лекция ==>
Сегментированная модель | Регистры общего назначения.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.187 сек.