Типи даних
Поняття типу даних носить двоїстий характер. З погляду розмірності мікропроцесор апаратно підтримує наступні основні типи даних (мал. 2.4):
Байт — вісім послідовно розташованих бітів, пронумерованих від Про до 7, при цьому біт 0 є самим молодшим значущим бітом.
Слово — послідовність із двох байт послідовні адреси, що мають. Розмір слова — 16 біт; біти в слові нумеруються від 0 до 15. Байт, що містить нульовий біт, називається молодшим байтом, а байт, що містить 15-й біт — старшим байтом. Мікропроцесори Intel мають важливу особливість — молодший байт завжди зберігається по меншій адресі. Адресою слова вважається адреса його молодшого байта. Адреса старшого байта може бути використаний для доступу до старшої половини слова.
Подвійне слово — послідовність із чотирьох байт (32 біта), розташованих по послідовних адресах. Нумерація цих біт проводиться від 0 до 31. Слово, що містить нульовий біт, називається молодшим словом, а слово, що містить 31-й біт, — старшим словом. Молодше слово зберігається по меншій адресі. Адресою подвійного слова вважається адреса його молодшого слова. Адреса старшого слова може бути використаний для доступу до старшої половини подвійного слова.
Учетверене слово — послідовність із восьми байт (64 біта), розташованих по послідовних адресах. Нумерація біт проводиться від 0 до 63. Подвійне слово, що містить нульовий біт, називається молодшим подвійним словом, а подвійне слово, що містить 63-й біт, — старшим подвійним словом. Молодше подвійне слово зберігається по меншій адресі. Адресою учетвереного слова вважається адреса його молодшого подвійного слова. Адреса старшого подвійного слова може бути використаний для доступу до старшої половини учетвереного слова.
Рис. 2.4. Основні типи даних мікропроцесора
Крім трактування типів даних з погляду їх розрядності, мікропроцесор на рівні команд підтримує логічну інтерпретацію цих типів (рис. 2.5).
Цілий тип зі знаком — двійкове значення зі знаком, розміром 8, 16 або
32 біта. Знак у цім двійковому числі розташован в 7, 15 або 31-м бітах відповідно. Нуль у цих бітах в операндах відповідає позитивному числу, а одиниця — негативному. Негативні числа представляються в додатковому коді. Числові діапазони для цього типу даних наступні:
8-розрядне ціле — від -128 до +127;
16-розрядне ціле — від -32 768 до +32 767;
32-розрядне ціле — від -231 до +231 - 1.
Цілий тип без знака — двійкове значення без знака, розміром 8, 16 або 32 біта. Числовий діапазон для цього типу наступний:
байт — від 0 до 255;
слово — від 0 до 65 535;
подвійне слово — від 0 до 232 - 1.
Покажчик на пам'ять буває двох типів.
Близький тип — 32-розрядна логічна адреса, що представляє собою відносний зсув у байтах від початку сегмента. Ці покажчики можуть також використовуватися в суцільний (пласкій) моделі пам'яті, де сегментні складові однакові.
Далекий тип — 48-розрядна логічна адреса, що складається із двох частин: 16- розрядної сегментної частини — селектора й 32-розрядного зсуву.
Ланцюжок являє собою деякий безперервний набір байтів, слів або подвійних слів максимальною довжиною до 4 Гбайт.
Бітове поле являє собою безперервну послідовність біт, у якій кожний біт є незалежним і може розглядатися як окрема змінна. Бітове поле може починатися з будь-якого біта будь-якого байта й містити до 32 біт.
Неупакований двоїчно-десятковий тип — байтове представлення десяткової цифри від 0 до 9. Неупаковані десяткові числа зберігаються як байтові значення без знака по одній цифрі в кожному байті. Значення цифри визначається молодшим напівбайтом.
Упакований двоїчно-десятковий тип являє собою впаковане представлення двох десяткових цифр від 0 до 9 в одному байті. Кожна цифра зберігається у своєму напівбайті. Цифра в старшому напівбайті (біти 4-7) є старшою.
Рис. 2.5. Основні логічні типи даних мікропроцесора
Відзначимо, що «Зн» на рис. 2.5 означає знаковий біт.
