ПРОГРАММА ПАКЕТНОЙ ОБРАБОТКИ
РУКОВОДСТВО ОПЕРАТОРА

1. НАЗНАЧЕНИЕ ПРОГРАММЫ И УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ

Программа пакетной обработки (BATCH) предназначена для выполнения пакета заданий.

Программа BATCH позволяет:

  1. выполнять пакетную обработку под управлением монитора одного задания (SJ) или в фоновом режиме под управлением мониторов основного-фонового задания (FB, ХМ);
  2. вводить поток заданий с любого устройства, поддерживаемого системой ФОДОС-2;
  3. использовать команды клавиатурного монитора (КЯС) в потоке заданий;
  4. выводить регистрационный файл на любое устройство, поддерживаемое системой ФОДОС-2 (кроме MT:).

Для работы BATCH под управлением монитора SJ необходимо, как минимум, 12К слов оперативной памяти. Для работы BATCH в фоновом режиме под управлением монитора FB необходимо, как минимум, 16К слов оперативной памяти.

Для выполнения своих операций BATCH использует системные программы ФОДОС-2;

Перед работой с BATCH необходимо убедиться, что на системном устройстве находятся перечисленные выше файлы.

2. ОСНОВНЫЕ ПОНЯТИЯ

Задание - основная независимая единица работы ЭВМ, задаваемая пользователем. Каждое задание описывается с помощью управляющих операторов системно-независимого языка BATCH. Задания могут быть одиночными или сгруппированы в один пакет, который образует входной поток заданий. Задание может содержать команды КЯС и системных программ. Режим выполнения программой BATCH таких команд называется системным режимом работы BATCH. Пакет заданий создаётся пользователем с помощью редактора текста.

Процесс пакетной обработки заключается в следующем: BATCH воспринимает входной поток заданий, транслирует его и организует в виде файла на магнитном носителе. Результат трансляции представляет собой управляющий файл BATCH. Затем драйвер BATCH (BA.SYS) обрабатывает этот файл и, таким образом, выполняет пакет заданий пользователя.

Регистрационный файл - файл, который формируется программой BATCH в результате выполнения пакета заданий и включает в себя команды из пакета заданий и сообщения, предназначенные для вывода на терминал.

3. СИСТЕМНО-НЕЗАВИСИМЫЙ ЯЗЫК BATCH

Системно-независимый язык BATCH предназначен для составления заданий пользователя.

Задание на языке BATCH состоит из данных и управляющих операторов, записанных с помощью символов кода КОИ-7 (коды 40-137). Назначение основных символов приведено в табл. 1.

Таблица 1

Символ

Назначение

Пробел

Разделитель полей управляющего оператора

!

Ограничитель комментария

"

Преобразователь символа. Используется также в строке текста, содержащей символы разделителей

¤

Признак управляющего оператора BATCH

.

Разделитель для типа файла

-

Символ продолжения строки, если после него следует один из следующих символов: комбинация <ВК> и <ПС>; любое число пробелов и табуляций, за которыми следует <ВК> и <ПС>; ограничитель комментария; пробелы за которыми следует ограничитель комментария.

Если за дефисом (-) следует другой символ, то дефис воспринимается как минус, указывающий отрицательную величину

/

Признак переключателя

0-9

Числовые компоненты строки

:

Ограничитель имени устройства; может быть использован для разделения имени переключателя и его аргумента

A-Z

Буквенные компоненты строки

=

Разделитель имени переключателя и его аргумента

\

Признак директивы оператора

+

Разделитель файлов, используемых в одной и той же операции. Используется также для обозначения положительной величины

,

Разделитель аргументов в команде

*

Конструкция "звёздочка" для спецификации файлов

<ВК>,
<ПС>

Символы возврата каретки и перевода строки. Указывают конец строки или конец записи

В системном режиме BATCH интерпретирует символы из табл. 1, иначе (см. п. 3.4).

3.1. Формат управляющих операторов

Управляющий оператор может занимать от одного до трех полей - поле команды, поле спецификации и поле комментария, которые распознаются по порядку их следования и ограничительным символам. Поле спецификации может в свою очередь состоять из нескольких полей, что определяется числом спецификаций файлов в управляющем операторе.

Синтаксис управляющего оператора:

¤команда/прк спф/прк [!ком]

где

/прк

- переключатель;

 

спф

- спецификация файла;

 

!ком

- комментарий.

Количество символов в управляющем операторе должно быть не более 80, не считая пробелов, табуляции и комментария. Допускается продолжение оператора на следующую строку с помощью дефиса (-).

3.1.1. Поле команды

Поле команды в управляющем операторе BATCH содержит операцию, которая должна быть выполнена. Оно состоит из имени команды и переключателей поля команды. Имя команды в первой позиции имеет символ ¤. Пробелы в имени команды не допускаются. Существует две формы имени команды: полная и сокращённая, состоящая из ¤ и первых трех символов имени команды. Функции переключателей распространяются на весь управляющий оператор. Переключатель должен непосредственно следовать за именем команды и начинаться с наклонной черты (/).

ПРИМЕЧАНИЕ. Для всех переключателей поля команды существуют противоположные по своим функциональным действиям переключатели, которые записываются с префиксом /NO (/DELETE - /NODELETE) и являются переключателями по умолчанию, кроме /NOWAIT для команд ¤MOUNT и ¤DISMOUNT, и /NOOBJECT для команды ¤LINK.

Поле команды ограничивается пробелом, табуляцией или возвратом каретки.

Команды BATCH приведены в табл. 2.

Таблица 2

Команда

Функция

¤SEQ[UENCE]

Присваивает заданию идентифицирующий номер

¤JOB

Указывает начало задания

¤EOJ

Указывает конец задания

¤MOU[NT]

Сообщает оператору о необходимости установки определённого тома на устройство

¤DIS[MOUNT]

Сообщает оператору о необходимости снятия тома с устройства

¤FOR[TRAN]

Транслирует исходную программу на языке ФОРТРАН

¤BAS[IC]

Транслирует исходную программу на языке БЕЙСИК

¤MAC[RO]

Транслирует исходную программу на языке АССЕМБЛЕР

¤LIB[RARY]

Указывает библиотеки, которые BATCH должна использовать в операции редактирования

¤LIN[K]

Редактирует объектные модули

¤RUN

Вызывает выполнение программы

¤CAL[L]

Передаёт управление другому управляющему файлу BATCH, выполняет его и возвращает управление вызывающему заданию

¤CHA[IN]

Передаёт управление другому управляющему файлу BATCH

¤DAT[A]

Указывает начало данных

¤EOD

Указывает конец данных

¤MES[SAGE]

Выдает сообщение оператору

¤COPY

Копирует файлы

¤CRE[ATE]

Создаёт файлы из данных, включённых в задание

¤DEL[ETE]

Удаляет файлы

¤DIR[ECTORY]

Обеспечивает справочником указанного тома

¤PRI[NT]

Печатает файлы

¤FODS

Указывает, что следующие строки являются командами системного режима

В табл. 3 приведены переключатели поля команды.

Таблица 3

Переключатель

Функция

/BAN[NER]

Включает в регистрационный файл заголовок задания. Используется только с командой ¤JOB

/CRE[F]

Создаёт во время трансляции вспомогательный файл таблицы перекрёстных ссылок. Используется только с командой ¤MACRO

/DEL[ETE]

Удаляет входные файлы после выполнения операции. Используется с командами ¤COPY и ¤PRINT

/DOL[LARS]

