Оператор CALL

Определение: Вызывает на выполнение программу, по указанному адресу или записанную в указанном в операторе файле.

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

Адрес программы должен состоять из трех чисел разделенных символом ','. Перед адресом может стоять индекс библиотеки. При отсутствии индекса библиотеки выбирается библиотека текущей программы, а при вызове из файла текущая обрабатываемая библиотека. Если номер книги и тома равны 0 то выбирается текущий том.

Оператор Call позволяет запускать программные файлы MS-DOS с расширениями .EXE .COM .BAT и передавать им параметры. Если не указан полный путь запускаемый файл ищется в директории PRG, а затем в соответствии с переменной PATH заданной в файле AutoExec.Bat. Перед запуском программы директория запускаемого файла становится текущей.

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

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

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

Параметр указывает количество повторений указанной программы. В случае равенства параметра нулю происходит независимый вызов (порождается новый процесс), при котором все переменные и состояние работы САДКО запоминаются, а при возврате восстанавливаются.

Примеры:

  1. [Call 0, 0, 1] Вызвать программу расположенную в текущей библиотеке, текущем томе, в первом фрагменте.
  2. [Call A1, 2, 3] Вызвать программу расположенную в библиотеке A, в книге 1, томе 2, и фрагменте 3.
  3. {Call CTRL_Y} Запустить программу Ctrl_Y.mak.
  4. [Call C:/Aids/DrWeb/DrWeb.Exe C:/Newage] Запустить программу "доктор Web" с параметром C:/Newage.

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

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