АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Теоретичні відомості

Прочитайте:
  1. Відсутність свідомості і спогадів (амнезія).
  2. ІСТОРИЧНІ ВІДОМОСТІ ПРО РОЗВИТОК АКУШЕРСТВА В УКРАЇНІ
  3. Короткі теоретичні відомості
  4. Лекція 2. Сучасні відомості про будову організму; методи дослідження в анатомії
  5. Розділ І.Теоретичні аспекти проблематики синдрому емоційного вигорання у вчителя
  6. Стан свідомості
  7. Тема: Порушення свідомості. Типи і синдроми порушеної свідомості.
  8. Теоретичні матеріали в допомогу складання програм
  9. Теоретичні основи до органів інтегруючих систем (нервової системи, органів чуття, ендокринних залоз, шкірного покриву)

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

ВИВЧЕННЯ СТРУКТУРИ, АЛГОРИТМУ РОБОТИ І ПРОГРАМУВАННЯ МІКРОПРОЦЕСОРА INTEL

КР580ВМ80)

 

Мета роботи: вивчити структуру, алгоритм роботи, методи програмування мікропроцесорів

 

Теоретичні відомості

Вивчення МП 8080 (КР580ВМ80) припускає ознайомлення студентів з генератором тактових сигналів 8084 (КР580ГФ24) та системним контролером 8228 (КР580ВК28).

Мікропроцесор Intel 8080 (КР580ВМ8) має фіксований набір команд. Час виконання команд визначається часом отримання, декодування і виконання команди. Найбільш короткий часовий інтервал називається машинним тактом і рівний періоду синхросигналів, що подаються на ВІС мікропроцесора. Мінімальна тривалість одного такту рівна 400 не для тактової частоти F=2,5 МГц. Час, необхідний для витягу 1 байта інформації із пам'яті чи зовнішнього пристрою або виконання команди, визначаємої одним машинним словом, називається машинним циклом. Машинний цикл може включати в себе 3-5 машинних тактів. В залежності від виду команди час виконання команди може складатися з 1-5 машинних циклів. Для МП КР580ВМ80 є 10 різних типів машинних циклів:

1) добування коду команди (цикл М1);

2) читання даних із пам'яті;

3) запис даних в пам'ять;

4) добування даних із стека;

5) запис даних в стек;

6) введення даних із зовнішнього пристрою;

7) запис даних у зовнішній пристрій;

8) цикл обслуговування переривання;

9) зупинка;

10) обслуговування переривання під час зупинки.

 

 

Першим машинним циклом при добуванні будь-якої команди є цикл М1. На кожному машинному циклі МП перевіряє стан сигналу READY на своєму вході. Нульвий сигнал НІ цьому иході призупиняє роботу МП.

Внутрішні регістри (А - акумулятор і регістри читального призначення (РЗП) - B,C,D,E,H,L) МП 8-рочрядпі, причому регістри можуть утворювати пари, реалізуючи т.Ч. 16-рочрядні % регістрові пари - B,D,H. Лічильник команд - PC, вказівник стека SP - 16р. регістри. Регістр прапорців F містить наступні ознаки: прапорець переносу С (встановлюється в 1 при виникненні переносу із старшого розряду акумулятора), прапорець нульового результата Z, прапорець знака S (встановлюється в 1, якщо старший розряд результата в акумуляторі рівний 1), прапорець допоміжного переносу АС (встановлюється в 1 при переносі з молодшої тетради акумулятора в старшу), прапорець парності Р (встановлюється в 1 при парному числі одиниць в байті результату, розміщеному в акумуляторі).

До складу МП входять перераховані регістри, АЛП, регістр ознак, схема десяткової корекції, допоміжний аккумулятор, дешифратор команд і формувач машинних циклів, схема управління і синхронізації, регістр адреси із схемами Інкрементування і декрементування, буфер адреси і буфер даних.

Обмін з зовнішніми пристроями та.пам'яттю МП здійснює через 8-розрядну шину даних. МП КР580ВМ80 адресується до пам'яті і зовнішніх пристроїв через 16-розрядну шину адреси. Максимальне число комірок пам'яті, до яких він може звертатися, рівне 64К.

Команди МП реалізовані так, що вони маніпулюють з одно- і двохбайтними двійковими словами (числами). В систему команд МП не включені команди обробки двійкових чисел із знаками і чисел з плаваючою комою, а також команди десяткової арифметики.

Для реалізації команд застосовуються одно-, двох- і трьохбайтні формати. В першому байті команди чи його частині розміщується код операції, а в інших частинах і байтах - операнди чи вказівники операндів, утворюючи таким чином нуль, одно- і двохадресні команди. Загальне число допустимих кодів команд рівне 244. Деякі групи кодів команд, що виконують однотипні операції над різними даними, мають однакові мнемоніки асемблера. Загальне число мнемонік рівне 78. Для адресації операндів використовуються

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

В МП КР580ВМ80 реалізовані наступні класи команд: пересилок (число кодів рівне 97), арифметичні (74), логічні (32), змінюючі порядок обчислень (35), керуючі (6).

До складу першого класу входять однонаправлені пересилки, циклічні пересилки, команди вводу-виводу.

До складу другого класу входять команди додавання, додавання з урахуванням переносу, обрахування, обрахування з урахуванням зайому, інкрементування, декрементування, десяткової корекції, порівняння.

До складу третього класу входять команди логічного І, логічного АБО, виключаючого АБО, інвертування вмісту акумулятора, зсувів.

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

До складу п'ятого класу входять команди ТС, CMC, HLT, NOP, E1, D1

Програма записується в мікроЕОМ в послідовних комірках пам'яті,

Розглянемо як приклад програму, що добуває число із адреси пам'яті 0800h, інвертує його і записує результат в адрес пам'яті 0801h.

В мнемокодах асемблера програма буде мати вигляд, представлений в Табл. 1.

.

Таблиця 1. Приклад програми в мнемокодах асемблера

Асембле Р Коментар
LDA 0800 Загрузити аккумулятор вмістом комірки пам'яті по адресу 0800
СМА Інвертувати число
STA 0801 Записати результат по адресу 0801
RST1 Перервати виконання програми

 

 

При запису програми всі числа представляються в шістнадцятковій системі числення (h - hex.).

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

 

Таблиця 2. Приклад програми в машинних кодах.

Адрес Коди Коментар
  ЗА код команди LDA
    молодший байт адреса
    старший байт адреса
  2F код команди СМА
    код команди STA
    молодший байтадреса
    старший байт адреса
  CF код команди RST 1

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

 

Таблиця 3. Приклад програми в компактній формі.

Адрес Коди Асемблер Коментар
  ЗА1008 LDA, 0800 одержати число
  2F СМА інвертувати число
    STA, 0801 записати по адресу 080lh
  CF RST1 перервати виконання програми

 


Дата добавления: 2015-05-19 | Просмотры: 621 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.004 сек.)