Указывает, что данные, непосредственно следующие за командой, могут иметь символ ¤ в первой позиции строки. Используется с командами ¤CREATE, ¤DATA, ¤FORTRAN и ¤MACRO. BATCH прекращает чтение данных из входного потока, если встретит физический конец файла или одну из следующих команд: ¤JOB, ¤SEQUENCE, ¤EOD, ¤EOJ

/LIB[RARY]

Включает в операцию редактирования библиотеку по умолчанию (SYSLIB.OBJ) и все библиотечные файлы, определённые в задании по команде ¤LIBRARY. Используется с командами ¤LINK и ¤MACRO

/LIS[T]

Создаёт вспомогательный файл листинга на устройстве LST: или записывает данные из задания на регистрационное устройство LOG:. Используется с командами ¤BASIC, ¤CREATE, ¤DATA, ¤JOB, ¤FORTRAN и ¤MACRO

/МАР

Создаёт вспомогательный файл карты загрузки на устройстве LST:. Используется с командами ¤FORTRAN, ¤LINK и ¤MACRO

/ОВJ[ЕСТ]

Создаёт вспомогательный объектный файл. Используется с командами ¤FORTRAN, ¤LINK и ¤MACRO. При использовании с командой ¤LINK включает вспомогательные объектные файлы в операцию редактирования. Является в этом случае переключателем по умолчанию

/FODS

Устанавливает системный режим работы BATCH. Используется только с командой ¤JOB

/RUN

Редактирует и/или вызывает программу. Используется с командами ¤BASIC, ¤FORTRAN, ¤LINK и ¤MACRO

/ТIМ[Е]

Записывает величину времени суток в регистрационный файл. Используется только с командой ¤JOB

/UNI[QUE]

Осуществляет орфографическую проверку на единственность переключателей и команд. Использование этого переключателя допускает сокращение имён команд и переключателей до символов, сохраняющих единственность трактовки их имён. Используется только с командой ¤JOB

/WAI[T]

Задерживает выполнение задания и ждёт действия оператора. Используется командами ¤DISMOUNT, ¤MOUNT и ¤MESSAGE. Является переключателем по умолчанию для команд ¤MOUNT и ¤DISMOUNT. Печатает вопросительный знак и ждёт ответа. Ответ может содержать директивы оператора

/WRI[TE]

Сообщает оператору о необходимости разрешения записи на том. Используется только с командой ¤MOUNT

3.1.2. Поле спецификации

Поле спецификации следует непосредственно за полем команды. Оно используется для включения в команду имён устройств и файлов. Поля спецификации отделяются от поля команды и друг от друга пробелами. Если поле спецификации содержит более одного файла, используемого в одной и той же операции, соответствующие этим файлам поля отделяются символом "плюс" (+).

Пример:

¤MACRO F1 + F2/SOURCE F3/OBJECT

При необходимости повторения команды для различных файлов, поля спецификации отделяются запятой.

Пример:

¤MACRO F1/SOURCE F2/OBJECT F3/MAP,F4 + F5/SOURCE F6/OBJECT

В этом примере АССЕМБЛЕР транслирует файл F1 и создаёт для него объектный файл F2 и файл карты загрузки F3, затем транслирует файлы F4 и F5 и создаёт для них объектный файл F6.

Функции переключателей поля спецификации распространяются только на то поле, за которым они непосредственно следуют.

В зависимости от используемой команды поле спецификации может содержать спецификации файлов, переключатели поля спецификации (табл. 4) или произвольную строку символов кода КОИ-7.

Переключатели поля спецификации должны следовать непосредственно за спецификацией файлов; они указывают как используется файл.

Таблица 4

Переключатель

Функция

/BAS[IC]

Указывает исходный файл на языке БЕЙСИК

/EXE[CUTABLE]

Указывает на создание файла формата отображения памяти, как результата операции редактирования

/FOR[TRAN]

Указывает исходный файл на языке ФОРТРАН

/INP[UT]

Указывает входной файл; является переключателем по умолчанию

/LIB[RARY]

Указывает библиотечный файл для включения его в операцию редактирования

/LIS[T]

Указывает файл листинга

/LOG[ICAL]

Указывает логическое имя устройства

/MAC[RO]

Указывает исходный файл на языке АССЕМБЛЕР

/MAP

Указывает файл карты загрузки

/OBJ[ECT]

Указывает объектный файл

/OUT[PUT]

Указывает выходной файл

/PHY[SICAL]

Указывает физическое имя устройства

/SOU[RCE]

Указывает исходный файл

/VID

Указывает идентификатор тома

3.1.2.1. Имена устройств

Каждое устройство в поле спецификации обозначается стандартным именем устройства (два или три символа). Если не указан номер привода для устройства, BATCH предполагает привод 0.

Допускается присвоение устройствам логических имён.

Перед работой с BATCH пользователю необходимо присвоить устройствам логические имена LOG: и LST:, которые используются BATCH в качестве устройств по умолчанию для вывода, соответственно, регистрационных файлов и файлов листингов (регистрационным устройством LOG: может быть любое устройство, кроме MT:).

3.1.2.2. Спецификация файлов

Формат спецификации файлов в управляющих операторах BATCH соответствует общему формату спецификаций файлов операционной системы ФОДОС-2. Если тип файла не указан, BATCH присваивает ему стандартное значение типа файла (табл. 5).

Таблица 5

Тип файла

Характеристика файла

.BAS

Исходный файл на языке БЕЙСИК

.ВАТ

Файл команд BATCH

.CTL

Управляющий файл BATCH

.СТТ

Вспомогательный файл BATCH

.DAT

Файл данных на языке БЕЙСИК или ФОРТРАН

.DIR

Файл листинга справочника

.FOR

Исходный файл на языке ФОРТРАН

.LST

Файл листинга

.LOG

Регистрационный файл BATCH

.MAC

Исходный файл на языке АССЕМБЛЕР

.MAP

Файл карты загрузки

.OBJ

Объектный файл

.SOU

Вспомогательный исходный файл

.SAV

Файл формата отображения памяти

В некоторых управляющих операторах BATCH (¤СОРУ, ¤CREATE, ¤DELETE, ¤DIRECTORY и ¤PRINT) допускается использование конструкции звёздочка (*) для обозначения имени или типа файла.

ПРИМЕЧАНИЕ. В управляющих операторах BATCH нельзя использовать встроенные конструкции (* или %). Однако, они допустимы в спецификациях файлов для системного режима работы BATCH.

3.1.3. Поле комментария

Поле комментария распознаётся по ограничительному символу (!), который может занимать любую позицию в управляющем операторе, кроме первой. BATCH воспринимает все символы, следующие за восклицательным знаком и предшествующие возврату каретки, как комментарий.

3.1.4. Вспомогательные файлы

Если управляющий оператор не содержит поле спецификации, BATCH создаёт, так называемые, вспомогательные файлы, необходимые для выполнения требуемой команды.

Пример:

¤MACRO/RUN/OBJECT/LIST
Исходная программа ¤EOD

В этом примере BATCH создаёт следующие вспомогательные файлы: исходный, объектный, файл листинга программы и файл формата отображения памяти.

BATCH выводит вспомогательные файлы на устройство по умолчанию DK: или на устройство листинга LST: (устройство, предназначенное для вывода листингов программ). Если устройство вывода имеет файловую структуру, BATCH присваивает вспомогательным файлам следующие имена:

HHHMMM.LST - файл листинга (выводится на LST:)

НННМММ.МАР - файл карты загрузки (выводится на LST:)

HHHППП.OBJ - объектный файл (выводится на DK:)

HHHППП.SOU - исходный файл (выводится на DK:)

Вспомогательному файлу формата отображения памяти (выводится на DK:) BATCH присваивает имя 000000.SAV;

