Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорний конспект лекцій_ Асемблер.Docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
506.89 Кб
Скачать
      1. Формування фізичного адреса в реальному режимі

В реальному режимі механізм адресації має наступні характеристики:

o діапазон зміни фізичного адреса від 0 до 1 Мбайт, це зумовлено тим, що шина адреса

i8086 мала 20 ліній;

o максимальний розмір сегмента 216 - 1 = 64 Кбайт. Це пояснюється 16-розрядною архітектурою i8086;

o для звернення до конкретного адреса ОП потрібно визначити адрес сегмента і зміщення. Зміщення зберігається в одному із 16-розрядних сегментних регістрів. Для адресації пам’яті 1 Мбайт необхідний 20 бітний адрес. Його отримують апаратним зсувом вліво на 4 розряди значення сегментного регістра. Зміщення являє собою 16-бітне значення, що міститься явно в команді або неявно у одному із регістрів загального призначення.

Усунення невідповідності між розміром шини i486, Pentium (32 біти) і 20-бітним значенням фізичного адресу у реальному режимі досягається шляхом недоступності старших 12 біт шини адреса. Механізм формування фізичного адреса в реальному режимі показаний на рис. 1.5. Недоліки такої організації пам’яті:

o сегменти безконтрольно розміщуються з любого адресу кратного 16 (так як їх вміст зсовують на 4 розряди);

o сегменти мають максимальний розмір 64 Кбайт; o сегменти можуть перекриватися із другими сегментами. Вказані недоліки були усунуті у захищеному режимі.

Рис. 1.5. Механізм формування фізичного адреса в реальному режимі

    1. Типи даних

Типи даних розглядуються з двох точок зору:

o розмірності; o логічної інтерпретації.

З точки зору розмірності МП підтримує наступні типи даних (рис 1.6).

Рис. 1.6. Основні типи даних

Байт – вісім послідовних бітів, пронумерованих від 0 до 7. Біт 0 є самим молодшим.

Слово – послідовність із двох байтів, що мають послідовні адреси. Розмір слова – 16 біт. Біти нумеруються від 0 до 15. Байт з нульовим бітом називається молодшим байтом, байт з 15 бітом

старшим байтом. МП Intel мають важливу особливість – молодший байт завжди зберігається по молодшому адресу. Адресом слова вважається адрес його молодшого байта. Адрес старшого байту може бути використаний для доступу до старшої половини слова.

Подвійне слово – послідовність із чотирьох байтів (32 біти), розміщеним по послідовних адресах. Біти нумеруються від 0 до 31. Слово, з нульовим бітом називається молодшим словом, а слово з 31 бітом – старшим словом. Адрес старшого слова може бути використаний для доступу до старшої половини подвійного слова.

Збільшене у четверо слово - послідовність із восьми байтів (64 біти), розміщеним по послідовних адресах. Біти нумеруються від 0 до 63. Подвійне слово, з нульовим бітом називається молодшим подвійним словом, а слово з 63 бітом – старшим подвійним словом. Адрес старшого подвійного слова може бути використаний для доступу до старшої половини збільшеного у четверо слова.

128-бітний упакований тип даних. Цей тип даних появився у МП Pentuim III.

Логічні типи даних показані на рис. 1.7.

Рис.1.7. Логічні типи даних

o Цілий тип із знаком – двійкове значення із знаком розміром 8, 16, 32 біти. Знак у двійковому числі міститься у 7, 15, 31 біті відповідно. Нуль в цих бітах відповідає додатному числу, а одиниця – від’ємному числу. Від’ємні числа подаються у додатковому коді. Числові діапазони для цього типу даних наступні:

8-розрядне ціле – від –128 до +127;

16-розрядне ціле – від –32768 до +32767;

32-розрядне ціле – від –231 до +231-1.

o Цілий тип без знаку – двійкове значення без знаку розміром 8, 16, 32 біти. Числові діапазони для цього типу даних наступні:

байт – від 0 до 255;

слово – від 0 до 65535;

подвійне слово – від 0 до +232-1.

  • Вказівник на пам’ять буває двох типів.

    • Ближній тип 32-розрядний логічний адрес, що являє зміщення в байтах від початку сегмента. Ці вказівники можуть використовуватися у суцільній (плоскій) моделі пам’яті, де сегментні складові однакові.

    • Дальній вказівник - 48-розрядний логічний адрес, що складається із двох частин: 16-розрядної сегментної частини (селектора) і 32-розрядного зміщення.

  • Ланцюжок – неперервний набір байтів, слів або подвійних слів максимальною довжиною до 4 Гбайт.

  • Бітове поле – послідовність бітів, де кожний біт незалежний і розглядується як окрема змінна. Бітове поле може починатися з любого біта любого байта і містити до 32 біти.

  • Неупакований двійково-десятковий тип – байтове подання десяткової цифри від 0 до 9. Неупаковані десяткові числа зберігаються як байтові значення без знаку по одній цифрі у байті. Значення цифри визначається молодшим півбайтом.

  • Упакований двійково-десятковий тип – являє собою упаковане подання двох десяткових чисед від 0 до 9 в одному байті. Кожна цифра зберігається у своєму півбайті. Цифра у старшому півбайті (біти 4-7) є старшою.

  • Типи даних з плаваючою крапкою. Це типи даних співпроцесора. Вони не сумісні з типами даних цілочисельних пристроїв.

  • Типи даних MMX-розширення (Pentium MMX/II). Сукупність упакованих цілочисельних елементів.

  • Типи даних MMX--розширення (Pentium III). Сукупність упакованих елементів з плаваючою крапкою фіксованого розміру.