Схема расположения на экране основных органов управления и окон. Основные приёмы работы с VisualDSP++, страница 2

Лабораторная работа № 2               

ОСВОЕНИЕ ПРИЁМОВ ПОСТРОЕНИЯ И  ОТЛАДКИ  ПРОГРАММЫ  ДЛЯ ADSP-21xx

1. Цель работы

Освоение средств разработки программного обеспечения для ЦСП и приёмов управления построением и отладкой прикладной программы.

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

2.1. Изучить следующие вопросы :

Язык ассемблера (ассемблер).

Средства автоматизации  разработки  и  отладки  прикладных программ.

Трансляция с  языка  ассемблера;  ассемблирующая  программа (ассемблер) и  кросс-ассемблер.

Редактор связей (компоновщик).

    Кросс-отладчик (имитатор).

    Возможности и особенности разработки  и  отладки прикладных программ с использованием VisualDSP++.

Материалы для освоения указаны в разделе 3.

Контрольные вопросы см. в разделе 7.

2.2 Домашнее задание:

Проанализировать предложенную программу VectAdd.asm на языке ассемблера для ADSP-2181 (см. Приложение, программа к ЛР № 2) и изобразить схему алгоритма. Подготовить в шестнадцатеричных кодах ожидаемые результаты первого выполнения каждой из инструкций по первое прохождение цикла включительно, имея в виду, что  x_input[1]=0x0001, y_input[1]=0x000B, и выписать их рядом  со схемой алгоритма.

3. Материалы к работе

3.1. Используемая программа VectAdd.asm (см. Приложение,  программа к ЛР № 2).

3.2. Учебное пособие “Работа с VisualDSP++”, разделы  3, 7, 8, 10, 12, 13.2. 

3.3. Применение кросс-средств для разработки программного обеспечения (см. файл ЛР2_материалы.doc).

3.4. Цифровая  и  вычислительная  техника  /  под  ред.  Э.В. Евреинова.- М.: Радио и связь, 1991, с. 377-379, с. 386-393.

3.5. Балашов Е.П.,  Григорьев В.Л.,  Петров Г.А.  Микро- и мини-ЭВМ.  - Л.: Энергоатомиздат,  1984,  с.260-268,  с.275, 276, 280-292.

4. Задание к работе в лаборатории

4.1. Создать исполняемый файл .dxeдля программы vectadd.asm. В программе обнаружатся три синтаксических  ошибки, которые предстоит устранить. 

4.2. Запустить имитатор и сконфигурировать окна.  Загрузить подготовленную программу и, выполняя её по шагам, сопоставить получаемые и ожидавшиеся результаты выполнения инструкций.

5. Указания к работе в лаборатории

5.1. Скопировать из папки Лр2  в свою рабочую область папку VectAdd с исходными  файлами .ldf, .asm и .dat, оставив только тот вариант файла vectadd.asm, номер которого соответствует номеру бригады.

5.2. Запустить программу VisualDSP++. Проделать все этапы создания исполняемого файла .dxe для программы vectadd.asm. Выявленные в процессе компиляции и компоновки ошибки программы записать для отчёта и устранить.

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

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

5.3. Загрузить командой Load исполняемый файл .dxe  из папки Debug. Программа появится в окне Дизассемблера, если её там ещё не было.

5.4.  Открыть окно вычислительных регистров. Открыть окно для наблюдения за ячейкой DM(z_out), как описано в разделе 13.2. Конфигурируйте вид окон из соображений удобства наблюдения.

5.5. Выполняя программу по шагам (команда Step Into), зафиксировать результаты каждой операции от начала программы до конца первого прохода по циклу в таблице  2.1. Фиксировать в таблице нужно только те регистры (и ячейки), в которые происходит запись. В алгоритме они расположены левее знака присвоения.

Таблица 2.1 – Результаты  работы  программы                  

Адрес инструкции

Наблюдаемый регистр или ячейка

Ожидаемый результат

Полученный результат

 

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

5.6. Проверка результатов для повторных проходов по циклу в пошаговом режиме нецелесообразна. Такая проверка более эффективно выполняется с использованием контрольной точки (точки останова), что явится предметом освоения в лабораторной работе № 3. Чтобы повторить выполнение программы с начала, удобно применить команду Restart.