Разработка и отладка программ для микроконтроллеров (Лабораторная работа № 25), страница 6

После этого в командной строке появится сообщение:

>Enter filename:_

Необходимо ввести полное имя файла, т.е. crosscod.hex, и нажать Enter.

В результате этих действий слева на экране появится программа CROSSCOD, написанная на ассемблере. Однако недоумение могут вызвать команды, расположенные с адреса 000АН. В исходной программе здесь располагались константы 3FH, 66H и т.д. Дело в том, что отладчик не может различать константы и коды команд, которые размещены в программной памяти. Любые данные он интерпретирует как команды. Таким образом, значению 3FH соответствует команда CMC.

Правильность размещения исходной программы в памяти можно проверить по содержимому дампа 1 (ячейки 0000Н – 001FH). Видно, что начиная с адреса 000АН в программной памяти размещаются коды таблицы перекодировки TABLE.

К сожалению, кросс-средства 2500 A.D. не позволяют отображать метки в программах при работе с AVSIM85.

Отладка подпрограммы CROSSCOD состоит в проверке соответствия полученных данных (выходной параметр) и исходных данных (входной параметр).

Отладку можно вести в одном из двух режимов:

1)  пошаговом;

2)  автоматическом.

Управление отладкой (по англ. simulation) осуществляется с помощью функциональных клавиш F1-F10. Информацию о назначении этих клавиш можно получить, выполнив команды:

Help ® Simulation

Пошаговый режим отладки осуществляется с помощью клавиши F10.При каждом нажатии клавиши выполняется одна команда программы.

Задание. Исследуйте работу программы CROSSCOD в пошаговом режиме при следующих исходных данных: (С)=00Н; (С)=09Н.

Выполнение программы заканчивайте при достижении команды RET. Убедитесь в правильности работы программы.

Отладчик AVSIM85 имеет возможность выполнения «обратного» хода программы с помощью клавиши F9 (по англ. undo или откат). При нажатии на эту клавишу программный счетчик уменьшает свое значение и все компоненты системы (регистры, ячейки памяти, порты) восстанавливают значение, которые они имели перед выполнением текущей команды. Этот режим удобен для тщательного изучения отдельных фрагментов программы, особенно, команд условного перехода.

Пошаговый режим удобен для детального изучения программ, анализе их работоспособности. Для проверки работы программы при различных входных параметрах более удобен «автоматический» режим, который соответствует естественному ходу выполнения программы микропроцессором. Запуск автоматического режима осуществляется клавишей F1. По англ. этот режим называется «run», или «прогон» программы. Однако использование этого режима требует обязательной остановки выполнения программы. Поэтому в отлаживаемой программе должна быть команда HLT (останов микропроцессора) или процедура зацикливания типа STOP:JMP STOP. При отсутствии этих команд необходимо установить точку останова выполнения программы. В случае подпрограмм это, как правило, последняя команда RET.

В отладчике AVSIM85 для управления точками останова служат три клавиши: F2, F3, F4. Клавиши F2 и F4 служат для перемещения точки останова, а F3 – для ее установки.

Задание. Нажмите клавишу F4, появится яркий треугольник. Нажимая F4, переместите его вниз вдоль кодов программы. Нажатием F2 переместите треугольник вверх. Подведите треугольник к команде RET и нажмите клавишу F3. Треугольник превратится в стрелку, а в командной области появится сообщение:

>Dynamic R/W Bkpt at addr M:0007H

Это означает, что точка останова расположена по адресу 0007Н.

Занесите в программный счетчик нули: (PC)=0000H. Нажав клавишу F1, выполните подпрограмму CROSSCOD в автоматическом режиме. При достижении точки останова (команды RET) раздастся звуковой сигнал и выполнение подпрограммы прекратится. Если предполагается выполнять подпрограмму еще раз, то нужна не забыть вновь нажать клавишу F3 и восстановить точку останова.

При работе в автоматическом режиме имеется возможность изменять скорость выполнения программы. Это можно делать с помощью клавиши F5. Информация о заданной скорости появляется под надписью SPD (сокращение от англ. SPEED – скорость). Возможны три скорости работы: HI (High) – высокая, MID (Middle) –средняя, LOW – низкая.