Среднее Заочное отделение / 4 семестр / Цифровые и микропроцессорные устройства / Лаб. работы № 6, 7 для учащихся ФЗиДО, 5 семестр (ЦиМПУ)
.pdfУчреждение образования
«Белорусская государственная академия связи»
ЦИФРОВЫЕ И МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА
Лабораторный практикум для учащихся заочной формы обучения специальностей
2-45 01 33 – Сети телекоммуникаций 2-45 01 32 – Системы радиосвязи, радиовещания и телевидения
5 семестр
Составитель: |
В.И. Богородов |
Утвержден на заседании кафедры ИКТ Протокол № 1 от 03.11.2015 г.
Зав. кафедрой Новиков В.И.
Минск
2015
Оглавление |
|
ЛАБОРАТОРНАЯ РАБОТА № 6 |
|
ОБУЧЕНИЕ РАБОТЕ НА СИМУЛЯТОРЕ МИКРОПРОЦЕССОРА Sim8085 Microprocessor |
|
Simulator .............................................................................................................................................. |
3 |
ЛАБОРАТОРНАЯ РАБОТА № 7 |
|
АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ КОМАНДЫ .................................................................. |
9 |
ЛАБОРАТОРНАЯ РАБОТА № 6
ОБУЧЕНИЕ РАБОТЕ НА СИМУЛЯТОРЕ МИКРОПРОЦЕССОРА Sim8085 Microprocessor Simulator
Цель работы
1Изучить принципы работы симулятора МП Sim8085 Microprocessor Simulator.
2Приобрести практические навыки ввода, отладки и выполнения линейных и циклических программ на языке Ассемблер на симуляторе Sim8085 Microprocessor Simulator.
Подготовка к выполнению работы
1 Повторить по [1] структурную схему, форматы данных и команд, способы адресации, принцип работы и систему команд МП Intel 8085A (К1821ВМ85А).
2Подготовить заготовку отчета (см. содержание отчета).
3Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
1 Поясните назначение МП БИС Intel 8085A (далее по тексту МП БИС). Кратко опишите назначение узлов, входящих в МП БИС, а также управляющих сигналов.
2Поясните процессы в МП БИС после начального запуска (сброса).
3Поясните процессы в МП БИС при отсутствии сигналов на входе Ready.
Приборы, оборудование и документация
1Персональный компьютер (ПК).
2Программный пакет «Sim8085 Microprocessor Simulator».
3Методические указания к лабораторной работе.
4Система команд МП Intel 8085A.
Порядок выполнения работы
1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.
2 Произвести внешний осмотр ПК и убедиться визуально в отсутствии каких-либо повреждений и дефектов.
3 Включить ПК.
4 Изучить принцип работы симулятора Sim8085. Для этого:
4.1 После запуска программы Sim8085 выбрать пункт меню «File New» и на экране появится рабочая область или окно программы (рисунок 13.1).
Рисунок 13.1 – Окно программы симулятора Sim8085 Microprocessor Simulator
Данное окно предназначено для ввода программ. Одной из особенностей симулятора является то, что все цифровые данные в программе прописываются в десятичной системе счисления, а обрабатываются в шестнадцатеричной.
Для упрощения перевода из одной системы счисления в другую в симулятор вшит конвертор (рисунок 13.2), который можно вызвать пунктом меню «Tools Base Converter».
Для преобразования числа из шестнадцатеричной системы счисления в десятичную необходимо просто вписать число, которое необходимо перевести, в поле «HEX» и десятичное число автоматически появится в поле «DEC». Например из рисунка 13.2 видно, что для ввода шестнадцатеричного числа FE(16) нам необходимо перевести его в десятичное 254(10) и записать в окно программы (рисунок 13.3).
Рисунок 13.2 – Окно конвертора
Также особенностями симулятора является то, что команды вводятся мнемоническими обозначениями, а при загрузке регистровых пар в мнемонике команды следует указывать оба регистра, например LXI HL, 200Ch. Кроме того, все символы программы следует вводить на английском языке.
На рисунке 13.3 показан ввод команд непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом 200С(16) = 8204(10).
Рисунок 13.3 – Ввод команды непосредственной загрузки регистра D числом FE h и регистровой пары HL числом
200C h
4.2 Для запуска и отладки пользовательских программ в симуляторе есть отладчик (рисунок 13.4), который вызывается пунктом меню «Project Debug Mode».
Рисунок 13.4 – Окно отладчика симулятора Sim8085 Microprocessor Simulator
В данном окне можно проследить за отладкой и выполнением программы. При наличии ошибок отладчик выдает сообщения в каких строках программы допущены ошибки. Например, на рисунке 13.5 показан пример сообщения отладчика, если данные в командах MVI D, FE h и LXI HL, 200C h не переведены в десятичную систему счисления.
Рисунок 13.5 – Пример работы отладчика симулятора Sim8085 Microprocessor Simulator при наличии ошибок при вводе программы
Рассмотрим работу отладчика на примере непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом
200C h = 8204(10) (рисунок 13.6).
Вокне отладчика мы видим, что по адресу 2000 h теперь записана команда непосредственной загрузки
регистра D числом FE(16) = 254(10), а по адресу 2002 h – команда загрузки регистровой пары HL числом 200С(16) = 8204(16). Заметим, что в окне отладчика данные представлены уже в шестнадцатеричной форме, в отличие от окна ввода программы.
Встандартных настройках программы начальным адресом программы является 2000 h, но в настройках
отладчика (Options Debugger Options) его можно изменить (рисунок 13.7).
Рисунок 13.6 – Пример работы отладчика симулятора Sim8085 Microprocessor Simulator при отсутствии ошибок при вводе программы
Рисунок 13.7 – Окно настроек отладчика симулятора Sim8085 Microprocessor Simulator
4.3 Рассмотрим работу симулятора на примере тренировочной программы, которая реализует подсчет количества единиц в байте (таблица 13.1).
Таблица 13.1 – Тренировочная программа подсчета количества единиц в байте
Адрес |
Метка |
Команда |
Операнд |
Комментарий |
|
|
|
|
|
|
|
2000 |
|
MVI |
D, FE h |
; Загр. исходного |
|
|
; числа FE h в рег. D |
||||
|
|
|
|
||
2002 |
|
MVI |
C, 08 h |
; Загр. в рег. C количества |
|
|
; разрядов в байте |
||||
|
|
|
|
||
2004 |
|
MOV |
A, D |
; A (D) для сдвига |
|
|
|
||||
|
|
|
|
|
|
2005 |
|
MVI |
B, 00 h |
; Обнуление рег. B, |
|
|
; счетчика единиц |
||||
|
|
|
|
||
2007 |
M2: |
RAR |
|
; Сдвиг вправо, значение |
|
|
; мл. бита в бит переноса |
||||
|
|
|
|
||
|
|
|
|
|
|
2008 |
|
JNC |
M1 |
; Если (Tc) = 0, обойти |
|
|
; инкремент счетчика единиц |
||||
|
|
|
|
||
200B |
|
INR |
B |
; Инкремент счетчика |
|
|
; единиц |
||||
|
|
|
|
||
|
|
|
|
|
|
200C |
M1: |
DCR |
C |
; С (С) – 1, следующий |
|
; разряд байта |
|||||
|
|
|
|
||
200D |
|
JNZ |
M2 |
; Переход на проверку |
|
|
; след. разряда байта |
||||
|
|
|
|
||
2010 |
|
HLT |
|
; Останов |
Вводим программу. Результаты ввода отражены на рисунке 13.8. Как видно, все числа предварительно переведены в десятичную систему счисления. В качестве исходного в регистр D загружаем число FE(16) = 254(10). Выполняем отладку программы (Project Debug Mode). При наличии ошибок для выхода из режима отладчика используем пункт меню «Project Terminate». При отсутствии ошибок выполняем программу. Для запуска программы используем пункт меню «Project Run» (рисунок 13.9).
Рисунок 13.8 – Окно ввода симулятора с программой, реализующей подсчет количества единиц в байте
Рисунок 13.9 – Окно отладчика после выполнения тренировочной программы, реализующей подсчет количества единиц в байте
По окончании выполнения тренировочной программы симулятор выводит на экран ПК окно с результатами:
-программа выполнена до команды HLT;
-конечный результат подсчета количества единиц в байте отражен в регистре B (число FE(16) = 1111 1110(2) содержит семь единиц);
-кроме того, в окне отладчика отображаются значения всех регистров МП, указателя стека SP, программного счетчика PC, а также всех признаков результата (знака S, нулевого результата Z, вспомогательного переноса А, четности P, переноса С).
4.4 После проверки преподавателем результатов выполнения тренировочной программы свернуть окно отладчика симулятора.
5 Индивидуальное задание № 13.1. Выполнить линейную программу, составленную в лабораторной работе № 12, согласно заданному варианту индивидуального задания № 12.1. Для этого выполнить ввод, отладку и запуск программы аналогично указаниям пунктов 4.1…4.3 данных методических указаний.
Результаты выполнения программы записать в таблицу 13.2 и сделать подробные выводы о состоянии всех регистров и значениях всех признаков.
Таблица 13.2 – Результаты выполнения индивидуального задания № 13.1
Номер |
Результат |
|
|
|
Содержимое регистров |
|
|
|
|
|
Значения |
|
|
|||||||
(Р = 16) |
|
|
|
|
(Р = 16) |
|
|
|
|
|
|
|
признаков |
|
|
|||||
варианта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
(M1) |
(M2) |
(A) |
(B) |
(C) |
(D) |
(E) |
|
(H) |
|
(L) |
(SP) |
(PC) |
S |
Z |
|
A |
|
P |
C |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После проверки преподавателем результатов выполнения индивидуального задания свернуть окно отладчика симулятора, закрыть программу Sim8085 и завершить работу ПК.
6Ответить на контрольные вопросы.
7Оформить отчет и сдать зачет.
Содержание отчета
Отчет должен содержать:
1 Наименование и цель лабораторной работы.
2 Алгоритм и листинг тренировочной программы в виде таблицы (таблица 13.1).
3 Результаты выполнения индивидуального задания № 13.1 (таблица 13.2) и выводы о состоянии регистров, ячеек памяти и значениях признаков.
4 Ответы на контрольные вопросы.
Контрольные вопросы
1 Поясните, как организуется циклический вычислительный процесс в тренировочной программе (таблица 13.1)?
2 Поясните, что содержит программный счетчик РС на рисунке 13.9?
3 Почему в результате выполнения тренировочной программы (рисунок 13.9) признак Z = 1?
Требования к знаниям и умениям учащихся
В результате выполнения лабораторной работы учащийся должен знать:
-систему команд МП Intel 8085A (К1821ВМ85А);
-приемы составления линейных и циклических программ. Должен уметь:
-составлять линейные и циклические программы для простых восьмиразрядных МП на языке Ассемблер;
-выполнять ввод, отладку и выполнение программ на симуляторе МП Sim8085 Microprocessor
Simulator.
ЛАБОРАТОРНАЯ РАБОТА № 7
АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ КОМАНДЫ
Цель работы
1 Изучить приемы составления программ на языке Ассемблер для МП Intel 8085A (К1821BM8085А), содержащих арифметические и логические команды.
2 Приобрести практические навыки ввода, отладки и выполнения программ на языке Ассемблер, содержащих арифметические и логические команды, на симуляторе МП Sim8085 Microprocessor Simulator.
Подготовка к выполнению работы
1 Повторить по [1] арифметические команды в МП Intel 8085А.
2 Изучить методические указания к данной лабораторной работе и составить программы для индивидуальных заданий № 14.1, 14.2. Подготовить заготовку отчета (см. содержание отчета).
3 Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
1 Укажите, какие арифметические и логические операции выполняются в МП Intel 8085A.
2 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении арифметических операций над восьмиразрядными данными?
3 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении сложения 16-разрядных чисел?
4 Укажите выполняемую операцию, машинный код и способ адресации, которые используются в нижеуказанных командах:
а) ADD B; |
б) ADC M; |
в) SUB C; |
г) SBB M; |
д) ADI, F0 h; |
е) SUI, 3B h; |
ж) DAD B; |
з) DAD D. |
Приборы, оборудование и документация
1Персональный компьютер (ПК).
2Программный пакет «Sim8085 Microprocessor Simulator».
3Методические указания к лабораторной работе.
4Система команд МП Intel 8085A.
Порядок выполнения работы
1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса и инструктаж по технике безопасности.
2 Произвести внешний осмотр ПК и убедиться визуально в отсутствии каких-либо повреждений и дефектов.
3 Включить ПК и запустить программу Sim8085.
4 Выполнить индивидуальные задания № 14.1, 14.2. Для этого следует выполнить ввод, отладку и выполнение составленных программ аналогично пунктам 4.1…4.3 методических указаний к лабораторной работе № 6. Методические указания и исходные данные к индивидуальным заданиям № 14.1, 14.2 приведены в методических указаниях к данной лабораторной работе.
5 После проверки преподавателем результатов выполнения индивидуальных заданий № 14.1, 14.2 свернуть окно отладчика симулятора, закрыть программу Sim8085 и завершить работу ПК.
6Ответить на контрольные вопросы.
7Оформить отчет и сдать зачет.
Содержание отчета
1 Наименование и цель лабораторной работы.
2 Условия в виде текста и таблиц, алгоритмы и листинги программ к индивидуальным заданиям № 14.1, 14.2 в виде таблиц.
3 Результаты выполнения индивидуальных заданий № 14.1, 14.2 в виде таблиц и выводы о содержимом регистров, ячеек памяти и значениях признаков.
4 Ручной расчет ожидаемого результата.
5 Ответить на контрольные вопросы.
Контрольные вопросы
1 Поясните разницу между командами ADD E и ADC E.
2 Поясните разницу между командами ADI 50 h и ACI 50 h.
3 Укажите, за сколько циклов и тактов выполняется команда SBB M и поясните, какие действия выполняет МП в каждом цикле?
4 Укажите, за сколько циклов и тактов выполняется команда ACI 0F h и поясните, какие действия выполняет МП в каждом цикле?
Требования к знаниям и умениям учащихся
Врезультате выполнения лабораторной работы учащиеся должны знать:
–систему команд МП Intel 8085A (K1821BM85A);
–особенности арифметических команд;
Должны уметь:
–составлять программы для простых восьмиразрядных МП на языке Ассемблер, содержащие арифметические команды;
–выполнять ввод, отладку и выполнение программ на симуляторе МП Sim8085 Microprocessor Simulator.
Методические указания
1 Теоретическое обоснование
Вмикропроцессоре Intel 8085A предусмотрены следующие команды двоичной арифметики:
1)сложение восьмиразрядных чисел;
2)сложение 16-разрядных чисел;
3)вычитание восьмиразрядных чисел;
4)инкремент;
5)декремент.
Все арифметические операции с восьмиразрядными операндами предполагают, что один из операндов размещается в регистре-аккумуляторе, а другой – либо в регистре, либо в памяти (при этом адрес ячейки задается в регистровой паре HL), либо является непосредственным числом, заданным в самой команде. Вычитание производится всегда из регистра-аккумулятора. Результат арифметической операции пересылается в регистр-аккумулятор. Кроме того по результату арифметических операций сложения и вычитания устанавливаются биты признаков: S – знака, Z – нуля, A – вспомогательного переноса, P – четности, С – переноса.
Команды сложения 16-разрядных чисел, так называемые команды двойного сложения, предусматривают, что один из операндов находится в регистровой паре HL, а второй – либо в DE, либо в BC. Результат записывается в HL. Кроме того по результату операции устанавливается либо сбрасывается бит переноса – C.
Команды инкремента увеличивают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Команда инкремент регистра и памяти изменяет биты признаков: Z, S, A, P, C. Инкремент регистровой пары не затрагивает биты признаков.
Команды декремента уменьшают содержимое регистров, ячейки памяти по адресу в HL и регистровых пар на 1. Затрагиваемые биты признаков аналогичны команде инкремента.
|
|
2 Индивидуальное задание № |
14. 1 |
|
|
||
Составить |
алгоритм, |
написать |
на |
языке |
Ассемблер |
для |
МП |
Intel 8085A с адреса 2000 h и выполнить линейную программу, реализующую последовательность арифметических операций в соответствии с заданным вариантом (таблица 14.1):
M2 = (M1) + (E) – (A) + 1
До выполнения программы вычислить и записать в отчет ожидаемый результат (см. пример в методических указаниях к лабораторной работе №12).
При загрузке исходных данных в ячейку памяти М1 (в команде указывать М) по адресу 2022 h рекомендуется использовать косвенную адресацию, а при загрузке результата в ячейку памяти М2 по адресу 2024 h – прямую адресацию. Программу записать в таблицу, аналогичную по форме таблице 12.4.