Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МК

.pdf
Скачиваний:
31
Добавлен:
16.02.2016
Размер:
3.47 Mб
Скачать

ЛАБОРАТОРНА РОБОТА №5

ЗАПИС І ВИКОНАННЯ ПРОСТИХ ПРОГРАМ

Мета роботи: виконання окремих команд і простих програм, використання різних методів адресації в програмах; запис програм.

Обладнання, прилади та інструменти: мікропроцесор КР580ИК80.

Загальні відомості

Мікропроцесор КР580ИК80 має фіксований набір команд. Час виконання команди визначається процесом отримання, декодування та її виконання. Цей час складається з низки тимчасових інтервалів. Найкоротший тимчасовий інтервал, рівний періоду синхросигналів МП, називається машинним тактом. Час, необхідний для добування 1 байта інформації з пам'яті або зовнішнього пристрою та виконання команди, яка визначається одним машинним словом, називається машинним циклом. Машинний цикл для МП може охоплювати в себе 3-5 машинних тактів. Залежно від виду команди час виконання може складатися з 1-5 машинних циклів. Для МП є 10 різних типів машинних циклів: добування коду команди (цикл М1), читання даних із пам'яті, запис даних у пам'ять, добування даних зі стека, запис даних у стек, введення даних із зовнішнього пристрою, запис даних у зовнішній пристрій, цикл обслуговування переривання, обслуговування переривання в режимі зупинки. Першим машинним циклом під час добування будь-якої команди є цикл М1.

На кожному машинному циклі МП перевіряє стан сигналу "Готовий" на своєму вході. Нульовий сигнал на цьому вході припиняє нормальну роботу МП, при цьому на магістралях мікро-ЕОМ присутня вся інформація, що передається на машинному циклі, що розглядається. У навчальній мікро-ЕОМ це використовується для дослідження виконання команд за машинними тактами. У цьому режимі інформація на магістралях мікро-ЕОМ відображається світлодіодами стану. Програма записується в мікро-ЕОМ у послідовних елементах пам'яті.

Розглянемо найпростішу програму (програма 1), що добуває число за

61

адресою пам'яті 0В00, інвертує його і записує результат на адресу пам'яті 0В01

(табл. 8).

Таблиця 8

 

Програма 1 (в мнемокодах)

 

 

Мнемокод

Коментар

LDA OBOO

отримати число за адресою ОВОО

CMA

інвертувати число

STA OBOI

записати результат за адресою ОВОІ

RST 1

перервати виконання програми

У записі програм всі числа представляються в шістнадцятковій системі числення.

Для запису програми в пам'ять мікро-ЕОМ необхідно перевести мнемокоди команд у машинні коди (табл. 9). Команди в програмі можуть бути одно-, двоабо трибайтні і повинні в пам'яті займати відповідно одну, дві або три адреси.

Таблиця 9

Програма 1 (розміщення за адресами комірок пам’яті )

Адреса

Число

Коментар

0800

ЗА

код команди LDA

0801

ОО

молодший байт адреси

0802

ОВ

старший байт адреси

0803

2F

код команди СМА

0804

32

код команди STR

0805

01

молодший байт адреси

0806

ОВ

старший байт адреси

0807

CF

код команди RST1

Попередній запис програм зручно провести в компактнішій формі. У

програмі вказується початкова адреса кожної команди, при цьому розуміється,

що залежно від довжини (одно-, двоабо трибайтна) команди в пам'яті будуть займати від однієї до трьох послідовних осередків. При такому записі в лівому стовпці вказуються лише адреси команд у програмі. Це дозволяє скоротити обсяг в описі програм і спростити їх аналіз (табл. 10).

62

 

 

 

Таблиця 10

 

Програма 1 (загальний вигляд запису)

 

 

 

 

 

Адреса

Машинний код

Мнемокод

Коментар

 

0800

3A 000B

LDA, 0B00

отримати число

 

0803

2F

CMA

інвертувати число

 

0804

32 0І0В

STА, 0В0І

записати за адресою 0В0І

 

0807

CF

RST 1

перервати виконання

 

програми

 

 

 

 

 

Тут використовується прямий спосіб

адресації. Розглянемо програму

