Микропроцессоры

Язык программирования ASM-51

Язык программирования АSМ51 поддерживает модульное написание программ. Графическое изображение процесса написания программы на языке программирования ASM-51 приведено на рисунке 1.

Рисунок 1. Процесс написания программы на языке программирования ASM-51.

Файл, в котором хранится программа, написанная на языке АSМ51 (исходный текст программы), называется исходным модулем. Для исходного текста программы принято использовать расширения файла: asm, a51, srs, s51. Исходный текст программы можно написать, используя любой текстовый редактор.

Получить объектный модуль можно, указав имя исходного модуля программы в качестве параметра программы-транслятора в DOS строке или строке командного файла:

asm51.exe modul.asm

Получить исполняемый модуль программы можно, указав все имена объектных модулей программы в качестве параметров программы редактора связей в DOS строке или строке командного файла:

rl51.exe main.obj, modul1.obj, modul2.obj

Имя исполняемого модуля программы по умолчанию совпадает с именем первого объектного файла в списке параметров строки запуска редактора связей. Исполняемый модуль программы записывается в файл без расширения.

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

Загрузочный модуль программы можно получить при помощи программы-преобразователя программы oh.exe, передав ей в качестве параметра имя файла исполняемого модуля программы:

oh.exe main

Отладка программ

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

Рисунок 2. Пример системы отладки программного обеспечения для микроконтроллеров.

Запись исходного текста программы на языке программирования ASM-51

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

Оператор - это базовая конструкция языка программирования, определяющая действия в программе. В языке программирования ASM-51 в одной строке может быть записан только один оператор! Максимальный размер строки - 255 символов. Признаком конца оператора является символ "возврат каретки".

Оператор состоит из трех полей:

<поле метки> <поле операции> <поле комментария>,

Любое из полей, в том числе и все поля, могут отсутствовать. Оператор, в котором все поля отсутствуют, называется пустым оператором. Он используется для увеличения наглядности программы.

Пример оператора, записанного на языке программирования ASM-51:

Поле метки используется для записи меток. Метки используются для организации условных и безусловных переходов, а также для объявления переменных и констант. Признаком конца поля метки является символ "двоеточие" (:). Однако язык программирования ASM-51, в виде исключения, допускает использовать символы интервала как признак конца поля метки.

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

Пример использования оператора, содержащего только метку:

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

Поле комментария начинается с символа "точка с запятой" (;). Это поле используется для записи пояснений к программе. Оператор, в котором присутствует только поле комментария, используется для увеличения наглядности программы.

Комментарий начинается с символа (;) и может содержать любые ASCII символы. Примеры комментариев:

;---------------------------------------------------------------------------------------- ; ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ФУНКЦИИ ;---------------------------------------------------------------------------------------- ; X + Y * Z

[Назад] [Содержание] [Вперёд]