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

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

Лабораторные работы.

Лабораторная работа 3. Изучение принципов функционирования простейшей микроЭВМ и процессора I8085A при реализации программы

Цель работы.

  1. Изучение технологии ассемблирования программ в среде ассемблер Аsm85

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

Подготовка к работе.

При подготовке к лабораторной работе необходимо изучить принципы работы простейшей программы PROC_ADD (см. лекционный материал), а именно

  • изучить укрупненные и детальные графические схемы алгоритма программы;

  • изучить назначение команд, включенных в программу;

  • определить требования к микроЭВМ, обеспечивающие реализацию программы;

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

Замечание 1. Для выполнения работы, необходимо проверить наличие в персональной рабочей папке следующих файлов

  1. asm85.exe,

  2. xlink.exe,

  3. sim85.exe ,

  4. avsim85.hlp,

  5. avsim85.ovr,

  6. avsim85.reg

1. Порядок выполнения работы.

Работа содержит три части, а именно

Часть 1. Подготовка программы proc_add к ассемблированию и изучение технологии ассемблирования в среде ассемблер Аsm85;

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

Часть 3. Анализ полученных результатов и оформление отчета.

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

Необходимо иметь в виду следующее.

Определение 1. Ассемблер (assembler) – а) программа или техническое средство, выполняющая трансляцию исходной программы, написанной на языке ассемблера; б) система программирования, включающая язык ассемблера и транслятор с этого языка.

Определение 2. Ассемблирование (assemblage) – компиляция программы с языка ассемблера.

Определение 3. Компиляция (compilation) – трансляция программы на язык, близкий к машинному.

Определение 4. Ассемблер asm85.exe (assembler) – ассемблер, транслирующий исходный модуль name.asm в машинные коды и генерирующий файлы name.lst (протокол ассемблирования) и name.obj (объектный модуль).

Часть 1. Подготовка программы proc_add и изучение технологии ассемблирования в среде ассемблера Аsm85;

Предполагается, что имеется (разработан ранее) исходный текст программы, написанный на языке Ассемблер ASM85. Такой текст существует в рукописном или машинописном виде.

Этап 1. Подготовка программы Proc_ADD к ассемблированию

Целью Этапа1 является оформление программы Proc_ADD в виде, пригодном для ассемблирования. Текст программы для ассемблирования должен быть оформлен в виде исходного модуля.

Исходный модуль программы – текстовой файл, созданный в текстовом процессоре (редакторе) компьютера и имеющий расширение .asm.

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

Первое. Текстовые процессоры типа MSWORD, WORDPAD использовать не рекомендуется.

Второе. Создаваемый файл должен иметь структуру, характерную для формализованного языка Ассемблер asm85.exe., а именно.

Текст должен иметь заголовок, содержащий

а) название программы

б) сведения о входных и выходных данных

в) требования к ресурсам, используемым модулем

г) дополнительные сведения по усмотрению автора.

Каждая строка заголовка начинается с символа “; “ и включается ассемблером в протокол компиляции.

Замечание1. Используемый диалект ассемблера asm85.exe допускает как английские, так и русские символы.

Третье. Программы состоит из строк (предложений).

Четвертое. Ассемблерные предложения должны структурироваться следующим образом:

Предложения делятся (слева направо) на поля 1) поле метки 2) поле мнемоники команды или директивы 3) поле операндов 4) поле комментария

Поля, кроме поля мнемоники, могут не содержать текста, однако, должны разделяться пробелами (табуляцией).

Пятое. Каждая строка (предложение) ассемблера или группа строк может [должна] иметь комментарий. Комментарий должны носить содержательный характер и пояснять функциональное назначение команды (группы команд) в программе, а не команду как таковую. Например, комментарий к команде MOV A,B типа “; передача содержимого регистра B в регистр A” мало что поясняет в программе,

Шестое. Комментарий, также как и строки заголовка начинается с символа “ ; “.

Комментарии включаются ассемблером в протокол компиляции.

Введенные требования поясняются следующим примером, в котором представлен машинописный вариант текста программы.

П ример1. Текст программы Proc_ADD , оформленный в соответствии требованиями 1– 6

Оформление программы Proc_ADD в виде исходного модуля (цель Этапа1), выполняется следующим образом.

Исходный модуль создается в редакторе FAREDIT файл–менеджера FAR.

