Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_лаб3.docx
Скачиваний:
11
Добавлен:
16.07.2022
Размер:
2.62 Mб
Скачать

Часть 2. Отладка программы с помощью симулятора avsim85 и исследование принципов взаимодействия функциональных блоков микроЭвм и мп i8085a (1821вм85) при реализации программы

Отладка и исследование выполняется с помощью программного эмулятора AVSIM85, требующий настройки под микроЭВМ, для которой разрабатывается программа Proc_ADD.

Этап 1. Подготовка программного эмулятора AVSIM85 к исследованию.

Целью этапа является

  1. конфигурирование среды эмулятора под структуру заданной микроЭВМ,

  2. загрузка в симулятор программы Proc_ADD для выполнения исследований,

  3. загрузка значений обрабатываемых данных (слагаемых).

Процедура конфигурирования являлась предметом изучения в Лабораторной работе №2. Поэтому целесообразно лишь коротко выделить основные шаги процедуры.

Шаг1. Активизация среды симулятора с одновременным конфигурированием средств обмена данными с внешними устройствами

Так как обмен данных с внешними устройствами ввода/вывода программой Proc_ADD – не предусмотрен, то Симулятор можно активизировать в любой из доступных конфигурации A,B,C,D. Рекомендуется конфигурация ‘голого’ процессора I8085– режим А.

Шаг2.. Конфигурирование адресного пространства памяти микроЭВМ

Замечание. Необходимо помнить, что после запуска симулятора (до конфигурирования) эмулируется микроЭВМ, имеющая только один тип памяти – ROM (READ ONLY MEMORY).

Тем не менее, для прогона программы Proc_ADD необходимы три ячейки оперативной памяти (RAM) для записи и хранения операндов и приема результата суммирование.

Конфигурирование адресного пространства микроЭВМ для выполнения задания состоит в выделении из общего адресного пространства памяти сегмента данных (RAM) объемом, как минимум три ячейки.

Процедура настройки памяти описана в методических указаниях к лабораторной работе №2 – “ Исследование структуры простейшей микроЭВМ и процессора I8085A”.

Адреса ячеек должны быть известны. Например, в программе Proc_ADD начальный и конечный адреса заданного сегмента данных – соответственно, 0800h ¸ 0802h.

Шаг3. Отображение на экране программного эмулятора массива RAM, выделенного для хранения данных.

Это позволит в дальнейшем решить три задачи.

Первое. Вводить в оперативную память текущие значения операндов

Второе. Контролировать состояние оперативной памяти в ходе выполнения программы

Третье. Сохранить значение полученной суммы в выделенной для этого ячейке.

Процедура визуализации выделенного массива RAM – исследована ранее.

Рекомендуется использовать DUMP2 метаокна Screen программного имитатора.

Целью следующего этапа работы является подготовка к отладке и исследования программы Proc_ADD путем ввода в программный имитатор её загрузочного модуля.

Этап 2. Ввод программы.

В моделирующий отладчик необходимо ввести загрузочный модуль name.hex .

Для этого:

Шаг 1. Активизируется в строке “Меню” команда Load. В подчиненном меню выбирается и активизируется команда Program. На запрос: Enter filename_ вводится имя загрузочного модуля с расширением .hex.

Шаг 2. Загруженная программа активизируется в специальном подокне OPERATION (Программа) метаокна Screen. Для этого в поле PC: 0000 подокна CPU REGISTERS вводиться начальный адрес программы.

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

Замечание 1. Текст программы “восстанавливается” из кодов загрузочного модуля встроенным в среду SIM85 дизассемблером.

Замечание 2. Следует иметь в виду, что в поле data (правее поля PC: 0100) отображается “ прокручивающаяся “ линейка из восьми байт кода программы.

На рисунке 7 показано окно программного эмулятора. После ввода программы Proc_ADD.

Шаг 3. Визуализация массива программной памяти, содержащего машинный код загруженной программы. Процедура выполняется для контроля состояния программной памяти и выполняется по известной процедуре. При этом используется свободный DUMP1 окна Screen (Рис.7).

После выполнения Этапов 1 – 4 можно приступать к основной части работы.

Этап 5. Исследование с помощью симулятора AVSIM85 принципов взаимодействия функциональных блоков микроЭВМ и МП I8085A (1821ВМ85) при реализации программы PROC_ADD.

Шаг 1. Подготовка контрольных примеров для прогона программы. В качестве исходных используются данные и результаты Задания 1 Части 3 из Лабораторной работы 1. “Основы машинной арифметики.”, выполненной ранее.

Вариант соответствующего Задания представлен в Примере 4.