где

ННН

-последние три цифры номера задания, присвоенного по команде ¤SEQUENCE. Если команда ¤SEQUENCE не используется, BATCH приписывает ННН значение 000;

 

МММ

- номер файла листинга (или карты загрузки), созданного BATCH с тех пор, как был загружен драйвер BA.SYS. Первый такой файл имеет номер 000;

 

ППП

- номер объектного, формата отображения памяти или исходного файла, созданного BATCH во время выполнения текущей команды. Первый такой файл имеет номер 000.

BATCH устанавливает ППП в 000 каждый раз после выполнения команд ¤LINK, ¤MACRO, которые используют вспомогательные файлы.

3.2. Общие правила составления задания

Для работы с BATCH пользователь должен придерживаться следующих правил составления задания:

  1. символ ¤ занимает первую позицию в строке управляющего оператора;
  2. каждое задание начинается командой ¤JOB и ограничивается командой ¤EOJ;
  3. имя команды и переключателя определяется полностью или по первым трем символам для команды и соответствующим символам для переключателя;
  4. конструкция звёздочка (*) определяется только в командах ¤COPY, ¤CREATE, ¤DELETE, ¤DIRECTORY и ¤PRINT или в тех командах системного режима работы BATCH, которые обычно допускают её использование;
  5. максимальная длина управляющего оператора - 80 символов, исключая пробелы, табуляцию и комментарий;
  6. для вызова BATCH нельзя использовать косвенный файл.

3.3. Команды BATCH

Все команды BATCH должны начинаться символом ¤, который должен занимать первую позицию в строке.

3.3.1. Команда ¤SEQUENCE.

Команда ¤SEQUENCE является необязательной. Если пользователь определяет её, она должна непосредственно предшествовать команде ¤JOB. Команда ¤SEQUENCE присваивает заданию идентифицирующий номер. Если номер, указанный пользователем, представляет собой число, состоящее из менее чем трех символов, BATCH дополняет его нулями слева.

Синтаксис команды:

¤SEQUENCE ID [!ком]

где

ID

- номер задания (десятичное число без знака).

Пример:

¤SEQUENCE 3 !номер задания 003
¤JOB

3.3.2. Команда ¤JOB.

Команда ¤JOB указывает начало задания. Каждое задание должно иметь свою команду ¤JOB и заканчиваться командой ¤EOJ.

Синтаксис команды:

¤JOB [/прк...] [!ком]

где

/прк

- один из следующих переключателей: /BANNER, /NOBANNER, /LIST, /NOLIST, /FODS, /NOFODS, /TIME, /NOTIME, /UNIQUE и /NOUNIQUE.

Пример:

¤JOB/TIME/UNIQUE

По этой команде BATCH допускает сокращение имён команд и переключателей в задании и записывает величину времени суток в регистрационный файл.

3.3.3. Команда ¤EOJ.

Команда ¤EOJ указывает конец задания. Для каждого задания она должна быть последней командой.

Синтаксис команды:

¤EOJ [!ком]

3.3.4. Команда ¤MOUNT.

Команда ¤MOUNT присваивает устройству логическое имя и сообщает оператору о необходимости установки на устройство определённого тома (когда BATCH встретит ¤MOUNT при выполнении задания, она напечатает эту команду на системном терминале).

Синтаксис команды:

¤MOUNT [/прк...] фим:[/PHYSICAL] [/VID=X]-
[лим:/LOGICAL] [!ком]

где

/прк

- один из следующих переключателей: /WAIT, /NOWAIT, /WRITE и /NOWRITE;

 

фим:

- физическое имя и номер привода устройства. Если номер привода не указан, оператор может ввести его в ответ на вопросительный знак, который печатает BATCH;

 

/PHYSICAL

- переключатель, указывающий физическое имя устройства. Если для спецификации устройства не определён ни /PHYSICAL, ни /LOGICAL, BATCH предполагает переключатель /PHYSICAL;

 

/VID=X

- указывает идентификатор тома (X). Идентификатор тома представляет собой имя, присвоенное тому для облегчения его поиска оператором и наносится на этикетку тома. Если идентификатор содержит пробелы, его необходимо заключить в кавычки ("X");

 

лим:

- логическое имя устройства;

 

/LOGICAL

- переключатель, указывающий логическое имя.

Пример:

¤MOUNT/WAIT/WRITE RK:/VID=TIMM 3:/LOGICAL
?

Эта команда сообщает оператору о необходимости выбора привода для диска RK: и установки на него тома TIMM. Оператор выбирает привод, устанавливает том с именем TIMM, разрешает на него запись и в ответ на вопрос печатает номер выбранного привода. BATCH присваивает диску логическое имя 3.

3.3.5. Команда ¤DISMOUNT.

Команда ¤DISMOUNT отменяет логическое имя устройства, присвоенное командой ¤MOUNT и сообщает оператору о необходимости разгрузки определённого устройства (когда BATCH встретит ¤DISMOUNT при выполнении задания, она напечатает эту команду на системном терминале).

Синтаксис команды:

¤DISMOUNT [/прк...] лим:[/LOGICAL] [!ком]

где

/прк

- один из следующих переключателей: /WAIT и /NOWAIT;

 

лим:

- логическое имя устройства, которое необходимо отменить;

 

/LOGICAL

- переключатель, указывающий логическое имя устройства.

Пример:

¤DISMOUNT/WAIT OUT:/LOGICAL
RK2:?

Эта команда сообщает оператору о необходимости разгрузки устройства OUT: и отменяет логическое имя OUT: (OUT: было присвоено RK2:). Оператор разгружает RK2: и печатает возврат каретки.

3.3.6. Команда ¤BASIC.

Команда ¤BASIC вызывает трансляцию исходной программы на языке БЕЙСИК. Синтаксис команды:

¤BASIC [/прк...] [испф/прк1] [!ком]

где

/прк

- один из следующих переключателей: /RUN, /NORUN, /LIST и /NOLIST;

 

испф

- спецификация исходного файла. Если она не указана, непосредственно за командой должен следовать текст исходной программы. Переключатели (/прк1) для спецификации v исходного файла могут быть следующие: /BASIC, /SOURCE и /INPUT (табл. 4). Исходная программа после команды ¤BASIC ограничивается командой ¤EOD или любой командой BATCH.

3.3.7. Команда ¤FORTRAN.

Команда ¤FORTRAN вызывает трансляцию исходной программы на языке ФОРТРАН. Синтаксис команды:

¤FORTRAN [/прк...] [испф[/прк1]] [спф/OBJECT] -
[спф/LIST] [спф/EXECUTE] -Р] [спф/LIBRARY] [!ком]

где

/прк

- один из следующих переключателей: /RUN, /NORUN, /OBJECT, /NOOBJECT, /LIST, /NOLIST, /МАР, /NOMAP, /DOLLARS и /NODOLLARS;

 

испф

- спецификация исходного файла. Если она не указана, непосредственно за командой должен следовать текст исходной программы. Переключатели (/прк1) для спецификации исходного файла могут быть следующие: /FORTRAN, /SOURCE и /INPUT (табл. 4). Исходная программа после команды ¤FORTRAN ограничивается командой ¤EOD или любой командой BATCH. Если символ ¤ находится в первой позиции исходной программы, то команда ¤FORTRAN/DOLLARS не используется, текст исходной программы должен следовать за командой ¤CREATE/DOLLARS;

 

спф/OBJECT

- спецификация для объектного файла, создаваемого транслятором. Если она не указана, но с командой ¤FORTRAN определён переключатель /OBJECT, то BATCH создаёт вспомогательный объектный файл, который удаляет после операции редактирования;

 

