
- •5. Язык программирования asm-51.
- •5.1 Отладка программ.
- •5.2 Запись текста программы на языке программирования asm-51.
- •5.3 Алфавит языка.
- •5.4 Идентификаторы.
- •5.5 Числа.
- •5.6 Директивы языка программирования asm-51.
- •5.7 Реализация подпрограмм на языке asm51.
- •5.7.1 Реализация подпрограмм-процедур на языке asm51.
- •5.7.2 Передача переменных-параметров в подпрограмму.
- •5.7.3 Реализация подпрограмм-функций на языке asm51.
- •5.7.4 Реализация подпрограмм обработки прерываний на языке asm51.
- •5.8 Структурное программирование на языке asm-51.
- •5.9 Многомодульные программы.
- •5.10 Использование сегментов в языке программирования ассемблер.
- •5.10.1 Абсолютные сегменты памяти.
- •5.10.2 Перемещаемые сегменты памяти.
5. Язык программирования asm-51.
Язык программирования АSМ51 поддерживает модульное написание программ. Графическое изображение процесса написания программы на языке программирования 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
5.1 Отладка программ.
После того, как программные модули были успешно оттранслированы, размещены по конкретным адресам и связаны между собой, для отладки программы можно воспользоваться внутрисхемным эмулятором. Внутрисхемный эмулятор с отображением переменных языка программирования на дисплее компьютера оказывает значительную помощь при отладке программ непосредственно на разрабатываемой аппаратуре.
5.2 Запись текста программы на языке программирования asm-51.
Исходный текст программы представляет собой последовательность операторов языка, сгруппированных в сегменты и оформленных в виде файла.
Оператор - это базовая конструкция языка программирования, определяющая действия в программе. В языке программирования ASM-51 в одной строке может быть записан только один оператор. Максимальный размер строки - 255 символов. Признаком конца оператора является символ "возврат каретки". Оператор состоит из трех полей: <поле метки> <поле операции> <поле комментария>
Пример оператора, записанного на языке программирования ASM-51:
Поле метки используется для записи меток. Метки используются для организации условных и безусловных переходов, а также для объявления переменных и констант. Признаком конца поля метки является символ "двоеточие" (:).Однако язык программирования ASM-51, в виде исключения, допускает использовать символы интервала как признак конца поля метки.
Поле операции используется для записи директивы языка или инструкции микроконтроллера, которые состоят из мнемонического обозначения команды микроконтроллера и одного или нескольких операндов. В качестве операндов могут использоваться адреса ячеек памяти, обозначения регистров или метки операторов. Операнды отделяются друг от друга запятыми.
Поле комментария начинается с символа "точка с запятой" (;). Это поле используется для записи пояснений к программе.