Курс лекций - Микропроцессоры

Объявление переменных в языке программирования PLM-51


В языке программирования PLM-51 могут быть объявлены пять типов объектов: переменные, константы, литералы, метки и подпрограммы. В одном блоке для каждого имени допустимо только одно объявление. Переменные, константы, литералы и подпрограммы должны быть объявлены раньше, чем они будут использованы в исполняемом операторе.

Метка может быть объявлена двумя способами:

  1. если она стоит перед выполняемым оператором и заканчивается с двоеточием (:)
  2. определена в операторе DECLARE.

Подпрограмма объявляется оператором PROCEDURE и определяется между операторами PROCEDURE и END.

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

declare Chr byte; declare Count word; declare Chr byte, Count word;

Переменная может быть скаляром, массивом или структурой.

Cкаляр является объектом, значение которого не известно на этапе трансляции, и может изменяться в процессе выполнения программы. К нему обращаются при помощи идентификатора переменной.

Скаляр обязательно имеет тип. В языке программирования PLM-51 это может быть восьмибитовая беззнаковая переменная - byte, шестнадцатибитовая беззнаковая переменная - word или однобитовая переменная - bit.

Массив - это набор скаляров одинакового типа, имеющих один идентификатор, и различающихся индексами.

Например:

А(0),  A(1),  A(2), A(3),  и т.д.

Структура позволяет объединять под одним именем переменные разного типа. Ее элементы различаются друг от друга идентификаторами поля. Например, индикатор Employees.Name обращается к полю Name внутри структуры Employees. Массивы и структуры могут быть как переменной, так и константой.

Так как микроконтроллеры семейства MCS-51 имеют несколько адресных пространств, то транслятору необходимо указывать, в какой из областей памяти необходимо размещать переменные.


- Начало -  - Назад -  - Вперед -