Структура подпрограммы-процедуры на языке ASM51
Подпрограммы на языке программирования ASM-51 выносятся отдельно от основного текста программы. Обычно подпрограммы размещают после основного текста программы для того, чтобы случайно не передать управление подпрограмме не оператором вызова подпрограммы. Это может произойти из-за того, что ассемблер назначает адреса операторам в порядке их написания.
Исходный текст подпрограммы начинается с метки, которая одновременно является именем подпрограммы. Именно это имя указывается в качестве операнда в команде вызова подпрограммы CALL. Возвращение из подпрограммы на оператор, следующий за оператором вызова подпрограммы осуществляется оператором RET. Все операторы, относящиеся к подпрограмме располагаются между меткой, обозначающей имя подпрограммы и оператором возврата из подпрограммы.
Подпрограмма-процедура вызывается командами процессора LCALL и ACALL (рис. 4.8). В языке программирования ASM51 допустимо использования директивы CALL эта директива подбирает наиболее подходящую к данному случаю по размеру команду.
Рис. 4.8. Пример подпрограммы управления последовательным портом.
Дата добавления: 2015-10-09; просмотров: 730;