Пример 4. Вариант Лабораторной работы 1.Основы машинной арифметики (Данные части 3 пункта1, используемые в качестве операндов при выполнении Proc_ADD – выделены).

И сследуется сложение чисел, заданных в пункте1 Части3 (выделено).

При подготовке контрольных примеров для их реализации программой Proc_ADD необходимо:

  1. перевести две пары слагаемые А и В в двоичную систему счисления. Количество разрядов для представления мантиссы – 6.

  2. образовать дополнительные модифицированные коды полученных чисел.

  3. выполнить сложение в десятичной и двоичной системах счисления.

  4. проверить полученные результаты на совпадение.

  5. получить аналитически признаки результатов S, Z, AC, P,CY.

  6. зафиксировать полученные результаты для включения в отчет.

Шаг 2. Введение первой пары операндов А и В в соответствующие ячейки оперативной памяти. Операция выполняется по следующей процедуре:

Переход в окно Screen → введение вручную операндов в ячейки памяти в DUMP2.

Замечание. Операнды вводятся в шестнадцатеричной системе счисления.

Шаг 3. Исполнение программы Proc_ADD . Программа выполняется в пошаговом режиме. Для этого, последовательно нажимается клавиша F10, которая инициирует исполнение текущей команды.

Замечание 1. Текущей наз. команда, следующая за командой, исполненной на предшествующем шаге. Текущая команда выделена в двух подокнах окна Screen.

Во-первых, мнемокод такой команды выделен (“подсвечен”) в подокне OPERATION (Программа).

Во-вторых, в поле data (правее поля PC: хххх) выделен первый байт текущие команды.

Замечание 2. Нажатием клавиши F9, обеспечивается, при необходимости, возврат на любое количество команд назад.

На этом этапе исследования необходимо перед каждым шагом и после него фиксировать состояние вычислительных ресурсов микроЭВМ.

Ресурсом называется внутренний функциональный узел процессора или устройство микроЭВМ, которые участвуют в выполнении программы.

Фиксируются состояния только ресурсов, задействованных при исполнении текущей команды.

На каждом шаге заполняется строка Таблицы 1.

При заполнении последнего столбца таблицы сначала активизируется счетчик тактов (Cycles:)), а затем разностным методом определяется суммарное число тактов необходимое для выполнения команды.

Таблица 1— Состояния ресурсов при выполнении программы.

Текущая команда

Состояние ресурса микроЭВМ

Число тактов на исполнение команды

До исполнения текущей команды

После исполнения текущей команды

LDA 0800

PC = 0100h; (A)=00h; (RF)=00h; (0100)=3Ah; (0800)=23h

PC = 0103h; (A)=23h; (RF)=00h; (0103)=47h; (0800)=23h

Замечание 3. Данные, структурированные в виде Таблицы1 наз. трассировкой.

Составление и анализ трассировки – апробированный в практике способ отладки программного обеспечения и проверки состояния микроЭВМ.

Замечание 4. Необходимо учитывать, что состояние признаков результата должно быть зафиксировано в трассировке в виде шестнадцатеричного двухразрядного числа (RF) = XXh. Такое число строится на основе видимых в подокне FLAGS отладчика признаков и с учетом формата регистра признаков.. На рис.8 еще раз приведен фактический формат регистра признаков процессора.

П ри записи состояния Регистра признаков в виде шестнадцатеричного числа необходимо соответствующим образом перегруппировать видимые на экране симулятора признаки, “ вставить” их значения в формат RF, учтя при этом значения и положение постоянных разрядов – 001. Полученный при этом двоичный код перевести в шестнадцатеричную систему счисления.

Шаг3 повторяется до исполнения последней команды исследуемой программы.

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

При совпадении можно переходить к следующему шагу. В противном случае необходимо обнаружить причину ошибки и устранить её.

Замечание. Ошибки могут быть вызваны следующими причинами

  • ошибкой в контрольных примерах, допущенных при представлении операндов в машинных кодах или при аналитическом сложении операндов

  • неправильным ассемблированием и вводом программы

  • неправильным вводом данных в RAM

  • неправильным прогоном программы и т.п.

Шаг4. В соответствии с действиями, предусмотренными Шагом2 и Шагом3, выполняется загрузка в соответствующие ячейки оперативной памяти новых значений операндов OP1 и OP2. . Затем выполняется пошаговый прогон программы, и контролируются полученные результаты.

Внимание. При сложении второй пары слагаемых трассировку можно не выполнять.

На этом экспериментальная часть исследования заканчивается.

Соседние файлы в предмете Основы микропроцессорной техники