- •Міністерство освіти і науки україни
- •2. Архітектура мікро-еом
- •Лабораторна робота №2
- •Теоретична частина двійкові числа
- •Шістнадцяткові числа
- •Лабораторна робота №3
- •Теоретична частина вісімкові числа
- •Лабораторна робота №4
- •Теоретична частина двйково-десяткові числа
- •Двійкова арифметика
- •Додатковий код
- •Лабораторна робота №5
- •Теоретична частина
- •Лабораторна робота №6
- •Теоретична частина угрупування біт
- •Буквено-цифровий код
- •Лабораторна робота №7
- •Теоретична частина
- •Лабораторна робота №8
- •Лабораторна робота №9
- •Теоретична частина
- •Лабораторна робота №10 Тема: шифратори, дешифратори й семисегментні індикатори.
- •Теоретична частина
- •Лабораторна робота №11
- •Теоретична частина
- •Лабораторна робота №12
- •Теоретична частина
- •Напівпровідникова пам'ять
- •Лабораторна робота №13
- •Теоретична частина
- •Лабораторна робота №14
- •Теоретична частина основи математичного забезпечення
- •Чого не "розуміє" мікро-еом
- •Мікро-еом як логічний пристрій
- •Мови програмування
- •Приклади програмування
- •Непряма адресація
- •Хід роботи завдання 1. Виконай вправи.
- •Завдання №2. Вивчити.
- •Завдання №3. Складіть програми мовою асемблера й машинною мовою мп кр580 і перевірте в мікролабораторії. Програми розміщайте у адреси 8000н.
- •Питання для самопідготовки
- •Лабораторна робота №15
- •Хід роботи.
- •Іі. Розробити програму.
- •Лабораторна робота №16
- •Теоретична частина
- •Хід роботи
- •Література
- •Питання для самоперевірки
- •Лабораторна робота №17.
- •Теоретична частина основи математичного забезпечення
- •Чого не "розуміє" мікро-еом
- •Мікро-еом як логічний пристрій
- •Процес розробки програмного забезпечення
- •Програма затримки
- •Іншим фактором, що повинен бути розглянутий при читанні із клавіатури, є виключення "дзвону".
- •Індикація
- •Хід роботи
- •Питання для самопідготовки:
- •Лабораторна робота №18
- •Теоретична частина програма монітора "мікролаб"
- •Програма рахунку
- •Організація програм
- •Переривання
- •Підпрограми й стек
- •Програма затримки
- •Хід роботи.
- •2. Розробити:
Програма рахунку
На мал.2, показана структурна схема програми, що "змушує" комірку пам'яті вважати у двійковому коді від 0 до 255 і потім повторювати цей рахунок.
Спочатку один регістр /у цьому випадку акумулятор/ установлюється в 0. Потім уміст акумулятора листується в комірку пам'яті з адресою 8020 і збільшується на 1. Далі запис у комірку пам'яті повторюється знову. У табл.2, приводиться лістинг програми.
Рис.2. Структурна схема програми рахунку.
Програма починається з адреси 8004 замість 8000, так що потім можна додати кілька команд на початку програми /в "Мікролаб" 8000 - перший осередок ОЗУ, отже, програма користувача не може починатися раніше цієї адреси/ . Перша команда - МVI А, 0.
Лістинг програми рахунку таблиця2.
Адреса |
Зміст |
Мітки |
Команди |
Коментарі |
8004 |
ЗЕ |
|
МVI А, 0 |
Установка А в "0" |
8005 |
00 |
|
|
|
8006 |
32 |
LООР: |
SТА 8020 |
А- комірка пам'яті
|
8007 |
20 |
|
|
|
8008 |
80 |
|
|
|
8009 |
00 |
|
N0P |
|
800А |
3С |
|
INK А |
Приростити А |
800В |
С3 |
|
JMP LOOP |
Перехід до LООР |
800С |
06 |
|
|
|
800D |
80 |
|
|
|
Вона завантажує в акумулятор нулі. Наступна команда - SТА 8020 пересилає вміст акумулятора в комірку пам'яті 8020. Код 32 в осередку з адресою 8006 указує, що це команда SТА. Коли процесор зчитує цей код, він "розуміє", що наступні два байти /адреси 8007 і 8008/ містять адресу, по якому повинне бути записане вміст акумулятора /у цьому випадку 8020/. Варто пам'ятати, що байти адреси записуються у зворотному порядку. Ця команда не змінює вмісту акумулятора, вона просто копіює дані в комірку пам'яті. За командою SТА йде команда NОР, щоб зарезервувати місце для наступного використання. Наступна команда - INR А, вона збільшує вміст акумулятора. Коли досягається максимальна величина рахунку /у двійковому коді -1111 1111, у шістнадцятковом - FF або 255 - у десятковому/, уміст акумулятора скидається й подальший рахунок іде з нуля. Це звичайний режим роботи двійкового лічильника.
Остання команда - перехід. Ця команда повертає програму до команди SТА, адреса 8006.
Проведемо експеримент по виконанню описаної програми в кроковому режимі.
1. Уведіть на згадку "Мікролаб" програму, наведену в табл.2. Перевірте правильність її запису на згадку.
2. Перемкнете тумблер режиму в положення КРОК.
3. Установите початкову адресу програми /8004/. На двох крайніх
правих індикаторах з'явиться команда МVI А /код ЗЕ/.
4. Натисніть кнопку ПУСК. Програма початку виконуватися в кроковому режимі. Перша команда виконана. Тепер на двох крайніх правих індикаторах висвітлений уміст регістра ознак, а вміст акумулятора з'явилося на третьому й четвертому індикаторах, уважаючи праворуч. На цих індикаторах видні нулі, тому що перша команда виконана й в акумулятор занесені нулі.
5. Натисніть кнопку ПУСК. Виконано команду SТА 8020. Уміст акумулятора не змінилося, у комірці пам'яті 8020 повинні з'явитися нулі. Щоб перевірити вміст цього осередку, натисніть кнопки 8, 0, 2, ПРО, а також кнопку УСТ.АД. На двох крайніх правих індикаторах - нулі. Це вміст осередку 8020. Набираючи будь-яку іншу адресу, можна переглянути будь-яку комірку пам'яті після кожного кроку виконання програми. Набираючи відповідні адреси, можна також переглянути й уміст регістрів МП /див. табл.1/.
6. Натисніть кнопку ВОЗВР. Тим самим ви повернулися до виконання вашої програми й виконали наступну команду /NОР/. На індикаторах знову з'явився вміст регістра ознак і акумулятора.
7. Натисніть кнопку ПУСК. Виконано команду INR А. На індикаторі видна одиниця, що свідчить про збільшення вмісту акумулятора.
8. Перевірте вміст осередку 8020. У ній перебувають нулі, тому що перепис одиниці з акумулятора в цей осередок ще не відбулася.
9. Натиснувши кнопку ВОЗВР., поверніться до виконання вашої програми.
10. Натисніть кнопку ПУСК, виконається наступна команда /SТА 8020/, тобто вміст акумулятора переписалося в осередок 8020.
11. Перевірте вміст осередку 8020. Тепер там перебуває одиниця.
12. Натиснувши кнопку ВОЗВР. і далі натискаючи кнопку ПУСК, виконаєте програму по кроках. Простежите, як міняється вміст акумулятора.