Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР5.docx
Скачиваний:
4
Добавлен:
16.07.2022
Размер:
2.99 Mб
Скачать
    1. Распределение адресного пространства микроЭвм

Модуль обработки взаимодействует с модулем чтения входов Scan_Param, разработанным в Лаб.работе№4 . В задачу Лаб.работе№5 входит их последовательный запуск в виде единого программного продукта.

Поэтому при распределении адресного пространства необходимо учесть ресурсы, уже используемые модулем Scan_Param.

К их числу относятся: часть выделенной программной памяти (кодовый сегмент (CS1)), содержащий программные коды модуля Scan_Param, часть оперативной памяти (сегмент данных (DS1)), использовавшаяся для сохранения отсчётов параметров (массив X). Новые программые коды и новые данные следует располагать, соответственно в сегментах CS2, DS2, но при этом не выходить за пределы заданных адресных пространств.

Из предшествующего анализа следует, что на этом этапе разработки модуля извлечения необходимо

  1. в DS выделить массив PAdrX для приёма и сохранения адресов отсчётов AdrX1, AdrX2.

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

  3. выделить в кодовом сегменте массив под коды подпрограмм.

В приложении приведён вариант соответствующего распределения адресного пространства. Используемые абсолютные адреса привязаны к примеру распределения адресного пространства, используемого в Лаб.№4.

    1. Реализация субмодуля извлечения

Субмодуль извлечения обеспечивает последовательный приём абсолютных или относительных адресов AdrX1, AdrX2 из АРМ, с последующим извлечением из оперативной памяти микроЭВМ содержащихся там отсчетов и размещением их во внутренних регистрах процессора.

Пусть принимаемая последовательность AdrX1→ AdrX2 наз. адресным сообщением.

Структура адресного сообщения приведена ранее в Табл.1.

На рисунке 5. представлены граф-схемы алгоритмов (ГСА) различных вариантов программной организации субмодуля извлечения.

При их реализации требуется выбрать формат обмена стробирующими сигналами между микроЭВМ и контроллером АРМ.

Для обмена можно использовать любой их четырех доступных портов c системными адресами 00h, 01h, 02h, 03h. В алгоритмах принято, что такой обмен осуществляется через порт 00h. При этом может быть установлен следующий формат сообщений: 01h – для сообщения “Запрос данных” при активном состоянии строба, и 02H – при активном состоянии строба “Подтверждение”. Отсутствию активного строба соответствует слово 00h.

Нетрудно заметить, что запрос и подтверждение передаются, соответственно, через разряды D0 и D1 используемого порта.

При разработке ГСА принято также, что обмен адресными сообщениями осуществляется через порт 01h. При передачи полуадресов задействованы все разряды этого порта.

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

    1. Подготовка эмуляции программы

Эмуляция облегчается за счет, во-первых, автоматической настройки некоторых опций моделирующего отладчика AVSIM85 при его запуске, во-вторых, имитированием ввода информационных и стробирующих сигналов при обращении к соответствующим портам. Для этих целей необходимо создать командный файл my.cmd и файлы данных my_stb.dat и my_adr.dat.

Файлы my_stb.dat и my_adr.dat. должны содержать информацию об изменениях во время отладки состояния строба “Подтверждение”, а также конкретные адреса выбранных для отладке отсчетах .

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

Данные о стробах и адресах целесообразно представлять в шестнадцатеричной системе счисления, поэтому файлы должны иметь расширение xxxxx.ah. Их трансляция в соответствующие файлы my_stb.dat и my_adr.dat обеспечивается запуском из командной строки FAR утилиты iotran.exe. Она выполняет преобразование символьного файла xxxxx.ah в цифровой формат xxxxx.dat. Запуск iotran.exe осуществляется из командной строки FAR следующими процедурами

iotran.exe hb my_stb.ah my_stb.dat;

и

iotran.exe hb my_adr.ah my_adr.dat;

После запуска необходимо проверить содержимое сформированных файлов my_stb.dat и my_adr.dat . Они должны содержать в 16-ричной форме предусмотренную моделирующую информацию, а также служебную часть.

Далее создаётся командный файл XXXX.cmd для управления моделирующим отладчиком AVSIM85:

Командные файлы служат для загрузки в имитатор программы или её частей (если отладки осуществляется по частям) и настройки имитатора для эмуляции. Пусть отлаживаемая часть программы, имеет условное имя name, при этом создан (скомпилирован и пролинкирован) загрузочный файл name.hex. Тогда файл name.cmd может иметь вид

Файл name.cmd:

Lpname.hex

IOmy_stb.dat

Y

OI:0h,IN

IOmy_adr.dat

Y

OI:1h,IN

e0300h

sma

0800h

0820h

D1a0800h

CY

Созданный в таком виде файл name.cmd обеспечивает подключение файлов my_stb.dat и my_adr.dat соответственно к портам 00h и 01h. Через них по командам IN port информационная часть файлов my_stb.dat и my_adr.dat будет последовательно вводится в ACC.

Кроме того, обеспечивается

загрузка программы name.hex в симулятор,

установка программного счётчика в состояние 0300h,

выделение в адресном пространстве микроЭВМ массива оперативной памяти 0800-0820h,

активизация DAMP1 для контроля информации в массиве

инициализация счётчика тактов.

Для начала работы в AVSIM85 необходимо создать управляющий файл name .bat вида

avsim85.exe -c1 A F name.cmd

Предложенные процедуры настройки и запуска системы могут быть использованы в любом варианте сложности Лаб.работы №5. Они существенно повышают достоверность отладки, количество баллов за сложность (Табл.1) также увеличивается.

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