спф/LIST

-спецификация для файла листинга, создаваемого транслятором. /LIST указывает файл листинга;

 

спф/EXECUTE

- спецификация для файла формата отображения памяти. Если она не указана, BATCH создаёт вспомогательный файл формата отображения памяти, который потом стирает. Если эта спецификация включена в команду, за ней должен следовать переключатель /EXECUTE;

 

спф/МАР

- спецификация для файла карты загрузки. Если она включена в команду, за ней должен следовать переключатель /МАР;

 

спф/LIBRARY

- спецификация файла библиотеки. Переключатель /LIBRARY указывает BATCH на включение этого файла в операцию редактирования.

Пример:

¤FORTRAN/LIST/OBJECT PROG.FOR

По этой команде BATCH транслирует программу PROG.FOR и создаёт вспомогательный файл листинга и вспомогательный объектный файл.

3.3.8. Команда ¤MACRO.

Команда ¤MACRO вызывает трансляцию исходной программы на языке АССЕМБЛЕР. Синтаксис команды:

¤MACRO [/прк...] [испф[/прк1]] [спф/OBJ] [спф/LIST] -
[спф/МАР] [спф/LIBRARY] [спф/EXECUTE] [!ком]

где

/прк

- один из следующих переключателей: /RUN, /NORUN, /OBJECT, /NOOBJECT, /LIST, /NOLIST, /CREF, /NOCREF, /MAP, /NOMAP, /DOLLARS, /NODOLLARS, /LIBRARY, /NOLIBRARY;

 

испф

- спецификация исходного файла. Если она не указана, непосредственно за командой должен следовать текст исходной программы. Переключатели (/прк1) для спецификации исходного файла могут быть следующие: /MACRO, /SOURCE и /INPUT (табл. 4). Исходная программа после команды ¤MACRO ограничивается командой ¤EOD или любой командой BATCH. Если символ ¤ находится в первой позиции исходной программы, то команда ¤MACRO/DOLLARS не используется, текст исходной программы должен следовать за командой ¤CREATE/DOLLARS;

 

спф/OBJECT

- спецификация для объектного файла, создаваемого транслятором. Если она не указана, но с командой ¤MACRO определён переключатель /OBJECT, BATCH создаёт вспомогательный объектный файл, который удаляет после операции редактирования. Если он включена в команду, за ней должен следовать переключатель /OBJECT;

 

спф/LIST

- спецификация для файла листинга, создаваемого транслятором. /LIST указывает файл листинга; спф/МАР - спецификация для файла карты загрузки. Если она включена в команду, за ней должен следовать переключатель /МАР;

 

спф/LIBRARY

- спецификация файла библиотеки. Переключатель /LIBRARY указывает BATCH на включение этого файла в операцию редактирования;

 

спф/ЕХЕСUТЕ

- спецификация для файла формата отображения памяти. Если она не указана, но с командой ¤MACRO определён переключатель /RUN, BATCH создаёт вспомогательный файл формата отображения памяти. Если эта спецификация включена в команду, за ней должен следовать переключатель /EXECUTE.

Пример:

¤MACRO/LIST/OBJECT PROG.MAC

По этой команде BATCH транслирует программу PROG.MAC и создаёт вспомогательный файл листинга и вспомогательный объектный файл.

3.3.9. Команда ¤LIBRARY

Команда ¤LIBRARY позволяет указать библиотечные файлы для включения в операцию редактирования по команде с переключателем /LIBRARY. Первоначально библиотекой по умолчанию является SYSLIB.OBJ.

Синтаксис команды:

¤LIBRARY спф [!ком]

или

¤LIBRARY спф + SYSLIB [!ком]

где

спф

- библиотечный файл, тип файла по умолчанию .OBJ; SYSLIB - системная библиотека ФОДОС-2.

Пример:

¤LIBRARY LIB1.OBJ + LIB2.OBJ +SYSLIB.OBJ

По этой команде BATCH включает в операцию редактирования (кроме SYSLIB.OBJ) две библиотеки LIB1.OBJ и LIB2.OBJ.

3.3.10. Команда ¤LINK.

Команда ¤LINK создаёт из объектных файлов файлы формата отображения памяти. ¤LINK редактирует файлы, указанные в команде, со всеми вспомогательными объектными файлами, созданными BATCH в результате выполнения задания или после выполнения предыдущей (если таковая была) операции редактирования. Такие вспомогательные объектные файлы являются результатом выполнения команды ¤MACRO/OBJ, в которой не была указана спецификация для объектных файлов.

Синтаксис команды:

¤LINK[/прк] [спф/OBJECT] [спф/LIBRARY] [спф/МАР] -
[спф/EXECUTE] [!ком]

где

/прк

- один из следующих переключателей: /LIBRARY, /NOLIBRARY, /МАР, /NOMAP, /OBJECT, /NOOBJECT, /RUN, /NORUN;

 

спф/OBJECT

- спецификация объектного файла. Переключатель /OBJECT является переключателем по умолчанию;

 

спф/LIBRARY

- спецификация библиотечного файла. Переключатель /LIBRARY указывает BATCH на включение этого файла в операцию редактирования;

 

спф/МАР

- спецификация для файла карты загрузки, создаваемого по команде ¤LINK. Если она включена в команду, за ней должен следовать переключатель /МАР;

 

спф/EXECUTE

- спецификация для файла формата отображения памяти. Если эта спецификация включена в команду, за ней должен следовать переключатель /EXECUTE.

Пример:

¤LINK RUN

По этой команде BATCH редактирует все вспомогательные объектные файлы, созданные в результате выполнения задания или после выполнения предыдущей команды ¤LINK и запускает готовую программу.

3.3.11. Команда ¤RUN.

Команда ¤RUN вызывает выполнение программы (файла формата отображения памяти). Синтаксис команды:

¤RUN спф [!ком]

где

спф

- спецификация файла, который необходимо выполнить.

Пример:

¤RUN DIR SDATA LP: = DK:/L SEOD

В этом примере BATCH вызывает программу DIR и передаёт ей командную строку.

3.3.12. Команда ¤CALL.

Команда ¤CALL передаёт управление другому управляющему файлу BATCH, временно задерживая выполнение текущего управляющего файла. BATCH выполняет новое задание до тех пор, пока не встретит ¤EOJ или пока не произойдёт удаление задания (новое задание также может содержать команду ¤CALL; глубина таких вложений может равняться 31). Затем BATCH возвращает управление вызывающему заданию, команде, непосредственно следующей за командой ¤CALL. Регистрационный файл вызываемого задания BATCH включает в регистрационный файл вызывающего задания.

Синтаксис команды:

¤CALL спф [!ком]

где

спф

- спецификация файла, которому необходимо передать управление.

BATCH не допускает использование переключателей с командой ¤CALL. Если в спецификации файла указан тип .CTL, BATCH предполагает управляющий файл. Если тип файла не указан, BATCH предполагает файл команд (.ВАТ) и транслирует его перед выполнением вызываемого задания.

3.3.13. Команда ¤CHAIN.

Команда ¤CHAIN передаёт управление другому управляющему файлу, но не возвращает его вызывающему заданию.

Синтаксис команды:

¤CHAIN спф [!ком]

BATCH не допускает использование переключателей с командой ¤CHAIN. Если в спецификации файла указан формат .CTL, BATCH предполагает управляющий файл. Если тип файла не указан, BATCH предполагает файл команд (.ВАТ) и транслирует его перед выполнением вызываемого задания.

В задании BATCH за командой ¤CHAIN всегда должна следовать команда ¤EOJ.

3.3.14. Команда ¤DATA.

