- •Цифровые и микропроцессорные устройства
- •Часть 4
- •2014 Г., протокол № ____
- •Введение
- •Составление линейных и циклических программ
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
- •Содержание отчета
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •2 Индивидуальное задание №1
- •3 Индивидуальное задание №2
- •4 Индивидуальное задание №3
- •Логические команды и команды сдвига Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Команды сравнения
- •Команды сдвига
- •Индивидуальное задание №1
- •Индивидуальное задание №2
- •Индивидуальное задание №3
- •Команды управления Цель работы
- •Подготовка и выполнение работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Теоретическое обоснование
- •2 Индивидуальное задание №1
- •3 Индивидуальное задание №2
Содержание отчета
Наименование и цель лабораторной работы.
Условия в виде текста и таблиц, алгоритмы и листинги программ к индивидуальным заданиям №1…3 в виде таблиц.
Результаты выполнения индивидуальных заданий №1…3 в виде таблиц и выводы о содержимом регистров, ячеек памяти и значениях признаков.
Ручной расчет ожидаемого результата.
Ответить на контрольные вопросы.
Контрольные вопросы
Поясните разницу между командами ADD E и ADC E.
Поясните разницу между командами ADI 50 h и ACI 50 h.
Укажите, за сколько циклов и тактов выполняется команда SBB M и поясните, какие действия выполняет МП в каждом цикле?
Укажите, за сколько циклов и тактов выполняется команда ACI 0F h и поясните, какие действия выполняет МП в каждом цикле?
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащиеся должны знать:
систему команд МП Intel 8085A (K1821BM85A);
особенности арифметических команд;
Должны уметь:
составлять программы для простых восьмиразрядных МП на языке Ассемблер, содержащие арифметические команды;
выполнять ввод, отладку и выполнение программ на симуляторе МП Sim8085 Microprocessor Simulator.
Методические указания
1 Теоретическое обоснование
В микропроцессоре Intel 8085A предусмотрены следующие команды двоичной арифметики:
сложение восьмиразрядных чисел;
сложение 16-разрядных чисел;
вычитание восьмиразрядных чисел;
инкремент;
декремент.
Все арифметические операции с восьмиразрядными операндами предполагают, что один из операндов размещается в регистре-аккумуляторе, а другой – либо в регистре, либо в памяти (при этом адрес ячейки задается в регистровой паре HL), либо является непосредственным числом, заданным в самой команде. Вычитание производится всегда из регистра-аккумулятора. Результат арифметической операции пересылается в регистр-аккумулятор. Кроме того по результату арифметических операций сложения и вычитания устанавливаются биты признаков: S – знака, Z – нуля, A – вспомогательного переноса, P – четности, С – переноса.
Команды сложения 16-разрядных чисел, так называемые команды двойного сложения, предусматривают, что один из операндов находится в регистровой паре HL, а второй – либо в DE, либо в BC. Результат записывается в HL. Кроме того по результату операции устанавливается либо сбрасывается бит переноса – C.
Команды инкремента увеличивают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Команда инкремент регистра и памяти изменяет биты признаков: Z, S, A, P, C. Инкремент регистровой пары не затрагивает биты признаков.
Команды декремента уменьшают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Затрагиваемые биты признаков аналогичны команде инкремента.
2 Индивидуальное задание №1
Составить алгоритм, написать на языке Ассемблер для МП Intel 8085A с адреса 2000 h и выполнить линейную программу, реализующую последовательность арифметических операций в соответствии с заданным вариантом (таблица 14.1):
M2 = (M1) + (E) – (A) + 1
Таблица 14.1 – Исходные данные к индивидуальному заданию №1
Номер варианта |
Исходные данные |
Номер варианта |
Исходные данные | ||||||
(M1) |
(E) |
(A) |
(M1) |
(E) |
(A) | ||||
1 |
1A |
B5 |
08 |
8 |
A1 |
4C |
17 | ||
2 |
2A |
B4 |
1A |
9 |
B2 |
5E |
23 | ||
3 |
3B |
E1 |
2B |
10 |
C4 |
2F |
3E | ||
4 |
0A |
F7 |
4C |
11 |
BF |
4D |
7D | ||
5 |
3C |
B4 |
53 |
12 |
BE |
3A |
5B | ||
6 |
4D |
FE |
61 |
13 |
DC |
4B |
6A | ||
7 |
3A |
D5 |
7A |
14 |
A7 |
8F |
4B | ||
Примечания 1 «M1» - ячейка памяти по адресу 2022 h. 2 «M2» - ячейка памяти по адресу 2024 h. |
До выполнения программы вычислить и записать в отчет ожидаемый результат (см. пример в методических указаниях к лабораторной работе №12).
При загрузке исходных данных в ячейку памяти М1 (в команде указывать М) по адресу 2022 h рекомендуется использовать косвенную адресацию, а при загрузке результата в ячейку памяти М2 по адресу 2024 h – прямую адресацию. Программу записать в таблицу, аналогичную по форме таблице 12.4.
Результаты выполнения программы записать в таблицу 14.2. Сравнить полученный результат с ожидаемым и сделать выводы о содержимом регистров, адресных ячеек памяти и значениях признаков.
Таблица 14.2 – Результаты выполнения индивидуального задания №1
Номер варианта |
Результат (Р = 16) |
Содержимое регистров (P = 16) |
Значения признаков | |||||||||||||
(М2) |
(A) |
(B) |
(C) |
(D) |
(E) |
(H) |
(L) |
(SP) |
(PC) |
S |
Z |
A |
P |
C | ||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|