Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум 4 А4.docx
Скачиваний:
63
Добавлен:
13.02.2016
Размер:
1.32 Mб
Скачать

Обучение работе на симуляторе микропроцессора 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 выбрать пункт меню «FileNew» и на экране появится рабочая область или окно программы (рисунок 13.1).

Рисунок 13.1 – Окно программы симулятора Sim8085 Microprocessor Simulator

Данное окно предназначено для ввода программ. Одной из особенностей симулятора является то, что все цифровые данные в программе прописываются в десятичной системе счисления, а обрабатываются в шестнадцатеричной.

Для упрощения перевода из одной системы счисления в другую в симулятор вшит конвертор (рисунок 13.2), который можно вызвать пунктом меню «ToolsBase Converter».

Рисунок 13.2 – Окно конвертора

Для преобразования числа из шестнадцатеричной системы счисления в десятичную необходимо просто вписать число, которое необходимо перевести, в поле «HEX» и десятичное число автоматически появится в поле «DEC». Например из рисунка 13.2 видно, что для ввода шестнадцатеричного числа FE(16) нам необходимо перевести его в десятичное 254(10) и записать в окно программы (рисунок 13.3).

Также особенностями симулятора является то, что команды вводятся мнемоническими обозначениями, а при загрузке регистровых пар в мнемонике команды следует указывать оба регистра, например LXI HL, 200C h. Кроме того, все символы программы следует вводить на английском языке.

На рисунке 13.3 показан ввод команд непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом 200С(16) = 8204(10).

Рисунок 13.3 – Ввод команды непосредственной загрузки регистра DчисломFEhи регистровой парыHLчислом 200Ch

4.2 Для запуска и отладки пользовательских программ в симуляторе есть отладчик (рисунок 13.4), который вызывается пунктом меню «ProjectDebug Mode».

Рисунок 13.4 – Окно отладчика симулятора Sim8085 Microprocessor Simulator

В данном окне можно проследить за отладкой и выполнением программы. При наличии ошибок отладчик выдает сообщения в каких строках программы допущены ошибки. Например, на рисунке 13.5 показан пример сообщения отладчика, если данные в командах MVI D, FE h и LXI HL, 200C h не переведены в десятичную систему счисления.

Рисунок 13.5 – Пример работы отладчика симулятора Sim8085MicroprocessorSimulatorпри наличии ошибок при вводе программы

Рассмотрим работу отладчика на примере непосредственной загрузки регистра D числом FE(16) = 254(10) и регистровой пары HL числом 200C h = 8204(10) (рисунок 13.6).

Рисунок 13.6 – Пример работы отладчика симулятора Sim8085MicroprocessorSimulatorпри отсутствии ошибок при вводе программы

В окне отладчика мы видим, что по адресу 2000 h теперь записана команда непосредственной загрузки регистра D числом FE(16) = 254(10), а по адресу 2002 h – команда загрузки регистровой пары HL числом 200С(16) = 8204(16). Заметим, что в окне отладчика данные представлены уже в шестнадцатеричной форме, в отличие от окна ввода программы.

В стандартных настройках программы начальным адресом программы является 2000 h, но в настройках отладчика (OptionsDebugger Options) его можно изменить (рисунок 13.7).

Рисунок 13.7 – Окно настроек отладчика симулятора Sim8085 Microprocessor Simulator

4.3 Рассмотрим работу симулятора на примере тренировочной программы, которая реализует подсчет количества единиц в байте (таблица 13.1).

Таблица 13.1 – Тренировочная программа подсчета количества единиц в байте

Адрес

Метка

Команда

Операнд

Комментарий

2000

MVI

D, FE h

; Загр. исходного ; числа FEhв рег.D

2002

MVI

C, 08 h

; Загр. в рег. Cколичества ; разрядов в байте

2004

MOV

A, D

;A(D)для сдвига

2005

MVI

B, 00h

; Обнуление рег. B, ; счетчика единиц

2007

M2:

RAR

; Сдвиг вправо, значение ; мл. бита в бит переноса

2008

JNC

M1

; Если (Tc) = 0, обойти ; инкремент счетчика единиц

200B

INR

B

; Инкремент счетчика ; единиц

200C

M1:

DCR

C

; С(С) – 1, следующий

; разряд байта

200D

JNZ

M2

; Переход на проверку

; след. разряда байта

2010

HLT

; Останов

Вводим программу. Результаты ввода отражены на рисунке 13.8.

Рисунок 13.8 – Окно ввода симулятора с программой, реализующей подсчет количества единиц в байте

Как видно, все числа предварительно переведены в десятичную систему счисления. В качестве исходного в регистр D загружаем число FE(16) = 254(10). Выполняем отладку программы (ProjectDebug Mode). При наличии ошибок для выхода из режима отладчика используем пункт меню «ProjectTerminate». При отсутствии ошибок выполняем программу. Для запуска программы используем пункт меню «ProjectRun» (рисунок 13.9).

Рисунок 13.9 – Окно отладчика после выполнения тренировочной программы, реализующей подсчет количества единиц в байте

По окончании выполнения тренировочной программы симулятор выводит на экран ПК окно с результатами:

- программа выполнена до команды HLT;

- конечный результат подсчета количества единиц в байте отражен в регистре B (число FE(16) = 1111 1110(2) содержит семь единиц);

- кроме того, в окне отладчика отображаются значения всех регистров МП, указателя стека SP, программного счетчика PC, а также всех признаков результата (знака S, нулевого результата Z, вспомогательного переноса А, четности P, переноса С).

4.4 После проверки преподавателем результатов выполнения тренировочной программы свернуть окно отладчика симулятора.

5 Индивидуальное задание. Выполнить линейную программу, составленную в лабораторной работе №12, согласно заданному варианту. Для этого выполнить ввод, отладку и запуск программы аналогично указаниям пунктов 4.1…4.3 данных методических указаний. Результаты выполнения программы записать в таблицу 13.2 и сделать подробные выводы о состоянии всех регистров и значениях всех признаков.

Таблица 13.2 – Результаты выполнения индивидуального задания №1

Номер варианта

Результат (Р = 16)

Содержимое регистров (Р = 16)

Значения признаков

(M1)

(M2)

(A)

(B)

(C)

(D)

(E)

(H)

(L)

(SP)

(PC)

S

Z

A

P

C

После проверки преподавателем результатов выполнения индивидуального задания свернуть окно отладчика симулятора, закрыть программу Sim8085 и завершить работу ПК.

6 Ответить на контрольные вопросы.

7 Оформить отчет и сдать зачет.