Команда ¤DATA используется для включения данных в задание BATCH. Данные, включённые в задание таким образом, не требуют обозначения (имени файла). BATCH передаёт эти данные соответствующей программе, имитируя ввод системного терминала.

Синтаксис команды:

¤DATA [/прк...] [!ком]

где

/прк

- один из следующих переключателей: /DOLLARS, /NODOLLARS, /LIST, /NOLIST.

Данные после команды ¤DATA ограничиваются любой командой BATCH. Однако, если используется ¤DATA/DOLLARS, они должны быть ограничены командой ¤EOD.

Пример:

¤RUN PIP
¤DATA
LP: =COPY.MAC/A
¤EOD

Если команда ¤DATA используется с программами на языке ФОРТРАН, необходимо вставить CTRL/Z после последней строки данных перед ¤EOD (или перед следующей командой BATCH, если ¤EOD не используется).

Пример:

¤FORTRAN/RUN A.FOR
¤DATA
1
2
3
^Z <RET> <LF>
¤EOD
¤RUN PIP

3.3.15. Команда ¤EOD.

Команда ¤EOD указывает в задании BATCH конец данных или конец текста исходной программы.

Синтаксис команды:

¤EOD [!ком]

Команда ¤EOD означает конец данных, ассоциированных с любой из следующих команд:

¤BASIC
¤CREATE
¤DATA
¤FORTRAN
¤MACRO

3.3.16. Команда ¤MESSAGE.

Команда ¤MESSAGE выдаёт на системный терминал сообщение оператору. Она обеспечивает взаимосвязь задания и оператора.

Синтаксис команды:

¤MESSAGE [/прк] соб [!ком]

где

/прк

- один из следующих переключателей: /WAIT, /NOWAIT;

 

соб

- сообщение (строка символов кода КОИ-7, которая должна соответствовать одной строке терминала). BATCH печатает сообщение на системном терминале.

Пример:

¤MESSAGE/WAIT установите запасной том на MT0:

По этой команде BATCH печатает на системном терминале сообщение:

установите запасной том на MT0:
?

Оператор устанавливает том магнитной ленты и печатает возврат каретки.

3.3.17. Команда ¤СОРУ.

Команда ¤COPY копирует файлы с одного тома (устройства) на другой в режиме отображения памяти ("слово в слово"). В спецификациях входных и выходных файлов могут быть использованы конструкции * и %. Допускается объединение нескольких входных файлов в один выходной; в этом случае в спецификации выходного файла нельзя использовать эти конструкции.

Синтаксис команды:

¤COPY [/прк] выходспф [..., выходспф]/OUTPUT -
входспф [..., входспф] [/INPUT] [!ком]

где

/прк

- один из следующих переключателей: /DELETE, /NODELETE;

 

выходспф

- спецификация для выходного файла; должен быть указан тип файла;

 

/OUTPUT

- переключатель, указывающий спецификацию для выходного файла;

 

входспф

- спецификация входного файла;

 

/INPUT

- переключатель, указывающий входной файл. Является переключателем по умолчанию.

Пример:

¤COPY *.*/OUT MX1:*.OBJ,PC:/OUT MX1:*.МАС

По этой команде BATCH копирует все файлы с типом .OBJ с MX1: на DK: и все файлы с типом .MAC с MX1: на PC:.

3.3.18. Команда ¤CREATE.

Команда ¤CREATE создаёт файл из данных, включённых в задание непосредственно за командой ¤CREATE. Данные после ¤CREATE ограничиваются любой командой BATCH. Однако, если используется ¤CREATE/DOLLARS, они должны быть ограничены командой ¤EOD.

Синтаксис команды:

¤CREATE [/прк] спф [!ком]

где

/прк

- один из следующих переключателей: /DOLLARS, /NODOLLARS, /LIST, /NOLIST;

 

спф

- спецификация для создаваемого файла.

Пример:

¤CREATE/LIST ВАВ.МАС
Исходная программа на языке АССЕМБЛЕР
¤EOD

В этом примере BATCH создаёт из данных, непосредственно следующих за командой ¤CREATE, новый файл (ВАВ.МАС) на устройстве DK: и записывает все данные в регистрационный файл.

3.3.19. Команда ¤DELETE.

Команда ¤DELETEудаляет файлы с указанного тома.

Синтаксис команды:

¤DELETE спф [..., спф] [!ком]

где

спф

- спецификация файла, который необходимо стереть.

Пример:

¤DELETE TEST.*

По этой команде BATCH удаляет на DK: все файлы с именем TEST (независимо от типов файлов).

3.3.20. Команда ¤DIRECTORY.

Команда ¤DIRECTORY позволяет получить справочник указанного тома. Если в команде спецификация для файла листинга справочника не указана, BATCH записывает справочник в регистрационный файл.

Синтаксис команды:

¤DIRECTORY [спф/LIST] [спф[..., спф]] [/INPUT] [!ком]

где

спф/LIST

- спецификация и переключатель, указывающие файл листинга справочника тома;

 

спф/INPUT

- спецификация и переключатель, указывающие файлы, о которых требуется получить справочную информацию.

Пример:

¤DIRECTORY

По этой команде BATCH записывает справочник DK: в регистрационный файл.

3.3.21. Команда ¤PRINT.

Команда ¤PRINT распечатывает содержимое указанных файлов на устройстве LST:. Синтаксис команды:

¤PRINT [/прк] спф[..., спф] [/INPUT] [!ком]

где

/прк

- один из следующих переключателей: /DELETE, /NODELETE;

 

спф

- спецификация файла, который требуется распечатать; /INPUT - переключатель, указывающий входной файл.

3.3.22. Команда ¤FODS. 

Команда ¤FODS устанавливает системный режим работы BATCH. BATCH интерпретирует информацию из задания до появления символа ¤ в начале строки как команды монитору ФОДОС-2 и системным программам (см. п. 3.4).

Синтаксис команды:

¤FODS [!ком]

3.4. Системный режим работы BATCH

Системный режим работы BATCH может быть установлен по команде ¤FODS или ¤JOB/FODS. BATCH будет находиться в этом режиме до тех пор, пока:

  1. не обнаружит символ ¤ в первой позиции команды (если режим установлен по команде ¤FODS);
  2. не обнаружит команду ¤EOJ (если режим установлен по команде ¤JOB/FODS).

Символы (.), (*), (¤), табуляция или пробел являются управляющими, если они располагаются в первой позиции строки. Точка (.) указывает команду монитора.

Пример:

.R PIP

Звёздочка (*) указывает строку данных (строку, не адресованную монитору или драйверу BATCH). В строке данных не должно быть комментария.

Пример:

*FILE.DAT/D

Эта строка является командной строкой программы обмена (PIP).

Символ ¤ указывает команду BATCH. Табуляция <ТАБ> или пробел указывают строку, адресованную драйверу BATCH.

При работе с BATCH в системном режиме необходимо учитывать особенности системных программ. Например, для инициализации диска по программе обслуживания устройств (DUP) нужно предусмотреть в задании ответ на вопрос (если он будет поставлен) ARE YOU SURE?

Пример:

¤FODS .R DUP *MX1:/Z

Системный режим работы BATCH позволяет создавать, так называемые, ВАТСН-программы. Такие программы состоят из стандартных команд системного режима (команд монитора, командных строк системных программ и т.п.) и специальных команд. Специальные команды системного режима дают возможность динамически управлять выполнением задания.

3.4.1. Средства создания ВАТСН-программ

К средствам создания ВАТСН-программ относятся:

  1. метки;
  2. переменные;
  3. команды регистрации ввода-вывода с терминала;
  4. специальные управляющие команды;
  5. комментарии.