Для этого по шагам выполняется следующая процедура.

Ш АГ1. Переход в среду FAR (Пуск Programs Files FAR.exe) или двойной щелчок на значке FAR на рабочем столе.

ШАГ2. Вызов текстового редактора и переход в среду редактирования.

Для этого выполняются следующие действия :

Нажатие( Shift+F4)  Ввод имени исходного модуля  ENTER.

Замечание 2. Редактор должен вызываться из каталога, в котором находится транслятор asm85.exe

П осле вызова редактора по Shift+F4 появляется окно ”Редактор” (” Editor” ), На рис.1 показано окно редактора на этапе ввода имени редактируемого файла. В окне активизировано поле ввода ”Редактировать файл:” (”File to Edit” ). В это поле следует ввести имя исходного модуля.

Замечание 3. При вводе имени исходного модуля необходимо ввести расширение ***.asm

Замечание 4. Имя исходного модуля вводится латинским шрифтом без пробелов. Имя не должно содержать более семи символов, однако, должно, по–возможности, соответствовать содержанию файла.

После ввода имени для ввода текста исходного модуля необходимо нажать клавишу ” Enter”.

Признаком перехода в среду редактора является активный (“ мигающий “) курсор в левом верхнем углу экрана.

ШАГ3. Набор текста программы PROC_ADD. При наборе следует придерживаться рассмотренных ранее правил 1–6.

ШАГ4. Сохранение файла name.asm.

Для сохранения следует нажать функциональную клавишу F2.

ШАГ5. Выход из среды редактора.

Для выхода следует нажать клавишу Esc.

ШАГ6. Проверка созданного файла Исходного модуля.

Для проверки следует

  1. убедиться в том, что файл создан и находится в персональном каталоге и имеет расширение .asm;

  2. убедится (путем просмотра в среде VIEW (вызов по F3)), в том, что сохраненный текст совпадает с рукописным текстом и с текстом, с набранным в редакторе.

В ид окна VIEW с исходным модулем программы Proc_ADD приведен на рисунке .

ШАГ7. Если в тексте обнаружены ошибки, то следует их исправить, повторно открыв созданный файл в редакторе. Редактор может быть вызван непосредственно из среды VIEW (F6).

Далее можно переходить к выполнению Этапа2 лабораторной работы.

Этап 2. Компиляция исходного файла.

Как отмечено ранее, компиляция (compilation) – трансляция программы на язык, близкий к машинному. В результате компиляции из исходного модуля создается оъектный модуль, а также файл протокола компиляции.

Компиляция осуществляется путем запуска исполнимого файла asm85.exe (ассемблера).

Этап2 выполняется по шагам.

ШАГ1. Запуск компилятора.

Компилятор можно активизировать двумя путями –

  1. в Режиме диалога,

  2. запуском из командной строки FAR.

Активизации компилятора в Режиме диалога осуществляется следующим образом

  1. в персональной директории выбирается и запускается исполнимый файл asm85.exe. В открывшемся диалоговом окне необходимо последовательно отвечать на четыре запроса, подтверждая нажатием ENTER ввод каждого ответа

  2. после завершения компиляции автоматически восстанавливается окно FAR с персональной директорией.

Замечание. Диалог и компиляция могут быть прерваны компилятором вследствие ошибок. В этом случае рекомендуется следующие действия: выход из режима компилирования (CTRL + C) устранение ошибки повторный запуск компилятора.

Второй способ активизация asm85.exe –запуск из командной строки.

Запуск осуществляется следующим образом. Пусть name.asm, name.lst, name.obj выбранные имена, соответственно – исходного модуля, файла протокола и объектного модуля.

В этом случае, в командную строку файл–менеджера FAR вводится текст

Командная строка исполняется после нажатия клавиши ENTER. В результате должны быть сгенерированы объектный модуль и файл протокола.

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

После окончания компилирования в персональной директории должны появиться файлы name.lst и name.obj. В их наличии необходимо убедиться прежде, чем выполнять следующий шаг.

Шаг2. Проверка исходного модуля и устранение ошибок.

На этом шаге могут быть устранены, прежде всего, синтаксические ошибки в программе, которые обнаруживаются компилятором и фиксируются им в файле протокола.

Для проверки выполняются следующие действия.

Первое. В среде VIEW файл–менеджера FAR открывается файл name.lst

