- •2 Модуль
- •3 Модуль
- •4 Модуль
- •1 Вузли обчислювальної техніки та мікропроцесорних систем.
- •2 Програмування мікропроцесорів фірми Intel.
- •1 Модуль
- •1 Обчислювальні та мікропроцесорні системи
- •1.1 Основні визначення
- •1.2 Принципи побудови та функціонування обчислювальних систем
- •1.2.1 Архітектура обчислювальних систем
- •1.2.2 Класифікація комп’ютерів
- •1.3 Принципи побудови та функціонування мпс
- •1.4 Функціонування обчислювального пристрою
- •2 Операції над даними в обчислювальних системах
- •2.1 Подання даних в обчислювальних системах
- •2.2 Подання даних у кодах
- •2.3 Порозрядні операції над даними
- •3 Цифрові автомати
- •3.1 Визначення цифрових автоматів
- •3.2 Синтез логічних схем
- •3.3 Розробка ца
- •4 Типові пристрої обчислювальних систем (Для самостійного вивчення)
- •4.1 Суматори
- •4.2 Цифрові компаратори
- •4.3 Арифметико-логічний пристрій
- •4.4 Програмовні логічні інтегральні схеми (пліс)
- •5 Принципи побудування запам’ятовувальних пристроїв мпс з заданою організацією
- •5.1 Запам’ятовувальні пристрої мпс та їх класифікація
- •5.2 Постійні запам’ятовувальні пристрої
- •5.3 Оперативні запам’ятовувальні пристрої
- •5.4 Умовне позначення мікросхем пам’яті
- •5.5 Побудування модуля запам’ятовувального пристрою мпс з заданою організацією
- •6 Інтерфейс
- •6.1 Організація інтерфейсів
- •6.2 Організація послідовних інтерфейсів введення-виведення
- •7 Мікропроцесори
- •7.1 Архітектура мікропроцесорів
- •7.2.1 Організація 8-розрядних мікропроцесорів (Для самостійного вивчення)
- •Інтерпретація даних у мп к580вм80а
- •Програмна модель мп к580вм80а
- •Формат команд мп к580вм80а
- •Способи адресації операндів мп к580вм80а
- •Мікропроцесорна система кр580
- •Стекова пам’ять
- •Функціонування мпс
- •Виконання команди пересилання з регістра с у регістр в
- •Робота мпс при виконанні команди in n введення даних з порту n в акумулятор мп а
- •Реакція мпс на виконання команди зупину
- •Робота мпс у режимі переривань
- •7.2.2 Організація 16-розрядних мікропроцесорів
- •7.2.3 Організація 32-розрядних мікропроцесорів (Для поглибленого вивчення)
- •Співпроцесори мп і80386
- •7.3 Продуктивність мікропроцесорів та її оцінювання
- •7.3.1 Технічна продуктивність мікропроцесора
- •7.3.2 Реальна продуктивність мікропроцесора
- •7.3.3 Архітектура сучасних мікропроцесорів
- •8 Використання мп фірми intel у
- •Процесори Athlon та Duron фірми amd
- •Список рекомендованої літератури до 1 модулю
- •2 Модуль
- •9 Програмування мікропроцесорів фірми intel
- •9.1 Сегментування пам’яті мікропроцесорами
- •9.2 Способи адресування операндів мп фірми Intel Регістрове адресування операндів
- •Безпосереднє адресування операндів
- •Пряме адресування
- •Непряме регістрове адресування
- •Пряме адресування з індексуванням
- •Адресування за базою з індексуванням
- •Непряме адресування з масштабуванням
- •9.3 Мова програмування Асемблер-86
- •9.3.1 Формат команди
- •9.3.2 Команди пересилань
- •9.3.3 Команди перетворення даних мови Асемблер-86
- •9.3.4 Команди умовних та безумовних переходів
- •9.3.5 Команди організації циклів
- •9.4 Створення програм на мові Асемблер-86
- •9.4.1 Лінійні програми
- •9.4.2 Розгалужені програми
- •9.4.3 Циклічні програми
- •10 Програмна реалізація вузлів телекомунікаційного обладнання на мові асемблер-86
- •10.1 Способи реалізації алгоритмів
- •10.2 Розробка апаратно-програмних комплексів
- •10.3 Приклади реалізації простих вузлів телекомунікацій
- •10.3.1 Ініціалізація послідовного асинхронного адаптера rs-232-c
- •10.3.2 Фрагмент програми передавання даних через асинхронний адаптер rs-232-c
- •10.3.3 Фрагмент програми приймання даних через асинхронний адаптер rs-232-c
- •10.3.4 Приклад програми ініціалізації rs-232-c та введення-виведення даних, написаної у програмному середовищі turbo assembler (tasm)
- •10.3.5 Програмна реалізація генератора імпульсних послідовностей
- •10.3.6 Програмне вимірювання періоду імпульсної послідовності det
- •10.3.7 Програмна реалізація мультиплексора
- •Список рекомендованої літератури до 2 модулю
- •3 Модуль
- •11 Мікропроцесорні системи на універсальних мп фірми motorola
- •11.2 Побудова мпс на 16-розрядних мікропроцесорах фірми Motorola
- •11.2.1 Підсистема центрального процесорного елемента mc68000
- •11.2.2 Розподіл адресного простору мпс
- •11.2.3 Організація підсистеми пам’яті
- •11.2.4 Організація підсистем введення-виведення
- •11.4 Побудова мпс на 32-розрядних мікропроцесорах фірми Motorola
- •11.4.1 Підсистема центрального процесорного елемента
- •11.4.2 Розподіл адресного простору мпс
- •11.4.3 Організація підсистеми пам’яті мпс
- •11.4.4 Організація підсистеми введення/виведення
- •11.4.5 Підключення співпроцесора
- •12 Програмування універсальних мп
- •12.1 Мова Асемблер програмування мп фірми Motorola
- •Непряма регістрова адресація з постіндексуванням
- •Непряма регістрова адресація з преіндексуванням
- •Непряма відносна адресація з індексуванням
- •12.2 Система команд мп мс680х0 (Для самостійного вивчення)
- •12.2.1 Команди пересилання
- •12.2.2 Команди арифметичних операцій
- •12.2.3 Команди логічних операцій
- •12.2.4 Команди зсувів
- •12.2.5 Команди безумовних переходів
- •12.2.6 Команди умовних переходів
- •12.2.7 Команди організації програмних циклів
- •12.2.8 Команди звернення до підпрограм
- •12.3 Побудова програм з різною структурою на мові Асемблер мп фірми Motorola
- •12.3.1 Лінійні програми
- •12.3.2 Розгалужені та циклічні програми. Підпрограми
- •12.4 Створення програмного забезпечення мпс на мп фірми Motorola
- •Список рекомендованої літератури до 3 модулю
Непряме регістрове адресування
При непрямому регістровому адресуванні ефективна адреса вміщується у будь-якому базовому або індексному регістрі: ВХ, ВР, SI, DI. Непряме регістрове адресування стає у нагоді при обробленні елементів масивів. На рис.9.5 показані два масиви, які розташовані у сегменті даних, починаючи відповідно з адрес 0010Н – перший та 0020Н – другий, елементи яких становлять відповідно числа 12Н, 34Н, 56Н, 78Н та А1Н, А2Н, А3Н, А4Н.
Після виконання фрагмента програми
MOV BХ, 0010Н;
MOV АХ, [ВХ];
у регістр АХ з двох комірок пам’яті з адресами (ВХ) та (ВХ+1) будуть передані два байти: 12Н у регістр АL та 34Н у регістр АН.
Після виконання фрагмента програми
MOV DI, 0022Н;
MOV DН, [DI];
у регістр DН буде записане дане А3Н.
|
|
|
|
0010 |
12Н |
0011 |
34Н |
0012 |
56Н |
0013 |
78Н |
|
• |
|
• |
|
• |
0020 |
А1Н |
0021 |
А2Н |
0022 |
А3Н |
0023 |
А4Н |
|
|
Рисунок 9.5 – Непряме регістрове адресування
Спосіб непрямого регістрового адресування використовується для послідовного доступу до елементів масивів при нарощуванні або зменшенні вмісту базових або індексних регістрів. Якщо елементи масиву трактуються програмістом як двобайтові (перший фрагмент), то вміст базового або індексного регістра треба змінювати на 2, а якщо як однобайтові (другий фрагмент), то на 1.
При непрямому регістровому адресуванні при вказанні адреси комірки пам’яті до вмісту базового або індексного регістра може додаватись зміщення.
Ефективна адреса підраховується як алгебраїчна сума вмісту вказаного у команді регістра та зміщення. Результатом виконання фрагмента програми
MOV SI, 0020H
MOV DH, [SI+0002H]
буде запис у регістр DН однобайтового елемента другого масиву з комірки пам’яті з ефективною адресою
ЕА = 0020Н + 0002Н = 0022Н,
тобто даного А3Н.
Такий спосіб адресування називається ще непрямим регістровим адресуванням зі зміщенням.
Адресування за базою
За цим способом ефективна адреса операнда обчислюється шляхом підсумовування вмісту базових регістрів ВХ або ВР та зміщення – 8- або 16-розрядного числа. Регістри бази використовуються для доступу до структурованих записів даних (масивів), розташованих у різних областях пам'яті. Базова адреса масиву, тобто його початкова адреса у сегменті, розміщується у базовому регістрі, а доступ до її окремих елементів здійснюється за їх зміщенням відносно базової адреси. Для доступу до елементів різних масивів, розташованих на однаковій відстані від бази, достатньо змінити вміст базового регістра. Припустимо, що у сегменті даних, починаючи з ефективних адрес 0010 та 0020 розташовані відповідно два одномірних масиви з елементами (рис. 9.6): 12Н, 34Н, 56Н, 67Н, 89Н та А1Н, А2Н, А3Н, А4Н, А5Н, А6Н. При необхідності переслати у регістр AL четвертий елемент першого масиву, а у регістр АН – четвертий елемент другого масиву треба виконати такий фрагмент програми:
MOV BX, 0010H ; Запис у ВХ базової адреси першого масиву;
MOV AL, [BX+04H]; Пересилання до AL четвертого елемента першого
; масиву (89Н);
MOV BX, 0020H ; Запис у ВХ базової адреси другого масиву;
MOV AL, [BX+04H]; Пересилання до AН четвертого елементу другого
; масиву (А5Н).
Рисунок 9.6 – Адресування за базою
Ефективна адреса четвертого елемента першого масиву становить 14Н, а четвертого елемента другого масиву – 24Н. Слід відмітити, що наступні команди:
MOV AХ, [BX]+4
MOV AХ, 4[BX]
MOV AХ, [BX+4]
з точки зору підрахування ефективної адреси операнда у сегменті даних є ідентичними і відрізняються тільки формою завдання адреси.
Коли елементи масиву трактуються як двобайтові, як у наведених командах, то у регістр АХ буде завантажено при значенні вмісту ВХ, який дорівнює 0020Н, другий елемент другого масиву, тобто А6А5Н.