
- •3 Група індексних регістрів та вказівників які утворюють регістри т
- •5 Регістр вказівника (лічильника) команд еір призначений для адресації в середині "поточного сегмента коду Вказівник команди прямо у командах ие вказується, але бере
- •6 Регістр прапорців ерьаоз зберігає інформацію про ознаки результату
- •Способи адресування в мікропроцесорах сімейства іьггеь. Навести приклади.
- •2.2.6 Пряме адресування з індексуванням
- •6 Прерывания
- •Сегменгування пам'яті в мікропроцесорах сімейства интел
- •2.1 Сегментування пам'яті
- •Способи обміну інформацією у мікропроцесорній системі. Області застосування. Приклади реалізації
- •2.2 Особливості архітектури окремих процесорів сім'ї Интел 2.2-1 Мікропроцесор 18086
- •2Р(6) - прапорець нульового результату, встановлюється в 1, коли результат операції дорівнює о,
- •2.2.2 Мікропроцесор 180186
- •2.2.3 Мікропроцесор 180286
- •2.2.4 Мікропроцесори 180386 та 180486
Способи адресування в мікропроцесорах сімейства іьггеь. Навести приклади.
Режими адресації пам'яті
Сегментні регістри мають довжину 16 розрядів, зміщення адреси даного у сегменті відносно початкової адреси сегмента (так звана ефективна або виконавча адреса) має також 16 розрядів, а фізична адреса, тобто адреса комірки пам'яті в єдиному адресному просторі МП системи у реальному режимі, що видається на шину адреси, вміщус 20 розрядів, бо треба адресувати Л Мбайт пам'яті. Фізична адреса усіх МП сім'ї интел у реальному режимі складається з суми вмісту одного з сегментних регістрів, зсунутого вліво на чотири розряди, та ефективной адреси
Рисунок 2.2 -Способи формування фізичної адреси
Ефективна адреса є сумою вмісту вказаного у команді регістра та поданого безпосередньо у формі числа зміщення, або сумою деякої бази, що зберігається у базовому регістрі ВХ або ВР, та вмісту індексного регістра ОІ або 81 та зміщення. У МП 180386 та 180486 у формуванні фізичної адреси беруть участь ще додаткові сегментні регістри Р8 і С8, а як базові можуть використовуватися розширені регістри даних ЕАХ, ЕВХ, ЕСХ, ЕОХ та індексні ЕЗІ, ЕВІ, ЕВР. Усі ці регістри вказують зміщення відносно початку сегмента БЗ, Е8, Р8 або О8, а регістр ВР- відносно початку регістра 88. Розширений регістр Е8Р не використовується у звичайній непрямій адресації.
Ефективна адреса визначає відстань у байтах від початку сегмента, де знаходиться операнд, до молодшої адреси цього операнда. Час, витрачений на обчислення ефективної адреси, є однією з основних компонент часу виконання команди. Розрізняють вісім способів обчислення ефективної адреси.
2.2.1 Регістрове адресування операндів
Найбільш швидко виконуваним є регістрове адресування. Операнди знаходяться у регістрах, які вказуються у команді, наприклад:
МОУ А Х,СХ; Копіювання 16-розрядного вмісту лічильника в акумулятор.
2.2.2 Беніоссреднг адресування операндів
При безпосередньому адресуванні вказується 8- або 16-розрядне значення константи як операнд, наприклад:
МОУ СХ, 500; Завантаження до СХ консіанти 500.
При безпосередньому адресуванні інак константи поширюється до заповнення 8- або 16-розрядного реіістра. Наприклад, константа 500Б (111110100В), при занесенні до СХ має вигляд 0000000111110100, а команда
МОУ (X, -30
призведе до запису у 8-розрядний регістр СЬ числа 11100010 (число- ЗОБ у доповняльному коді).
2.2.3 Пряме адресування
При прямому адресуванні ефективна адреса є складовою частиною команди, як значення операнда при безпосередньому адресуванні. Пряме адресування використовується у разі задавання операнда, що вміщується в пам'яті у вигляді мітки, наприклад:
МОУ АХ, ТАВ; Завантаження вмісту комірок пам'яті з мітками ТАВ та ТАВ+1 до АХ.
2.2.4 Непряме регістрове адресування
Рисунок 2.4 -Непряме регістрове адресування
Після виконання команди МОУ АХ, [ВХ] до регістра АХ буде завантажений двобайтовий елемент масиву ТАВ,
адресований вмістом регістра ВХ.
Якщо відома адреса початку масиву ТАВ, то завантаження базових регістрів здійснюється операцією ОРРЗЕТ (зміщення) до цієї адреси:
МОУ ВХ, ОРРЗЕТ ТАВ; Завантаження початкової адреси масиву до регістра
;ВХ МОУ АХ, [ВХ] Завантаження до акумулятора елемента масиву, адреса
; якого вміщена у регістрі ВХ.
Операція МОУ ВХ, ОРРЗЕТ ТАВ знищує попередній вміст ВХ, тому спосіб непрямого регістрового адресування використовується для доступу до кількох елементів масиву при нарощуванні або зменшенні вмісту базових або індексних регістрів.
2.2.5 Адресування за базою
За цим способом ефективна адреса обчислюється шляхом підсумовування значення зміщення з вмістом базових регістрів. Регістр бази використовується при доступі до структурованих записів даних, розташованих у різних областях пам'яті. У цьому випадку базова адреса запису, тобто початкова його адреса у сегменті, розміщується у базовому регістрі, а доступ до її окремих елементів здійснюється за їх зміщенням відносно бази. Для доступу до різних записів даних однієї структури достатньо змінити вміст базового регістра. Усі три наступні команди еквівалентні за адресуванням операндів:
МОУ АХ,[ВХ]+4 ; Пересилання до АХ 16-розрядного даного,
МОУ АХ,4 [ВХ] ; розташованого на відстані чотирьох комірок
МОУ АХ,[ВХл-4] ; пам'яті від початку запису. Сегмент даних
вх 4.1. Якщо у регістрі ВХ
І. -іооТаП—=*£>
ч
исло
001 А, тоді після
виконання
команди
|ах МОУ
АХ, [ВХ]+4
до регістра АХ буде завантажено число
ААВВ з двох комірок пам'яті з зміщенням 001АН+4Н-=001ЕН.
Рисунок 2.5 -Адресування за базою