Для этого, этот файл выделяется, а затем активизируется клавишей F3.

На Рис.3 показан вид протокола, полученного после компиляции программы Proc_ADD.

После открытия протокола необходимо, прежде всего, обратить внимание на информацию об ошибках в поле ERRORS: . Поле ошибок на Рис.3— выделено. Если ошибок нет — NONE”, то можно приступать к выполнению следующего этапа работы. При наличии ошибок, следует перейти к их устранению.

Для устранения ошибок выполняются следующие действия.

Замечание. Ассемблер asm85.exe обнаруживает синтаксические ошибки. Наиболее часто встречающиеся в исходных модулях ошибки – следующие

  • использование отсутствующих в системе команд мнемонических обозначений команд; ошибка при написании существующего мнемонического обозначения;

  • отсутствие в поле операндов предписанного в команде операнда;

  • неправильное задание абсолютного значения операнда;

  • использование неопределенного ранее символического имени операнда

  • использование в качестве символических обозначений зарезервированных аббревиатур.

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

Пример2. Программа – пример ADD_ERRORS, полученная путем “намеренного” внесения синтаксических ошибок в текст программы Proc_ADD.

Ошибочные операторы – выделены.

После компиляции содержащей ошибки программы ADD_ERRORS, вид файла – протокола изменится по сравнению с соответствующим файлом для безошибочной программы Proc_ADD. В частности, в верхней части протокола формируется дополнительный раздел ошибок (Рис.4), а в поле ERRORS указывается количество обнаруженных ошибок.

Принимая во внимание “ подсказки “ компилятора, содержащиеся в разделе ошибок, следует еще раз проанализировать исходный модуль программы, обнаружить и устранить ошибки.

Внимание! Руководствоваться только “ подсказками “ – недостаточно, так как они не всегда точно или не полно отражают истинный характер ошибок.

Это утверждение подтверждается анализом сообщений об ошибках, сформированных ассемблером в протоколе ADD_ERRORS.lst. Соответствующий анализ выполнен в Примере3, текст которого приведен ниже.

Пример иллюстрирует то, что устранение ошибок – процесс творческий, требующий знания языка ASM85.

Если ошибки найдены, то требуется внести соответствующие изменения в файл name.asm.

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

В случае необходимости, процедуры, предусмотренные Этапом2, повторяют несколько раз до полного устранения ошибок.

При получении сообщения ERRORS: None (Рис.3) можно переходить к следующему этапу работы.

Этап 3. Линкирование.

Замечание. Программа линкирования xlink.exe (linker) – компоновщик, создающий из объектного модуля name.obj загрузочный модуль name.hex. Загрузочный модуль используется для отладки программы в среде моделирующего отладчика.

Таким образом, целью Этапа 3 является создание из объектного модуля name.obj специального файла ( name.hex), пригодного для отладки на симуляторе AVSIM 8085 Simulator/Debugger V1.31.

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

Файл создается исполнимый файлом – линкером xlink.exe.

Линкер осуществляет преобразование объектного модуля name.obj, в специальный шестнадцатеричный формат (Intel–format), соответствующий системе команд CPU I8085.

Работа с ним осуществляется следующим образом.

ШАГ1. Линкирование. Исполнимый файл–линкер xlink.exe запускается из командной строки FAR –менеджера, в которой набирается инструкция

Инструкция инициализируется нажатием клавиши “ENTER”.

После окончания линкирования в персональной директории должен появиться файл name.hex.

Замечание. Программа xlink.exe режим диалога не поддерживает.

ШАГ2. Полученный файл (загрузочный модуль) должен быть просмотрен в окне VIEW (F3). Он представляет собой последовательность двухразрядных шестнадцатеричных кодов – это машинный код исполняемой программы Proc_ADD со специальными разделами (Рис.5).

Н а рисунке 6 приведена информационная структура шестнадцатеричного кода загрузочного модуля программы Proc_ADD.

Код состоит из двух частей, а именно:

  1. служебной части, в которой содержится число байт, занимаемых программным кодом, коды разделителей, код паритета и т.п.;

  2. собственно кода программы в машинном представлении, а именно – последовательности кодов одно, двух и трех байтных команд.

ШАГ3. Код загрузочного модуля следует зафиксировать, так как его информационная структура должно будет проанализирована и включена в отчет по лабораторной работе.

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

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