Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов О.С., Хiхловська I.В. Обчислювальна тех...doc
Скачиваний:
15
Добавлен:
01.09.2019
Размер:
4.12 Mб
Скачать

Способи адресації операндів мп к580вм80а

Для можливості виконання команди у ній, крім коду операції, слід указати адреси операндів (джерела) та куди розміщується результат операції (приймач). Під способами адресації розуміють способи, використовувані для указання джерел та приймачів.

Регістрова адресація. Команди з регістровою адресацією є самими короткими за використанням та довжиною, тому що потребують звернення до пам’яті тільки за кодом операції та трибітовими адресами одного з регістрів. Наведемо приклади команд з регістровою адресацією.

Код (номер) регістра В становить 000, код регістра Е є 011, код регістра А — 111; код операції пересилання MOV — 01, а команди віднімання SUB — 10. На рис. 7.5 приведені приклади команд з регістровою адресацією.

Мнемоніка

команди

Машинний

код команди

Виконувана

операція

MOV

B, E

01

000 011

D ← (E)

SUB

B

10

000 000

A ← (A) — (B)

Рисунок 7.5 — Приклади команд з регістровою адресацією

При розгляданні команди SUB слід мати на увазі, що за умовчанням вона у якості приймача використовує тільки акумулятор, обидві команди однобайтові.

Під мнемонікою команди розуміють скорочене її позначення, яке поліпшує запам’ятовування команди. Наведені команди написані мовою Асемблера-80, їх мнемоніка є початками слів або абревіатурою англійських слів, які висловлюють назву операції, виконувану командою. Так команда MOV В, С, від move — рухати, означає пересилання вмісту регістра — джерела С до регістра приймача В. Команда SUB C від substraction — віднімання — виконує операцію віднімання від акумулятора А вмісту регістра С, результат пересилається до акумулятора А.

Безпосередня адресація. При такому способі адресації операнди задаються безпосередньо у команді після коду операції у другому або другому та третьому байтах. На рис. 7.6 показані приклади команд з безпосередньою адресацією.

Мнемоніка

команди

Машинний

код команди

Виконувана

операція

MVI A, 13H

0011111000010011

A ← (A) + 13H

SUI 05Н

1101011000000101

A ← (A) — 05H

LXI D, A565H

000100010110010110100101

DE ← A565Н

Рисунок 7.6 — Приклади команд з безпосередньою адресацією

Команда MVI A, 13H є двобайтова, перший байт вміщує код операції та код регістра, з яким виконується операція: 00R110, для акумулятора А цей код становить 111; другий байт вміщує безпосереднє дане, яке треба завантажити у регістр А: 00010011Н.

Команда SUI 05Н також є двобайтова, код операції становить 11010110, код регістра, від якого віднімається дане, не вказується, тому що за умовчанням це завжди акумулятор; у другому байті вміщується дане, яке безпосередньо вказується у команді — число 00000101.

Команда LXI D, A565H є трибайтовою, у першому байті вміщено код операції 00010001; у другому та третьому байтах зберігається безпосередньо задане у команді число 0110010110100101.

Видно, що при

(В2) = 65Н (В3) = А5Н

зберіганні двобайтового даного у пам’яті дотримується принцип: старший байт зберігається за старшою адресою, а молодший — за молодшою. Після виконання команди у молодший регістр Е регістрової пари DE буде завантажено байт В2, а у старший D — байт В3: (DE) = А565Н. Пряма адресація передбачає указання у команді прямо адреси операнда, які записуються у другому та третьому байтах команди.

Команда LDА 1160Н завантажує акумулятор з комірки пам’яті з двобайтовою адресою 1160Н.

Непряма адресація. При непрямій адресації адреса операнда розміщується у будь-якій регістровій парі РЗП, причому вказується старший регістр пари. Команда LDАХ В завантажує у акумулятор вміст комірки пам’яті, адресу якої вміщує регістрова пара ВС. Непряма адресація дає нагоду ефективного опрацьовування елементів масивів, оскільки для переходу до наступного елемента достатньо наростити на одиницю адресу попереднього; для цього потрібно додати одиницю до вмісту регістрової пари.

Слід відмітити, що таблиці системи команд МП К580ВМ80А мови програмування Асемблер-80 є у багатьох довідниках та підручниках по мікропроцесорах. Вони вміщують повний опис та машинні коди команд.

8-розрядні мікропроцесори зараз не використовуються у новій апаратурі через те, що з’явились нові, більш досконалі моделі. Знання системи команд мови програмування Асемблер-80 теж не є обов’язковим. Що стосується машинних кодів команд, то певний інтерес уявляє сам принцип їх складання, самі ж коди можна інтерпретувати при аналізі програми, яка розташована у пам’яті, але текст якої є невідомий.

Розглянута далі МПС на базі МПК КР580 також є цікавою тільки з точки зору принципів її побудови, взаємодії підсистем, які її складають, та прикладів можливого застосування у телекомунікаціях. Доцільно також на простих прикладах показати виконання окремих команд у МПС.