(табл. 11), аналогічну програмі 1, з використанням непрямого способу адресації (програма 2).

 

 

 

Таблиця. 11

 

 

Програма 2

 

 

 

 

 

Адреса

Машинний код

Мнемокод

Коментар

 

0800

21 000В

LXIN 0B00

записати в регістри число H, L

 

 

 

 

0B00

 

0803

7E

MOV A, M

отримати число з адреси, вказаної

 

 

 

 

в регістрах H, L

 

0804

2F

CMA

інвертувати число в акумуляторі

 

0805

23

INX M

збільшити на І число в регістрах Н,

 

 

 

 

L

 

0806

77

MOV M, A

записати число з акумулятора за

 

 

 

 

адресою, вказаною в Н, L

 

0807

CF

RST 1

перервати виконання програми

 

Порядок виконання роботи

1. Ознайомитись з мовою програмування і структурою команд МП

КР580ИК80.

2.Вивчити режими роботи і тимчасові діаграми процесу виконання команд МП КР580ИК80.

3.Вивчити методи програмування на мові асемблера і в машинних кодах для МП КР580ИК80.

4.Розглянути правила виконання команд INR А (ЗС), DCRA (3D), ADDA (87), ANAA (А7), ORAA (B7), CMP A (BF), DAA (27)

63

5. Розглянути результат виконання програми 1 в записі за адресою 0803

команд, наведених в п.4 завдання. Результати виконання програми з різними командах, записаними в програмі 1 за адресою 0803, занести в таблицю за таким зразком.

 

 

Таблиця

 

 

 

 

Число, записане за

Команда, записана за

Число, записане за

 

адресою ОBOO

адресою 0803

адресою 0В01

 

6.Видозмінити і записати програму 2 так, щоб під час її виконання досліджуване число спочатку записувалося за адресою ОВОО.

7.Розробити програми:

а) збільшення на 5 числа, записаного за адресою 0В00, і запису результату за адресою 0В01 (програма 3);

б)додавання чисел, записаних за адресами ОВОО і ОВАО, і

записом результату за адресою ОВО1 (програма 4);

в) порівняння чисел в адресах ОВОО і ОВО1 і запису більшого з них у регістр В (програма 5).

Робота на навчальній мікро-ЕОМ

Під час виконання лабораторної роботи на навчальній мікро-ЕОМ потрібно мати на увазі, що:

1.Введення досліджуваної програми здійснюється її послідовним записом в елементи пам'яті. Для запису числа за адресою використовуються клавіші П, |_| і цифрові клавіші на клавіатурі;

2.Пуск програми здійснюється натисненням на клавішу ВП;

3.Виконання програми за командами здійснюється натисненням на клавішу КМ/ЦК. Після виконання кожної команди необхідно натискати на клавішу ШГ, мікро-ЕОМ дозволяє виводити на дисплей вміст програмно-

доступних регістрів МП за допомогою клавіш РГ і |_|;

4. Виконання програми за машинними циклами здійснюється

послідовним натисненням на клавішу ШГ, з попереднім переведенням у режим

64

циклів клавішею КМ/КЦ, при цьому інформація на дисплей мікро-ЕОМ не виводиться, а відображається лише на світлодіодах магістралей. Завершується режим натисненням на клавішу СТ, при цьому на дисплей виводиться адреса поточної програми, що виконується мікро-ЕОМ на момент виходу з режиму виконання команди за машинними циклами.

Завдання до лабораторної роботи

Завдання 1. Дослідити програму 1.

Порядок виконання завдання

1.Ввести в мікро-ЕОМ програму 1.

2.Записати за адресою ОВОО досліджуване число.

3.Здійснити пуск програми 1 з адреси 0800. Перевірити результат виконання програми, досліджуючи число, записане за адресою ОВ01.

4.Дослідити процес виконання програми за командами. Після виконання кожної команди проаналізувати зміст всіх програмно-доступних регістрів МП.

5.Дослідити процес виконання команд у програмі 1 за машинними циклами. Звернути увагу на послідовність передачі і перетворення інформації в мікро-ЕОМ під час виконання кожної команди. Подати тимчасові діаграми процесу виконання будь-якої одно- і трибайтної команди в програмі.

