Отладки программ для 8-разрядных микропроцессоров
В настоящее время 8-разрядные МП в основном применяются в программируемых контроллерах, используемых в автоматизированных системах управления технологическими процессами, в бортовых и встраиваемых информационно – управляющих системах, в микроконтроллерах различного назначения. Эти устройства – целевые микропроцессорные системы – обеспечивают только выполнение отлаженных загрузочных программных модулей, записанных в постоянное запоминающее устройство, входящее в состав систем.
Целевые микропроцессорные системы не предназначены для разработки и отладки программного обеспечения, ибо из-за ограниченных ресурсов не содержат программных средств отладки, а устройства отображения и клавиатура могут отсутствовать.
Разработка и отладка программного обеспечения для целевых микропроцессорных систем производится на инструментальных системах, в качестве которых, например, может использоваться офисный компьютер со специальной программой - симулятором, позволяющей моделировать работу целевой микропроцессорной системы /13/.
Симулятор в общем случае содержит отладчик, модель центрального процессора и памяти, модель системы прерываний, модели встроенных устройств ввода-вывода.
Для различных типов МП и микроконтроллеров промышленно выпускаются различные типы симуляторов.
Рассмотрим процесс разработки и отладки программ для МП i8080 с помощью простейшего симулятора СРМ /13/.
Загрузка симулятора осуществляется командой СРМ. EXE.
При загруженном симуляторе в начале командной строки постоянно выведено сообщение: «С: [срм] ».
Ниже приводятся основные команды симулятора:
DIR – вывод на экран каталога имен файлов. Например:
DIR *. ASM [Enter] – вывод на экран каталога имен файлов с расширением .ASM.
TYPE – вывод на экран листинга файла.
ERA – стирание (удаление) файла на диске. Например:
ERA SORT. * [Enter] – стирание всех файлов программы SORT.
REN – переименование файла. Например:
REN HARRY. ASM = GEORGE. ASM [Enter] – переименование файла GEORGE. ASM в файл HARRY.ASM.
SAVE – запись на диск программы, записанной в ОЗУ. Например:
SAVE 3 TOM. COM [Enter] – запись на диск в файл с названием ТОМ трех байтовых страниц (области памяти: с 100 Н по 3 FFH).
DOS – выход из программы симулятора.
Рассмотрим основные команды отладчика SID.
SID ABC. COM – загрузка в отладчик программы ABC. COM. При загруженном отладчике в начале командной строки постоянно выведен знак # .
Команды вывода на экран:
– L100 – индикация на экране 11 строк текста программы, загрузочного модуля;
– D2000 – индикация на экране содержимого СОН ячеек памяти, начиная с ячейки 2000Н.
Команды старта программ:
– G108, 10A – выполнение программы с команды 108 и остановкой на команде 10А (без выполнения последней).
– Т5 – 1)выполняются 5 команд с начала программы или с места предыдущего останова;
2) для каждой команды инициируется строка состояния программно- доступных регистров по результату предыдущей команды.
– X – индикация строки состояния программно-доступных регистров по результату последней выполняемой команды.
Команды изменения содержимого регистров, ячеек памяти, а также команд подпрограммы:
– XB [Enter] – инициируется текущее содержимое регистровой пары ВС.
– S2005 [Enter] – инициируется текущее содержание ячейки памяти 2005Н.
- GO – выход из отладчика SID.
Последовательность работы с симулятором CPM и отладчиком SID такова.
Вначале формируется стандартный текстовый файл исходного модуля программы с расширением .ASM. Если это делается при загруженном симуляторе, то, например, можно использовать текстовый редактор EDIT.
Если числовое значение операнда начинается с буквы, то перед начальной цифрой должна быть цифра 0. Последовательности цифр в программах должны оканчиваться буквой В (если число двоичное), или Q (если число восьмеричное), или Н (если число шестнадцатеричное), а если число десятичное – буквой D или совсем без буквы.
Область памяти до ячейки FF является рабочей областью системы эмулятора, поэтому программы должны начинаться с ячейки памяти 100 (т.е. с команды ORG 100H). В конце программы должна быть команда END.
Если симулятор не был загружен – загрузить его и произвести ассемблирование исходного модуля командой МАС.
Например: МАС 155КР7. ASM
При ассемблировании текст исходного модуля (с расширением .ASM) преобразуется в объектный модуль (с расширением .HEX), образуется файл с листингом ассемблированной программы (с расширением .PRN).
Далее объектный модуль преобразуется в загрузочный (с расширением .СОМ) командой LOAD (например, LOAD 155КР7).
Программа загрузочного модуля может выполняться как полностью, так и по частям, с разными исходными данными, а также редактироваться в отладчике SID.
По окончании отладки программы, необходимо выйти из отладчика и отлаженную программу записать на диск. Если программа умещается в область памяти от 100 до 1FF, то примером такой команды может быть команда
SAVE 1 155КР7. СОМ
С помощью программы дизассемблера программа загрузочного модуля ( .СОМ) переводится в программу объектного модуля ( .HEX), затем в программу исходного модуля ( .ASM), при этом создается файл с программой, записанной на ассемблере ( .PRN).
Пример команды дизассемблирования: DISASM 155КР7. СОМ
Дата добавления: 2021-12-14; просмотров: 314;