Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.23 Mб
Скачать

Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій

Кафедра САПР

Звіт

Лабораторна робота №2

з дисципліни

Архітектура комп'ютера

на тему:

Способи адресації операндів і команди пересилання даних однокристального мп кр580

Виконав:

Ст. гр. КН-317

Мураль М. М.

Прийняв:

Головацький Р. І.

Львів 2008

ТЕМА: Способи адресації операндів і команди пересилання даних однокристального МП КР580

МЕТА: Вивчити способи адресації операндів і команди пересилання даних в однокристальному мікропроцесорі (МП) КР580, набути практичні навики складання і налагодження програм з використанням цих команд.

ЗАВДАННЯ: Через регістрову пару записати в пам'ять послідовність даних 17, 19, 15, 13, 12, 11. 3-й і 4-й елемент прочитати за допомогою стеку і ввести в регістрову пару Н.

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

Пам'ять МП КР580 має байтову структуру можлива адресація в пам'яті будь-якого байта. Ширина вибору з пам'яті - 1 байт. При звертанні до пам'яті використовуються 16-розрядні (двобайтові) адреси. Адресний простір МП КР580 становить 64 Кбайти. Нумерація бітів акумулятора, регістрів і байта пам'яті показана на рис. 1.

Система команд МП КР580 містить 244 команди. Команди складаються з одного, двох або трьох байтів і знаходяться в пам'яті (оперативній або постійній). Багатобайтові команди зберігаються в сусідніх комірках пам'яті.

В однобайтових командах байт використовується для задання коду виконуваної операції (рис.2,а). Однобайтові команди це команди обміну з пам'яттю, арифметичні, логічні, зсувів, операції зі стеком, керування системою переривань.

Двобайтові команди - це команди з безпосереднім операндом або команди вводу/виводу (Рис.2,6). Перший байт команди містить код виконуваної операції, а другий - або безпосередній операнд, або операнд адреси порту вводу/виводу.

Трибайтові команди містять у першому байті код виконуваної операції, а в другому або адреси пам'яті, або два байти безпосередніх даних (рис.2,в).

б)код операції дані або адреси

До команд, які використовують цей формат, відносяться команди переходів до підпрограм, безумовних і умовних переходів, завантаження регістрів і пам'яті. Необхідно звернути увагу на спосіб написання адреси або безпосереднього операнда в трибайтовій команді. Другий байт команди містить молодшу половину адреси або безпосереднього операнда, а третій байт - старшу.

1.Операнд, який розуміється. В команді не задаються явно ні адреса операнда, ні він сам. Операнд розуміється і фактично задається кодом операції команди. найчастіше таким операндом є одиниця, що додається чи віднімається від попереднього значення числа Наприклад :

INR А (Збільшити на 1 вміст акумулятора)

коп

2. Неявна адресація. При цьому способі адресації адреса одного або двох операндів неявне задається в йоді операції. Операція може, наприклад, виконуватися вмістом акумулятора , який адресується кодом команди і спеціамно його вказувати не потрібно. У МП КР580 перший операнд завжди знаходиться в акумуляторі, а другий може бути адресований прямо, непрямо або безпосередньо.

Наприклад :

DAA (Виконати десяткове доповнення акумулятора)

КОП

3. Безпосередня адресація. При безпосередній адресації оеранд є частиною виконуваної команди (рис. 3)

LHLD ADDR ; (L)<-((ADDR)); (H)<-((ADDR+1));

PC - лічильник команд. Цей спосіб адресації використовується при необхідності включення в програму фіксованих значень (констант). У МП КР580 допускається безпосередньо адресувати 8-бітні (байт <В2>) і 16-бітні слова (<В2> - молодший байт, <ВЗ> - старший байт). Наприклад :

ADI 80H

КОП 80Н

Вміст другого байта команди додається до вмісту акумулятора. Результат записується в акумулятор.

4.Пряма регістрова адресація. У полі операндів команди задаються адреси регістрів загального призначення (РЗП) A,B,C,D,E,H,L (рис.4). РЗП

У МП КР580 використовується трирозрядне поле для вибору одного з семи РЗП. Наприклад : MOV Е,С

КОП КОДИ РЕГІСТРІВ

Переслати операнд з регістра С в регістр Е. Коди регістрів Е-011, С-001.

5. Пряма адресація. У полі операнда міститься повна 1б-6ітна адреса байта пам'яті (рис.5)

За допомогою прямої адресації можна звертатип до будь-якого байта адресного простору. Наприклад : STA 800Н

КОП ВИКОНУВАНА АДРЕСА

Вміст акумулятора пересилається в комірку пам'яті, адреса якої вказана у другому і третьому байтах команди (0800Н).

6. Непряма регістрова адресація. В адресному полі команди вказується код пари регістрів, в якій міститься адреса комірки пам'яті, де розміщені потрібні дані (рис.6).

Старші біти адреси зберігаються у першому регістрі пари, моЛодші- у другому. Наприклад : STAXB

КОД ПАРИ ВС

Непрямий запис вмісту акумулятора в пам'ять. Вміст акумулятора пересилається в комірку пам'яті, адреса якої задана в парі регістрів ВС.

7. Стекова адресація. При стековій адресації реалізується безпосереднє завдання операнда. Дані заносяться в стек або зчитуються зі стеку, на початок якого вказує вміст вказівника стеку (SP). Наприклад PUSH В

КОД ПАРИ ВC