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

и переменная, поэтому любое обращение


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

Объявление подпрограммы состоит из 3-х частей: зарезервированного слова PROCEDURE, последовательности операторов, составляющих тело подпрограммы, и зарезервированного слова END:

<имя>:procedure [(<список параметров>)] [<адресное пространство>] [<атрибуты>]; <operator-1>; <operator-2>; ... <operator-N>; end [<имя>]; Например:

ProverkaDveri: Procedure; if VneshnDverZaperta and VnutrDverZaperta then Call VkluchitPitanie; else Call Trevoga; end ProverkaDveri; где VkluchitPitanie и Trevoga это подпрограммы а VneshnDverZaperta и VnutrDverZaperta глобальные битовые переменные, объявленные раньше описываемой подпрограммы.

Имя подпрограммы в операторе PROCEDURE выглядит точно также, как и определение метки, однако имя подпрограммы не является меткой. Область действия подпрограммы определяется местоположением ее объявления в тексте программы точно так же, как область действия переменной определяется местоположением оператора DECLARE. Объявление подпрограммы может содержать в себе операторы объявления DECLARE, и эти операторы должны предшествовать первому выполняемому оператору в теле подпрограммы.

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


Содержание раздела