6.Замінюючи в програмі 2 команду СМА на команди INR А (ЗС), DCRA (3D), ADD А (87), ANA А (А7.І ORA A (B7), CMP A (BF), DAA (27), дослідити результат виконання зазначених команд за числом, записаним за адресою 0В01.

Перевірити таблицю, заповнену піл час виконання завдання (див. зразок

таблиці на ст. 53).

Завдання 2. Дослідити програму 2.

Порядок виконання завдання

1. Ввести в мікро-ЕОМ програму 2.

2.Записати за адресою ОВОО досліджуване число.

3.Здійснити пуск програми з адреси 0800. Перевірити результат виконання програми за числом, записаним за адресою 0В01.

65

4.Дослідити процес виконання команди MOV A M за машинними циклами.

5.Ввести і дослідити виконання мікро-ЕОМ видозміненої програми 2, що дозволяє спочатку записувати досліджуване число за адресою ОВОО.

Завдання 3. Дослідити програму 3.

Порядок виконання завдання

1.Ввести в мікро-ЕОМ розроблену програму 3.

2.Здійснити пуск програми 3 і перевірити результат її виконання за числом, записаним за адресою ОВ01 при числах 05, FE, записаних за адресою ОВОО.

Завдання 4. Дослідити програму 4.

Порядок виконання завдання

1.Ввести в мікро-ЕОМ розроблену програму 4.

2.Перевірити результат виконання програми за числом, записаним за адресою 0В01, послідовно записуючи за адресами ОВАО відповідно числа ОВ і

BO, FE і В5 та здійснюючи пуск програми, видозмінити і дослідити програму 4

у разі, коли сума двох чисел буде перевищувати восьми-розрядне число.

Завдання 5. Дослідити програму 5.

Порядок виконання завдання

1.Ввести в мікро-ЕОМ розроблену програму 5.

2.Записати за адресами ОВОО і ОВ01 досліджувані числа.

3.Здійснити пуск програми 5. Перевірити результат її виконання за числом, записаним у регістрі В.

Зміст звіту

1. Заповнена таблиця (див. с. 53) для випадків виконання програми 1 з

використанням команд, вказаних в п.4 завдання для самопідготовки.

2. Тимчасові діаграми виконання будь-якої довільно вибраної одно- і

трибайтної команди в програмі 1.

66

3. Тимчасова діаграма виконання мікро-ЕОМ команди MOV A, M в

програмі 2.

4.Видозмінена програма 2, записана в машинних кодах, що дозволяє спочатку записувати досліджуване число за адресою ОВОО.

5.Розроблені в процесі самопідготовки програми 3, 4 і 5, записані в машинних кодах; результати досліджень роботи програми за п.3, 4, 5 завдань.

Завдання для самоконтролю

1.Вкажіть, за скільки машинних тактів виконується кожна команда в програмах 1 і 2.

2.Вкажіть відмінності в способах адресації, що використовуються в мікро-ЕОМ, побудованій на основі МПК серії К 580.

3.Вкажіть всі можливі способи адресації, що використовуються в складанні програми за п. 7а завдання для самопідготовки.

4.При виконанні яких команд, наведених в п.4 завдання для самопідготовки, задіються розряди регістра стану МП?

5.Сформулюйте правила виконання МП команд, наведених в п.4

завдання для самопідготовки.

6. Зобразіть тимчасові діаграми процесу виконання мікро-ЕОМ наступних команд: LDA (А2,) (А1), СМА, STA (А2) (А1), MOV М, А, MOV А. М, INX М.

Бібліографічний список

1. Горбунов В.Л., Панфилов Д.И., Преснухий Д.Л. Микропроцессоры.

Основы построения микро-ЭВМ.– М.: Высшая школа, 1984.

2. Прангишвили И.В. Микропроцессоры и микро-ЭВМ.– М.: Энергия,

1979.

3. Соучек Б. Микропроцессоры и микро-ЭВМ: Пер.с анг.–М.: Советское радио, 1979.

67

ЛАБОРАТОРНА РОБОТА №6

ВВЕДЕННЯ-ВИВЕДЕННЯ, МАСКУВАННЯ ДАНИХ ТА ОРГАНІЗАЦІЯ УМОВНИХ ПЕРЕХОДІВ

Мета роботи: дослідження методів під'єднання та організації обміну інформацією з найпростішими пристроями введення-виведення. Вивчення програмних способів маскування даних і організації умовних переходів у мікро-ЕОМ.

Обладнання, прилади та інструменти: МП КР580ИК80.

Загальні відомості

До команд введення-виведення МП КР580ИК80 належать команди IN

(A1) і OUT (А1). Виконуючи команду IN (A1), мікро-ЕОМ прочитує число з вхідного пристрою з адресою (А1) і записує його в акумулятор. Виконуючи команду OUT (A1) (А1), МП записує число з акумулятора у вихідний пристрій з адресою (А1) (А1). Оскільки адреса пристрою вказується в одному байті, то за допомогою цих команд мікро-ЕОМ може обмінюватися інформацією не більш ніж з 256 зовнішніми пристроями.

Як найпростіші пристрої введення-виведення можуть використовуватися

8-розрядні регістри (наприклад, багаторежимний буферний регістр (МБР) К589ИР12). Обмін даними між мікро-ЕОМ і зовнішніми пристроями може викликатися як у певних місцях у програмі, так і за сигналами переривання. В останньому випадку підпрограма обміну даними із зовнішнім пристроєм викликатиметься за рахунок переходу мікро-ЕОМ у режим обслуговування переривання. Схеми під’єднання МБР К589ИР12 у разі використання його як пристрою введення-виведення та організації обміну інформацією як за сигналами, що формуються мікро-ЕОМ, так і за сигналами запитів переривання, показані на рис. 9, а-г. На рис. 9, а, б показані схеми під’єднання МБР у разі роботи його як пристрою введення-виведення і здійснення обміну інформацією з ним за сигналами, що формуються мікро-ЕОМ.

68

Рис. 9. Використання схеми багаторежимного буферного регістра

(МБР) К589ИР12 як пристрою введення-виведення за різних

способів обміну інформацією.

69

На рис. 9, в, г наведені схеми під'єднання МБР з мікро-ЕОМ для обміну інформацією за сигналами переривання. У цьому разі зовнішній пристрій записує дані у вхідний пристрій (рис. 9, в) за сигналом, що подається на вхід

STB багаторежимного буферного регістра. Цим же сигналом формується сигнал переривання на виході INT схеми, що подається на вхід переривання МП. Викликана підпрограма обслуговування переривання змушує мікро-ЕОМ звернутись до вхідного пристрою для отримання даних. Схема під’єднання МБР і мікро-ЕОМ для виведення даних у зовнішній пристрій наведена на рис. 9, г. У разі надходження сигналу запиту від зовнішнього пристрою (ВУ) на вхід STB багаторежимний буферний регістр виробляє сигнал низького рівня на виході INT, який може подаватися на вхід переривання МП. Підпрограма обслуговування цього переривання записує дані в МБР за сигналами вибірки.

Цими ж сигналами скидається внутрішній тригер запиту переривання МБР, що призводить до появи сигналу одиничного рівня на виході INT, який повідомляє зовнішньому пристрою про прийом даних від мікро-ЕОМ в МБР.

Як пристрої введення-виведення можуть застосовуватися і складніші схеми, пристрій введення-виведення інформації, що наприклад програмується в паралельному коді (КР580ИК55). Схема під’єднання до мікро-ЕОМ вхідного пристрою, виконаного на базі МБР К589ИР12 (D1) з перемикачами, показана на рис. 10, а. У разі замкненого перемикача на вхід регістра подається "0", а у разі розімкненого - "1". Перемикачі використовуються для імітації передачі даних від зовнішнього пристрою. До регістра можна під’єднати світлодіоди

(HL1 - HL8) для індикації чисел, записаних у ньому. На рис. 10, б наведена схема під’єднання вихідного пристрою мікро-ЕОМ, побудована на базі схеми К589ИР12 (D1). Світлодіоди HL1 - HL8 вказують число, записане у вихідному пристрої.

Найпростіша програма (програма 6) перезапису числа з вхідного пристрою (з адресою 20) у вихідний пристрій (з адресою 30) має наступний вигляд:

70