Подготовка к выполнению работы. 1 Повторить по [1] структурную схему, форматы данных и команд, способы адресации, принцип работы и систему команд МП Intel 8085A (К1821ВМ85А)

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 – Тренировочная программа подсчета количества единиц в байте

 

Адрес Метка Команда Операнд Комментарий
  MVI D, FE h ; Загр. исходного ; числа FE h в рег. D
  MVI C, 08 h ; Загр. в рег. C количества ; разрядов в байте
  MOV A, D ; A(D) для сдвига
  MVI B, 00 h ; Обнуление рег. B, ; счетчика единиц
M2: RAR   ; Сдвиг вправо, значение ; мл. бита в бит переноса
  JNC M1 ; Если (Tc) = 0, обойти ; инкремент счетчика единиц
200B   INR B ; Инкремент счетчика ; единиц
200C M1: DCR C ; С(С) – 1, следующий ; разряд байта
200D   JNZ M2 ; Переход на проверку ; след. разряда байта
  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?