ПРОГРАММА ПАКЕТНОЙ ОБРАБОТКИ
РУКОВОДСТВО ОПЕРАТОРА
1. НАЗНАЧЕНИЕ ПРОГРАММЫ И УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Программа пакетной обработки (BATCH) предназначена для выполнения пакета заданий.
Программа BATCH позволяет:
- выполнять пакетную обработку под управлением монитора одного задания (SJ) или в фоновом режиме под управлением мониторов основного-фонового задания (FB, ХМ);
- вводить поток заданий с любого устройства, поддерживаемого системой ФОДОС-2;
- использовать команды клавиатурного монитора (КЯС) в потоке заданий;
- выводить регистрационный файл на любое устройство, поддерживаемое системой ФОДОС-2 (кроме MT:).
Для работы BATCH под управлением монитора SJ необходимо, как минимум, 12К слов оперативной памяти. Для работы BATCH в фоновом режиме под управлением монитора FB необходимо, как минимум, 16К слов оперативной памяти.
Для выполнения своих операций BATCH использует системные программы ФОДОС-2;
- BASIC.SAV (если используются программы на языке БЕЙСИК)
- BA.SYS
- BATCH.SAV
- CREF.SAV (если используются программы на языке АССЕМБЛЕР)
- SYSLIB.OBJ (если используются программы на языке ФОРТРАН и АССЕМБЛЕР)
- FORTRA.SAV (если используются программы на языке ФОРТРАН)
- LINK.SAV
- MACRO.SAV (если используются программы на языке АССЕМБЛЕР)
- SYSMAC.SML (если используются программы на языке АССЕМБЛЕР)
- PIP.SAV
- DIR.SAV
Перед работой с BATCH необходимо убедиться, что на системном устройстве находятся перечисленные выше файлы.
2. ОСНОВНЫЕ ПОНЯТИЯ
Задание - основная независимая единица работы ЭВМ, задаваемая пользователем. Каждое задание описывается с помощью управляющих операторов системно-независимого языка BATCH. Задания могут быть одиночными или сгруппированы в один пакет, который образует входной поток заданий. Задание может содержать команды КЯС и системных программ. Режим выполнения программой BATCH таких команд называется системным режимом работы BATCH. Пакет заданий создаётся пользователем с помощью редактора текста.
Процесс пакетной обработки заключается в следующем: BATCH воспринимает входной поток заданий, транслирует его и организует в виде файла на магнитном носителе. Результат трансляции представляет собой управляющий файл BATCH. Затем драйвер BATCH (BA.SYS) обрабатывает этот файл и, таким образом, выполняет пакет заданий пользователя.
Регистрационный файл - файл, который формируется программой BATCH в результате выполнения пакета заданий и включает в себя команды из пакета заданий и сообщения, предназначенные для вывода на терминал.
3. СИСТЕМНО-НЕЗАВИСИМЫЙ ЯЗЫК BATCH
Системно-независимый язык BATCH предназначен для составления заданий пользователя.
Задание на языке BATCH состоит из данных и управляющих операторов, записанных с помощью символов кода КОИ-7 (коды 40-137). Назначение основных символов приведено в табл. 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.
Команда |
Функция |
---|---|
¤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 приведены переключатели поля команды.
Переключатель |
Функция |
---|---|
/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.
Переключатели поля спецификации должны следовать непосредственно за спецификацией файлов; они указывают как используется файл.
Переключатель |
Функция |
---|---|
/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).
Тип файла |
Характеристика файла |
---|---|
.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 пользователь должен придерживаться следующих правил составления задания:
- символ ¤ занимает первую позицию в строке управляющего оператора;
- каждое задание начинается командой ¤JOB и ограничивается командой ¤EOJ;
- имя команды и переключателя определяется полностью или по первым трем символам для команды и соответствующим символам для переключателя;
- конструкция звёздочка (*) определяется только в командах ¤COPY, ¤CREATE, ¤DELETE, ¤DIRECTORY и ¤PRINT или в тех командах системного режима работы BATCH, которые обычно допускают её использование;
- максимальная длина управляющего оператора - 80 символов, исключая пробелы, табуляцию и комментарий;
- для вызова 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 будет находиться в этом режиме до тех пор, пока:
- не обнаружит символ ¤ в первой позиции команды (если режим установлен по команде ¤FODS);
- не обнаружит команду ¤EOJ (если режим установлен по команде ¤JOB/FODS).
Символы (.), (*), (¤), табуляция или пробел являются управляющими, если они располагаются в первой позиции строки. Точка (.) указывает команду монитора.
Пример:
.R PIP
Звёздочка (*) указывает строку данных (строку, не адресованную монитору или драйверу BATCH). В строке данных не должно быть комментария.
Пример:
*FILE.DAT/D
Эта строка является командной строкой программы обмена (PIP).
Символ ¤ указывает команду BATCH. Табуляция <ТАБ> или пробел указывают строку, адресованную драйверу BATCH.
При работе с BATCH в системном режиме необходимо учитывать особенности системных программ. Например, для инициализации диска по программе обслуживания устройств (DUP) нужно предусмотреть в задании ответ на вопрос (если он будет поставлен) ARE YOU SURE?
Пример:
¤FODS .R DUP *MX1:/Z
Системный режим работы BATCH позволяет создавать, так называемые, BATCH-программы. Такие программы состоят из стандартных команд системного режима (команд монитора, командных строк системных программ и т.п.) и специальных команд. Специальные команды системного режима дают возможность динамически управлять выполнением задания.
3.4.1. Средства создания BATCH-программ
К средствам создания BATCH-программ относятся:
- метки;
- переменные;
- команды регистрации ввода-вывода с терминала;
- специальные управляющие команды;
- комментарии.
3.4.1.1. Метки
Операторы и команды, входящие в задание, можно помечать с помощью меток. Метка должна начинаться с первой позиции в строке и ограничиваться двоеточием (:) и возвратом каретки.
3.4.1.2. Переменные
Переменная представляет собой величину, значение которой заменяется во время выполнения программы. В BATCH-программе допускается определение 26 переменных (символы от А до Z).
Значение переменных присваивается по оператору LET. Синтаксис оператора:
<ТАБ>LET Х="С или <ТАБ>LET X = N |
||
где |
X |
- переменная; |
|
"С |
- символ КОИ-7, код которого присваивается переменной; |
|
N |
- восьмеричное число (0-377); от 0 до 177 - положительное; от 200 до 377 - отрицательное. |
Пример:
<ТАБ>LET А = "0
В этом примере переменной А присваивается значение 60.
Увеличение значения переменной на 1 осуществляется путём определения перед ней символа %.
Синтаксис команды:
<ТАБ>%А
Условная передача управления в BATCH-программе осуществляется по оператору IF.
Синтаксис оператора:
<ТАБ>IF (X - "С) метка 1, метка 2, метка 3 или <ТАБ>IF (X - N) метка 1, метка 2, метка 3 |
||
где |
X |
- переменная; |
|
"С |
- символ КОИ-7, код которого сравнивается со значением переменной; |
|
N |
восьмеричное число (0-377); |
|
метка 1, |
- метки в BATCH-программе, одной из которых передаётся управление. |
В зависимости от значения выражения (X - "С) или (X - N), драйвер BATCH передаёт управление:
- на метку 1, если значение < 0;
- на метку 2, если значение = 0;
- на метку 3, если значение > 0.
В операторе IF перед метками допускается определение символов плюс "+" и минус "-". Если перед меткой определён символ "-", BATCH осуществляет поиск этой метки от начала задания. Если перед меткой не определён символ или определён символ "+", BATCH осуществляет поиск этой метки после оператора IF.
Безусловная передача управления в BATCH-программе осуществляется по оператору GOTO.
Синтаксис оператора:
<ТАБ>GOTO метка |
||
где |
метка |
- метка в BATCH-программе, на которую передаётся управление. |
В операторе GOTO перед метками также допускается определение символов "+"и "-" (аналогично оператору IF).
ПРИМЕЧАНИЕ. Если BATCH не обнаружит метку, указанную в операторе, она прекратит выполнение программы.
3.4.1.3. Команды регистрации ввода-вывода с терминала.
Существует ряд команд (табл. 6), которые используются для управления вводом-выводом с/на терминал. Если в программе не указана ни одна из них, BATCH предполагает TTYOUT.
Команда |
Функция |
---|---|
<ТАБ>NOTTY |
He записывает вводимую и выводимую информацию с терминала в регистрационный файл (комментарии записываются) |
<ТАБ>TTYIN |
Записывает вводимую с терминала информацию в регистрационный файл |
<ТАБ>TTYIO |
Записывает вводимую и выводимую информацию с терминала в регистрационный файл |
<ТАБ>TTYOUT |
Записывает выводимую на терминал информацию в регистрационный файл |
3.4.1.4. Специальные управляющие команды
В командах системного режима, начинающихся с точки (.) и звёздочки (*), используются специальные управляющие команды драйверу BATCH.
Синтаксис команды:
'текст' |
||
где |
текст |
- одно из значений, перечисленных в табл. 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. Комментарии
Комментарии в BATCH-программе могут быть записаны в виде отдельного оператора.
Пример:
<ТАБ> !задание требует ввода с терминала
3.4.2. Пример BATCH-программы
В данном примере BATCH-программа транслирует и редактирует 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 необходимо:
- загрузить драйвер BA.SYS и драйвер регистрационного устройства по команде LOAD;
- присвоить регистрационному устройству логическое имя LOG по команде ASSIGN;
- присвоить устройству, предназначенному для вывода листингов, логическое имя LST по команде ASSIGN.
Для вызова BATCH с системного устройства следует подать с терминала команду R BATCH <ВК> или BATCH <ВК> после того, как монитор напечатает на терминале точку. После вызова BATCH печатает звёздочку и ожидает ввода командной строки.
Если в это время нажать клавишу <ВК>, то BATCH печатает номер своей версии.
5. КОМАНДЫ ОПЕРАТОРА
5.1. Формат командной строки
Режим работы программы BATCH задаётся введением с терминала командной строки.
Формат командной строки:
[[выходспф] [,регспф] [/прк. ..]=] входспф[..., входспф] - [/прк...] |
||
где |
выходспф |
- спецификация выходного файла (управляющего файла BATCH). Устройство для этого файла должно быть устройством произвольного доступа к данным. Если спецификация выходного файла не указана, BATCH создаёт управляющий файл на DK: с тем же именем, что и первый входной файл, и типом .CTL. |
|
регспф |
- спецификация регистрационного файла. Устройство по умолчанию- LOG:, длина файла - 64 (десятичное) блока, тип файла - .LOG. |
|
входспф |
- спецификация входного файла. Тип файла по умолчанию - .ВАТ. Если указан тип .CTL, BATCH предполагает управляющий файл (в этом случае он должен быть единственным входным файлом). |
|
/прк |
- один из переключателей табл. 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.
Директива |
Функция |
---|---|
\@ |
Направляет последующие символы на системный терминал |
\А |
Обозначает ввод с системного терминала |
\В |
Обозначает ввод из пакета заданий |
\С |
Направляет последующие символы в регистрационный файл |
\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 |
|
Причина. |
Попытка создать файл с именем уже существующего защищённого файла. |
Действие. |
Возможны следующие действия:
|
?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