3.4.1.1. Метки

Операторы и команды, входящие в задание, можно помечать с помощью меток. Метка должна начинаться с первой позиции в строке и ограничиваться двоеточием (:) и возвратом каретки.

3.4.1.2. Переменные

Переменная представляет собой величину, значение которой заменяется во время выполнения программы. В ВАТСН-программе допускается определение 26 переменных (символы от А до Z).

Значение переменных присваивается по оператору LET. Синтаксис оператора:

<ТАБ>LET Х="С

или

<ТАБ>LET X = N

где

X

- переменная;

 

"С

- символ КОИ-7, код которого присваивается переменной;

 

N

- восьмеричное число (0-377); от 0 до 177 - положительное; от 200 до 377 - отрицательное.

Пример:

<ТАБ>LET А = "0

В этом примере переменной А присваивается значение 60.

Увеличение значения переменной на 1 осуществляется путём определения перед ней символа %.

Синтаксис команды:

<ТАБ>%А

Условная передача управления в ВАТСН-программе осуществляется по оператору IF.

Синтаксис оператора:

<ТАБ>IF (X - "С) метка 1, метка 2, метка 3

или

<ТАБ>IF (X - N) метка 1, метка 2, метка 3

где

X

- переменная;

 

"С

- символ КОИ-7, код которого сравнивается со значением переменной;

 

N

восьмеричное число (0-377);

 

метка 1,
метка 2,
метка 3

- метки в ВАТСН-программе, одной из которых передаётся управление.

В зависимости от значения выражения (X - "С) или (X - N), драйвер BATCH передаёт управление:

В операторе IF перед метками допускается определение символов плюс "+" и минус "-". Если перед меткой определён символ "-", BATCH осуществляет поиск этой метки от начала задания. Если перед меткой не определён символ или определён символ "+", BATCH осуществляет поиск этой метки после оператора IF.

Безусловная передача управления в ВАТСН-программе осуществляется по оператору GOTO.

Синтаксис оператора:

<ТАБ>GOTO метка

где

метка

- метка в ВАТСН-программе, на которую передаётся управление.

В операторе GOTO перед метками также допускается определение символов "+"и "-" (аналогично оператору IF).

ПРИМЕЧАНИЕ. Если BATCH не обнаружит метку, указанную в операторе, она прекратит выполнение программы.

3.4.1.3. Команды регистрации ввода-вывода с терминала.

Существует ряд команд (табл. 6), которые используются для управления вводом-выводом с/на терминал. Если в программе не указана ни одна из них, BATCH предполагает TTYOUT.

Таблица б

Команда

Функция

<ТАБ>NOTTY

He записывает вводимую и выводимую информацию с терминала в регистрационный файл (комментарии записываются)

<ТАБ>TTYIN

Записывает вводимую с терминала информацию в регистрационный файл

<ТАБ>TTYIO

Записывает вводимую и выводимую информацию с терминала в регистрационный файл

<ТАБ>TTYOUT

Записывает выводимую на терминал информацию в регистрационный файл

3.4.1.4. Специальные управляющие команды

В командах системного режима, начинающихся с точки (.) и звёздочки (*), используются специальные управляющие команды драйверу BATCH.

Синтаксис команды:

'текст'

где

текст

- одно из значений, перечисленных в табл. 7.

Таблица 7

Значение

Функции

CTY

Осуществляет ввод с системного терминала; печатает вопрос (?) и ждёт ответа

FF

Выводит содержимое регистрационного буфера

NL

Вставляет новую строку

X

Вставляет в командную строку символ КОИ-7, код которого является значением переменной X

"СООБЩЕНИЕ"

Печатает сообщение на системном терминале

Пример:

¤JOB/FODS
.R MACRO
*'"Введите командную строку MACRO"''CTY'

Оператор получит на терминале сообщение, напечатает ответ и <ВК>.

Введите командную строку MACRO
?FILE,FILE=FILE

Пример:

.ASSIGN '"напечатайте имя устройства LST"''CTY'LST

Оператор получит на терминале сообщение, напечатает ответ и <ВК>.

Напечатайте имя устройства LST
?MX1:
3.4.1.5. Комментарии

Комментарии в ВАТСН-программе могут быть записаны в виде отдельного оператора.

Пример:

<ТАБ> !задание требует ввода с терминала

3.4.2. Пример ВАТСН-программы

В данном примере ВАТСН-программа транслирует и редактирует 10 программ пользователя.

¤JOB/FODS
      TTYIO
      LET N="0
LOOP:
.R MACRO
*PROG'N'=PROG'N'
.R LINK
*PROG'N'=PROG'N'
     %N
      IF (N-"9)-LOOP,-LOOP,END
END:
¤EOJ

4. ВЫПОЛНЕНИЕ ПРОГРАММЫ

Перед вызовом программы BATCH необходимо:

  1. загрузить драйвер BA.SYS и драйвер регистрационного устройства по команде LOAD;
  2. присвоить регистрационному устройству логическое имя LOG по команде ASSIGN;
  3. присвоить устройству, предназначенному для вывода листингов, логическое имя LST по команде ASSIGN.

Для вызова BATCH с системного устройства следует подать с терминала команду R BATCH <ВК> или BATCH <ВК> после того, как монитор напечатает на терминале точку. После вызова BATCH печатает звёздочку и ожидает ввода командной строки.

Если в это время нажать клавишу <ВК>, то BATCH печатает номер своей версии.

5. КОМАНДЫ ОПЕРАТОРА

5.1. Формат командной строки

Режим работы программы BATCH задаётся введением с терминала командной строки.

Формат командной строки:

[[выходспф] [,регспф] [/прк. ..]=] входспф[..., входспф] -
[/прк...]

где

выходспф

- спецификация выходного файла (управляющего файла BATCH). Устройство для этого файла должно быть устройством произвольного доступа к данным. Если спецификация выходного файла не указана, BATCH создаёт управляющий файл на DK: с тем же именем, что и первый входной файл, и типом .CTL.

 

регспф

- спецификация регистрационного файла. Устройство по умолчанию- LOG:, длина файла - 64 (десятичное) блока, тип файла - .LOG.

 

входспф

- спецификация входного файла. Тип файла по умолчанию - .ВАТ. Если указан тип .CTL, BATCH предполагает управляющий файл (в этом случае он должен быть единственным входным файлом).

 

/прк

- один из переключателей табл. 8.

Таблица 8

Переключатель

Функция

/N

Транслирует файл команд, создаёт управляющий файл, генерирует сообщение ABORT JOB в начале регистрационного файла и передаёт управление монитору

/T:N

Определяет переключатель /NOTIME как переключатель по умолчанию для команды ¤JOB (N = 0); (для N-1 переключатель по умолчанию /TIME)

/U

Разгружает драйвер BA.SYS

/X

Указывает, что входной файл есть управляющий файл (если не указан тип .CTL)

5.2. Директивы оператора

Директивы оператора используются для обслуживания выполняющегося пакета заданий.

Формат директивы:

\ДИР

где

ДИР

- одна из директив табл. 9.

Для того, чтобы ввести директиву, необходимо нажать клавишу <ВК>. Как только BATCH выполнит очередную команду из пакета заданий, она напечатает на терминале <ВК>, <ПС> и будет ожидать директивы оператора.

Пример:

.R BATCH
*KLEX
записать файлы на диск
?\А\Е
\ECOPY DXLFILE.MAC DX:
FILES COPIED:
DX1:FILE.MAC TO DX:FILE.MAC
\E\F\B
END BATCH
.

В этом примере входным файлом для BATCH является файл команд KLEX.BAT. BATCH печатает на терминале сообщение и ждёт ответа. Оператор использует директивы BATCH для ввода команды монитору ФОДОС-2.

Таблица 9

Директива

Функция

\@

Направляет последующие символы на системный терминал

Обозначает ввод с системного терминала

Обозначает ввод из пакета заданий

Направляет последующие символы в регистрационный файл

\D

Рассматривает последующие символы как данные пользователя

Направляет последующие символы монитору ФОДОС

\F

Форсирует вывод регистрационного буфера; если за этой директивой не следует другая, BATCH печатает сообщение об ошибке, прекращает выполнение задания и передаёт управление монитору ФОДОС-2

\G

Получает символы с системного терминала, пока не встретится возврат каретки

\HN

Управляет выводом в регистрационный файл; для N = 0 регистрирует только .TTYOUT и .PRINT; для N = 1 - .TTYOUT, .PRINT и .TTYIN; для N = 2 не регистрирует .TTYOUT, .PRINT и .TTYIN; для N = 3 регистрирует только .TTYIN

\IVXLABEL1?

LABEL2?

LABEL3?

Оператор IF вызывает условный переход, V -имя переменной от А до Z; X - значение, с которым сравнивается переменная V; LABEL1, LABEL2, LABEL3 - 6-символьные метки. Если длина метки менее 6 символов, дополнить пробелами. Если V-Х < 0, управление передаётся LABEL1; V-Х = 0 - LABEL2; V-Х > 0 - LABEL3. Направление для поиска метки указано ?; если ? есть 0, поиск начинается с начала задания; если ? есть 1, поиск метки начинается после оператора IF

\JLABEL?

Безусловный переход, LABEL - 6-символьная метка, ? - 0 или 1. если ? - 1, метка - обращение к элементу программы, находящемуся впереди по ходу её выполнения; если ? - 0, метка - ссылка назад

\KV0

Увеличивает на 1 значение переменной V, V - имя переменной от А до Z

\KVLN

Хранит 8-битное число N в переменной V

\KV2

Возвращает значение переменной V в программу

\LLABEL

Вводит метку как 6-символьную буквенно-цифровую строку в пакет заданий. Метки не должны содержать символ (\). Все символы свыше 6 игнорируются

5.3. Окончание работы программы

После выполнения пакета заданий BATCH печатает на терминале сообщение END BATCH и передаёт управление монитору.

Для выхода из программы BATCH и передачи управления монитору необходимо: нажать клавишу <ВК> (после того, как BATCH выполнит очередную команду из пакета заданий, она напечатает <ВК>, <ПС>; напечатать \F и <ВК>. BATCH напечатает сообщение об ошибке и передаёт управление монитору.

Для немедленного выхода из программы следует дважды подать команду СУ/C.

6. СООБЩЕНИЯ ОПЕРАТОРУ

?ВА-U-ВС

Причина.

В управляющем файле обнаружена ошибка (наиболее вероятно - после редактирования файла).

Действие.

Проверить управляющий файл. Получить его повторно.

?ВА-U-FE

Причина.

Оператор подал директиву \F.

Действие.

Не требуется.

?ВА-U-IO

Причина.

Ошибка чтения управляющего файла или записи в регистрационный файл (наиболее вероятно - переполнение регистрационного файла).

Действие.

Увеличить размер регистрационного файла с помощью конструкции [:N].

?ВА-U-LU

Причина.

Программа BATCH не смогла найти свободный канал для использования. (Это возможно, если все 16 (десятичное) каналов открыты).

Действие.

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

?BATCH-F-"¤"MISSING

Причина.

В первой позиции командной строки отсутствует символ ¤.

Действие.

Проверить задание.

?BATCH-F-ABORT JOB

Причина.

Ошибка во время транслирования программой BATCH файла команд.

Действие.

Распечатать файл и устранить ошибки.

?BATCH-F-AMBIGUOUS COMMAND

Причина.

Неоднозначное определение команды.

Действие.

Определить команду однозначно.

?BATCH-F-AMBIGUOUS OPTION

Причина.

Неоднозначное определение переключателя.

Действие.

Определить переключатель однозначно.

?BATCH-F-BATCH FATAL ERROR

Причина.

Аппаратная ошибка во время работы BATCH.

Действие.

Проверить исправность и правильность включения аппаратуры. Проверить диск на плохие блоки. Снять защиту записи.

?BATCH-F-BATCH HANDLER NOT RESIDENT

Причина.

Драйвер BA.SYS отсутствует в памяти.

Действие.

Загрузить драйвер по команде LOAD.

?BATCH-F-BATCH STACK OVERFLOW

Причина.

Недопустимая глубина вложения команд ¤CALL в пакете заданий.

Действие.

Проверить пакет заданий.

?BATCH-F-CHANNEL IN USE

Причина.

Сбой в работе операционной системы.

Действие.

Перезагрузить BATCH.

?BATCH-F-DISMOUNT ERROR

Причина.

Указанное логическое имя устройства не существует.

Действие.

Присвоить устройству логическое имя.

?BATCH-F-DUPLICATE OPTION

Причина.

В управляющем операторе несколько раз указан один и тот же переключатель.

Действие.

Исправить пакет заданий.

?BATCH-F-EOF WITH NO ¤EOJ

Причина.

Файл не ограничен командой ¤EOJ.

Действие.

Проверить задание.

?BATCH-F-FILE NOT FOUND

Причина.

Входной файл не найден или для входного файла, который не является управляющим, определён переключатель /X.

Действие.

Проверить введённую командную строку.

?BATCH-F-INPUT ERROR

Причина.

Аппаратная ошибка чтения файла команд (.ВАТ).

Действие.

Проверить исправность и правильность включения аппаратуры. Проверить диск на плохие блоки.

?BATCH-F-INPUT FILE

Причина.

В командной строке не указан входной файл.

Действие.

Ввести правильную командную строку.

?BATCH-F-INSUFFICIENT MEMORY

Причина.

Программе BATCH недостаточно памяти для загрузки драйвера устройства, необходимого для операций ввода/вывода или для выполнения команд ¤MOUNT или ¤DISMOUNT в пакете заданий.

Действие.

Проверить командную строку или команды ¤MOUNT или ¤DISMOUNT в пакете заданий.

?BATCH-F-INVALID '+'

Причина.

Неправильное использование символа "+", например, в команде ¤RUN, или в выходной спецификации.

Действие.

Проверить задание (командную строку).

?BATCH-F-INVALID CHARACTER

Причина.

Указан недопустимый символ кода КОИ-7.

Действие.

Распечатать регистрационный файл для обнаружения ошибки.

?BATCH-F-INVALID COMMAND LINE

Причина.

В командной строке обнаружена ошибка.

Действие.

Ввести правильную командную строку.

?BATCH-F-INVALID CONSTRUCTION

Причина.

Неправильный формат оператора IF; недопустимая команда "текст".

Действие.

Проверить задание.

?BATCH-F-INVALID COPY OF HANDLER

Причина.

Копия драйвера BA.SYS в оперативной памяти имеет ошибку.

Действие.

Разгрузить драйвер и загрузить его повторно.

?BATCH-F-INVALID DEVICE

Причина.

В командной строке указано несуществующее или недопустимое устройство.

Действие.

Проверить введённую командную строку. Использовать другое устройство.

?BATCH-F-INVALID LOG DEVICE

Причина.

Указано недопустимое регистрационное устройство (MT: или PC:).

Действие.

Проверить введённую командную строку. Присвоить имя LOG другому устройству.

?BATCH-F-INVALID OPTION

Причина.

В командной строке обнаружен недопустимый переключатель.

Действие.

Ввести правильную командную строку.

?BATCH-F-INVALID OPTION COMBINATION

Причина.

В управляющем операторе обнаружена недопустимая комбинация переключателей.

Действие.

Ввести правильную командную строку.

?BATCH-F-INVALID SEQUENCE ARGUMENT

Причина.

Идентифицирующий номер в команде ¤SEQUENCE не является числовым.

Действие.

Исправить команду.

?BATCH-F-INVALID VARIABLE

Причина.

Указанная переменная не является буквой (А-Z).

Действие.

Проверить задание.

?BATCH-F-INVALID VID

Причина.

Идентификатор тома в команде ¤MOUNT определён неправильно.

Действие.

Исправить команду.

?BATCH-F-LINE ТОО LONG

Причина.

Длина командной строки более 80 символов.

Действие.

Ввести правильную командную строку.

?BATCH-F-LOG DEVICE ERROR

Причина.

Аппаратная ошибка при выводе на регистрационное устройство.

Действие.

Проверить исправность и правильность включения аппаратуры. Проверить диск на плохие блоки. Снять защиту записи.

?BATCH-F-NO CONTROL FILE

Причина.

Попытка записи управляющего файла (.CTL) на устройство нефайловой структуры.

Действие.

Исправить командную строку.

?BATCH-F-NO ¤EOJ

Причина.

В пакете заданий командам ¤JOB или ¤SEQUENCE не предшествует команда ¤EOJ конца предыдущего задания.

Действие.

Исправить пакет заданий.

?BATCH-F-NO FILE

Причина.

Спецификация файла отсутствует, где она необходима.

Действие.

Исправить пакет заданий.

?BATCH-F-NO FILE NAME BEFORE "."

Причина.

В спецификации файла указан тип файла, но отсутствует его имя.

Действие.

Указать правильную спецификацию файла.

?BATCH-F-NO ',' IN ¤LIB

Причина.

В команде ¤LIB используется символ ",".

Действие.

Исправить команду.

?BATCH-F-NO LOGICAL DEVICE

Причина.

В команде ¤MOUNT не указано логическое имя устройства.

Действие.

Исправить команду.

?BATCH-F-NO PHYSICAL DEVICE

Причина.

В команде ¤MOUNT не указано физическое имя устройства.

Действие.

Исправить команду.

?BATCH-F-OUTPUT DEVICE FULL

Причина.

На указанном устройстве недостаточно места для управляющего файла (.CTL).

Действие.

Сжать том по команде SQUEEZE. Стереть или записать на другой том ненужные файлы. Использовать другой том.

?BATCH-F-OUTPUT ERROR

Причина.

Устройство вывода для управляющего файла - магнитная лента, либо ошибка при выводе управляющего файла.

Действие.

Проверить введённую командную строку. Проверить исправность и правильность включения аппаратуры. Проверить диск на плохие блоки. Снять защиту записи.

?BATCH-F-OUTPUT FILE NOT OPEN

Причина.

Сбой в работе операционной системы. Возможно, что ошибка в BATCH.

Действие.

Использовать другую копию BATCH.

?BATCH-F-PLEASE ASSIGN LOG.LST

Причина.

Устройство листинга или регистрационное устройство не определено.

Действие.

Присвоить устройствам логические имена LOG: и LST: по команде ASSIGN.

?BATCH-F-PLEASE LOAD LOG HANDLER

Причина.

Драйвер регистрационного устройства отсутствует в памяти.

Действие.

Загрузить драйвер по команде LOAD.

?BATCH-F-PROTECTED FILE ALREADY EXISTS

Причина.

Попытка создать файл с именем уже существующего защищённого файла.

Действие.

Возможны следующие действия:

  • использовать команду монитора UNPROTECT или переключатель PIP/Z для изменения защиты существующего файла;
  • использовать другое имя для создания нового файла.
?BATCH-F-RETURN FROM CALL ERROR

Причина.

Ошибка при возврате из подпрограммы (¤CALL).

Действие.

Проверить управляющий файл; если необходимо, получить его повторно. Повторить операцию.

?BATCH-F-SEPARATOR MISSING

Причина.

Спецификация файла не ограничена пробелом, символом "+", точкой или возвратом каретки.

Действие.

Исправить команду.

?BATCH-F-TOO MANY FILE DESCRIPTORS

Причина.

В команде определено более 6-ти спецификаций файлов.

Действие.

Исправить команду.

?BATCH-F-TOO MANY OUTPUT FILES

Причина.

В командной строке определено более двух выходных файлов.

Действие.

Ввести правильную командную строку.

?BATCH-F-UNKNOWN COMMAND

Причина.

В задании обнаружена недопустимая команда.

Действие.

Проверить и исправить задание.

ПРИЛОЖЕНИЕ

ПРОВЕРКА РАБОТЫ BATCH

Ниже приведён пример задания, с помощью которого осуществляется проверка работы BATCH. В этом задании BATCH создаёт программу на языке АССЕМБЛЕР, затем транслирует её, редактирует и запускает. (Задание создаётся пользователем по редактору текста с именем EXAMPL.BAT).

¤JOB
¤MESSAGE       пример задания BATCH
¤MESSAGE       создание программы
¤CREATE/LIST   EXAMPL.MAC
               .ENABL LC
.SBTTL пример для BATCH
               .MCALL  .PRINT,.EXIT
        START.PRINT   #MESSAG
               .EXIT
        MESSAG:.ASCIZ  (пример программы для BATCH)
               .EVEN
               .END    START
¤EOD
¤MACRO  EXAMPL EXAMPL/OBJ EXAMPL/LIST
¤LINK   EXAMPL EXAMPL/EXECUTE
¤PRINT/DELETE EXAMPL.LST
¤MESSAGE       пуск программы
¤RUN    EXAMPL
¤DELETE EXAMPL.OBJ + EXAMPL.SAV + EXAMPL.MAC
¤MESSAGE       печать справочника
¤DIRECTORY     DK:EXAMPL.*
¤MESSAGE       конец примера
¤EOJ

Для выполнения этого задания необходимо подать с терминала следующую последовательность команд (BATCH печатает сообщения из задания на терминале):

.LOAD ВА
.ASSIGN DX1 LOG
.ASSIGN DX1 LST
.R BATCH
*EXAMPL
пример задания BATCH
создание программы
пуск программы
печать справочника
конец примера
END BATCH
.

В результате выполнения задания BATCH создаёт следующий регистрационный файл:

¤JOB
¤MESSAGE       пример задания BATCH
¤MESSAGE       создание программы
¤CREATE/LIST   EXAMPL.MAC
               .ENABL LC
.SBTTL пример для BATCH
               .MCALL  .PRINT,.EXIT
        START.PRINT  #MESSAG
               .EXIT
        MESSAG:.ASCIZ  (пример программы для BATCH)
               .EVEN
               .END    START
¤EOD
¤MACRO  EXAMPL EXAMPL/OBJ EXAMPL/LIST
¤LINK   EXAMPL EXAMPL/EXECUTE
¤PRINT/DELETE EXAMPL.LST
¤MESSAGE       пуск программы
¤RUN    EXAMPL
пример программы для BATCH
¤DELETE EXAMPL.OBJ + EXAMPL.SAV + EXAMPL.MAC
¤MESSAGE       печать справочника
¤DIRECTORY     DK:EXAMPL.*
EXAMPL.LOG     64  EXAMPL.BAT     2
EXAMPL.CTL     2   EXAMPL.CTT     1
4 FILES, 69 BLOCKS
3521 FREE BLOCKS
¤MESSAGE       конец примера
¤EOJ