Оператор GOSUB

Определение: Вызывает подпрограмму с оператора, отстоящего от GOSUB на заданное число строк вверх или вниз по тексту программы или по указанной метке. При достижении в подпрограмме оператора {Stop}, управление передается следующему за GOSUB оператору.

Формы записи: {<параметр> GOSUB <переменная|метка>}

Параметр указывает число строк вниз до подпрограммы. Если параметр меньше нуля, то переход осуществляется вверх по тексту программы. При вызове программы режим контроля обработок сообщений переводится в состояние [S+].

При наличии метки в операторе производится ее поиск вниз по тексту программы (для перехода вверх {0GoSub метка}). Метка в тексте программы оформляется с первой позиции строки символом " . Метка может состоять не более чем из семи алфавитно - цифровых символов, причем метки набранные на различных регистрах считаются разными.

Переменные A..Н передаются и возвращаются в подпрограммы. Если этих переменных недостаточно, то необходимые данные можно передавать через стек, т.е. перед обращением записать их в стек оператором PUSH, а в подпрограмме считать оператором POP.

Переменные I..P являются локальными и их значение не передается в подпрограммы и не возвращается из них, другими словами их нельзя изменить, вызовом подпрограммы.

Пример:
{2 GoSub} {оператор}
{1 Gosub} {GoSub Процесс} {Stop}
{Rem подпрограмма} {операторы}{Stop}
"Процесс {операторы} {Stop}

© ООО "АТЛАС" г.Воронеж, 2007. Все права защищены.

Сайт создан в системе uCoz