
- •Міністерство освіти і науки україни
- •2. Архітектура мікро-еом
- •Лабораторна робота №2
- •Теоретична частина двійкові числа
- •Шістнадцяткові числа
- •Лабораторна робота №3
- •Теоретична частина вісімкові числа
- •Лабораторна робота №4
- •Теоретична частина двйково-десяткові числа
- •Двійкова арифметика
- •Додатковий код
- •Лабораторна робота №5
- •Теоретична частина
- •Лабораторна робота №6
- •Теоретична частина угрупування біт
- •Буквено-цифровий код
- •Лабораторна робота №7
- •Теоретична частина
- •Лабораторна робота №8
- •Лабораторна робота №9
- •Теоретична частина
- •Лабораторна робота №10 Тема: шифратори, дешифратори й семисегментні індикатори.
- •Теоретична частина
- •Лабораторна робота №11
- •Теоретична частина
- •Лабораторна робота №12
- •Теоретична частина
- •Напівпровідникова пам'ять
- •Лабораторна робота №13
- •Теоретична частина
- •Лабораторна робота №14
- •Теоретична частина основи математичного забезпечення
- •Чого не "розуміє" мікро-еом
- •Мікро-еом як логічний пристрій
- •Мови програмування
- •Приклади програмування
- •Непряма адресація
- •Хід роботи завдання 1. Виконай вправи.
- •Завдання №2. Вивчити.
- •Завдання №3. Складіть програми мовою асемблера й машинною мовою мп кр580 і перевірте в мікролабораторії. Програми розміщайте у адреси 8000н.
- •Питання для самопідготовки
- •Лабораторна робота №15
- •Хід роботи.
- •Іі. Розробити програму.
- •Лабораторна робота №16
- •Теоретична частина
- •Хід роботи
- •Література
- •Питання для самоперевірки
- •Лабораторна робота №17.
- •Теоретична частина основи математичного забезпечення
- •Чого не "розуміє" мікро-еом
- •Мікро-еом як логічний пристрій
- •Процес розробки програмного забезпечення
- •Програма затримки
- •Іншим фактором, що повинен бути розглянутий при читанні із клавіатури, є виключення "дзвону".
- •Індикація
- •Хід роботи
- •Питання для самопідготовки:
- •Лабораторна робота №18
- •Теоретична частина програма монітора "мікролаб"
- •Програма рахунку
- •Організація програм
- •Переривання
- •Підпрограми й стек
- •Програма затримки
- •Хід роботи.
- •2. Розробити:
Непряма адресація
У додатку в командах MOV записаний регістр М. Однак це не реальний регістр. Так позначається комірка пам'яті, адреса якої запам'ятовується в регістрах H і L. Така адресація називається непрямою, тобто команда вказує, де запам'ятовується адреса, а не дійсна адреса (у цьому випадку регістри H,L). Наприклад. Якщо регістр Н містить 12, а регістр L - 37 команда MOV A, M буде завантажувати в акумулятор зміст ячейки пам’яті з адресою 1237. Результат буде той же, як при команді LDA 1237. Це являє приклад того, як одна операція може бути виконана 2-ма способами. MOV A, M є однобайтною командою, але вимагає попереднього навантаження H, l. З іншого боку, LDA 1237 є 3-байтной командою. Однак її часто використовують, тому що вона не вимагає запам'ятовування адреси в регістрах H, L. Непряма адресація особливо зручна при роботі з таблицею.
Проведемо експеримент для показу використання регістрів загального призначення при роботі команди MOV.
Ввести програму, яка наведена в таблиці 4./програма спочатку заносить в регістр В число 37, потім переносить його зміст в регістр Н, потім нарощує регістр Н/.
Таблиця 4.
Адреси |
Дані |
Команди |
Коментарі |
8000 8001 8002 8003 |
06 37 60 24 |
MVI B,37
MOV H,B INR H |
завантаження числа 37 у регістр В
Завантаження регістра Н змістом регістра В Збільшення змісту регістру Н |
2. Упевніться, що програма правильно записана у пам’яті.
3. Встановити тумблер АВТ-ШАГ у положення ШАГ.
4. Натисніть послідовно кнопки 8,0,0,0, УСТ.АД.
5. Натисніть кнопку ПУСК. При цьому виконується команда MVI B,37 на індикаторі висвітлюється число 8002 - це адреса наступної команди, записана в програмному лічильнику. На індикаторі данних у двох правих розрядах висвітлюється зміст флагового регістру, а у двох лівих - зміст акумулятора.
6. Натисніть послідовно кнопки 8,3,Е,9, УСТ.АД. На індикаторі адрес установиться адреса регістра В. На індикаторі даних у двох правих розрядах висвітлюється число 37 - зміст регістра В після виконання команди MVI B,37.
Таблиця 5.
Адреси |
Дані |
Команди |
Коментарі |
8000
8001 8002 8003 8004 8005 8006 8007 8008 8009 800А 800У 800С
800D 800E 800F |
21
F7 83 36 00 CD C0 01 21 F7 83 D7 34
C3 05 80 |
LXI H, 83F7
MVI M, 0
CALL SEG
LXI H, 83F7
RST2 INR M
JMP 8005 |
завантаження в регістр (L, H) адреса комірки висвітлюваного індикатору
очищення комірки висвітлюваного індикатору
виклик підпрограми висвітлюваного символу
відновлення змісту регістра (L,H)
крапка переривання збільшення змісту комірки висвітлюваного індикатора перехід до програми висвітлюваного символу |
Програма обробки переривання
8015
8016 8017 8018 8019 801А 801У 801С 801D 801E 801F 83D1 83D2 83D3 |
CD
16 02 FЕ 10 СА ОС 80 C3 05 80 З3 15 80 |
CALL KEY IN
СРІ 10
JZ 800C
JMP 8005
JMP 8015 |
виклик підпрограми опитування клавіатури
перевірка: чи натиснута кнопка ПУСК
перехід до збільшення змісту комірки відновлення змісту регістру (L,H)
перехід до програми висвітлення колишнього символу
перехід до підпрограми обробки переривання |
Натисніть кнопку ВОЗВР. На індикаторі адрес висвітлюється адреса 8003. При цьому виконається команда MOV H,B.
Установити на індикаторі адрес число 83Е5 - адреса регістра Н. На індикаторі даних у двох правих розрядах висвітлюється число 37 - зміст регістра Н після виконання команди MOV H,B. Установивши на індикаторі адрес адреса регістра В, переконаєтеся, що цей регістр усе ще містить число 37.
Натисніть кнопку ВОЗВР. На індикаторі адрес висвітлюється адреса 8004-адреса наступної команди. При цьому виконається команда INR H. Установивши на індикаторі адрес адреса регістра Н, переконаєтеся, що його вміст збільшився на 1, тобто стало дорівнює 38.