БИБЛИОТЕКАРЬ
РУКОВОДСТВО ОПЕРАТОРА

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

Программа библиотекарь (LIBR) предназначена для создания и корректировки библиотек (библиотечных файлов) операционной системы ФОДОС-2.

В операционной системе имеется два типа библиотек:

По умолчанию имя системной библиотеки объектных модулей - SYSLIB.OBJ. Для библиотек объектных модулей библиотекарь позволяет выполнять такие операции как создание новых библиотек, включение новых модулей в библиотеку, удаление модулей из библиотеки, извлечение модулей из библиотеки.

По умолчанию имя системной библиотеки макроопределений - SYSMAC.SML. Для библиотеки макроопределений библиотекарь позволяет выполнять только операцию создания новых библиотек.

2. ФОРМАТ БИБЛИОТЕЧНЫХ ФАЙЛОВ

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

Заголовок библиотеки

Каталог

Набор модулей

Блок конца библиотеки

Рис. 1

2.1. Формат заголовка библиотеки.

Блок заголовка библиотеки описывает текущее состояние библиотеки (табл. 1, табл. 2).

Таблица 1
ФОРМАТ ЗАГОЛОВКА БИБЛИОТЕКИ ОБЪЕКТНЫХ МОДУЛЕЙ

Смещение

Содержимое

Описание

0

1

Код блока заголовка библиотеки

2

42

 

4

7

Код библиотекаря

6

500

Номер версии библиотеки

10

0

Зарезервировано

12

 

Дата (0, если не указана)

14

 

Время

16

 

20

0

1, если библиотека создана с использованием переключателя /X

22

0

Зарезервировано

24

0

Зарезервировано

26

10

Относительный адрес начала каталога

30

 

Количество байтов в каталоге

32

0

Зарезервировано

34

 

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

36

 

Следующий байт внутри блока

40

 

Начало каталога

Таблица 2
ФОРМАТ ЗАГОЛОВКА БИБЛИОТЕКИ МАКРООПРЕДЕЛЕНИЙ

Смещение

Содержимое

Описание

0

1001

Тип библиотеки и код идентификации

2

500

Номер версии библиотеки

4

0

Зарезервировано

б

 

Дата (0, если не указана)

10

 

Время

12

 

14

0

Зарезервировано

16

0

Зарезервировано

20

0

Зарезервировано

22

0

Зарезервировано

24

0

Зарезервировано

26

0

Зарезервировано

30

0

Зарезервировано

32

10

Размер записей каталога

34

 

Относительный номер блоха начала каталога

36

 

Количество записей, которые можно разместить в каталоге (по умолчанию 200)

40

 

Количество доступных записей каталога

2.2. Формат таблицы точек входа

Таблица точек входа состоит из записей размером 4 слова, содержащих имя точки входа (слова 0,1) и адрес модуля, соответствующий точке входа (слова 2,3). Если при создании библиотеки используется переключатель /N, то в 15 разряде слова, содержащего относительный номер блока, устанавливается 1. Формат таблицы точек входа приведён на рис. 2.

 

Имя точки входа
(RADIX-50)

 

 

 

Относительный номер блока

Зарезервировано (битов)

Относительный байт в блоке (9 битов)

Рис. 2

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

2.3. Формат блока конца библиотеки

Каждая библиотека заканчивается блоком конца библиотеки (рис. 3).

1

Заголовок блока

10

Длина блока

10

Код блока конца библиотеки

0

Зарезервировано

 

357

Байт контрольной суммы

Рис. 3

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

3.1. Пуск программы

Для вызова программы библиотекарь (LIBR) с системного устройства следует подать с терминала команду .R LIBR <ВК> или LIBR <ВК> после того, как монитор напечатает на терминале точку.

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

ПРИМЕЧАНИЕ. Операции, выполняемые программой библиотекарь, могут быть выполнены по команде LIBR (см. [1]).

3.2. Команды оператора

Режим работы программы библиотекарь задаётся введением с терминала командной строки следующего формата:

выходспф,лстспф = входспф,...,входспф [/прк...],

где

выходспф

- спецификация выходного файла (устройство, имя и тип файла);

 

лстспф

- спецификация листинга каталога библиотечного файла;

 

входспф

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

 

/прк

- переключатель (табл. 3).

По умолчанию предполагается:

Команда может состоять из нескольких командных строк (п. 3.4).

Входной файл может состоять из одного или нескольких объектных модулей. После помещения входного файла в библиотечный файл к любому из составляющих его модулей можно обращаться только по имени, указанному в директиве Ассемблера .TITLE или в операторах ФОРТРАНа PROGRAM и SUBROUTINE, а не по имени файла.

Таблица 3
ПЕРЕКЛЮЧАТЕЛИ ПРОГРАММЫ БИБЛИОТЕКАРЬ

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

Функция

/A

Заносит в каталог библиотечного файла все глобальные имена, включая все абсолютные глобальные имена

/C или //

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

/D

Удаление; удаляет модули и соответствующие им глобальные имена из библиотечного файла

/E

Выборка; выбирает модуль из библиотечного файла и запоминает его в файле типа .OBJ.

/G

Удаление глобальных имён; удаляет глобальные имена из каталога библиотечного файла

/N

Наименование; включает имена модулей в каталог библиотечного файла

/R

Замена; заменяет модули в библиотечном файле

/U

Корректировка; включает и заменяет модули в библиотечном файле

/X

Позволяет вносить многократные определения глобальных имён в каталог библиотечного файла

/W

Указывает формат для файла листинга.

/M

MACRO; создаёт файл макробиблиотеки.

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

3.3. Переключатель /A.

При использовании переключателя /A в каталог библиотечного файла заносятся не только глобальные имена, но и абсолютные глобальные имена.

Пример:

*ALIB = MOD1,MOD2/A

Создаётся библиотечный файл ALIB.OBJ, в каталог которого заносятся все глобальные и абсолютные глобальные имена модулей файлов MOD1, MOD2.

3.4. Продолжение (/C или //).

Максимальное количество входных файлов, которые можно записать в одной строке, - шесть. Чтобы ввести более шести файлов, нужно использовать переключатель /C или //.

Переключатель /C печатается в конце первой строки и повторяется в конце последующих строк. На последней cтроке переключатель /C не указывается. Каждая строка продолжения командной строки может содержать только входные спецификации файлов.

Переключатель // печатается в конце первой и в конце последней строки.

Примеры:

1.*ALIB,LIBLST = MAIN,TEST,FXN/C *TRAS

Создаётся библиотечный файл ALIB.OBJ, который будет состоять из модулей, входящих в файлы MAIN, TEST, FXN, TRAC, также создаётся листинг LIBLST.LST.

2.*BLIB=MAIN,TEST,FXN//
*TRACK
*//

Создаётся библиотечный файл с именем BLIB.OBJ из модулей, находящихся в файлах MAIN, TEST.FXN, TRACK.

3.5. Создание библиотечного файла.

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

Пример:

*BOT=AP,ET

Библиотечный файл, называемый BOT.OBJ, будет состоять из модулей, находящихся в файлах AP.OBJ и ET.OBJ.

3.6. Включение модулей в библиотеку.

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

Примеры:

1.  *EXY=EXY, DX1:PA,PB,PC

Модули в файлах PA.OBJ, PB.OBJ, PC.OBJ на устройстве DX1: будут включены в библиотечный файл EXY.OBJ на устройстве DK:.

2.  *DXYNEW=DXY,FA,FB,FC

В этом примере новый библиотечный файл состоит из модулей библиотечного файла DXY и новых модулей из файлов FA, FB, FC.

3.7. Удаление (/D).

По переключателю /D удаляются модули и соответствующие им глобальные имена из каталога библиотечного файла, а не из самого библиотечного файла. Когда используется переключатель /D, библиотекарь выдаёт:

 MODULE NAME?

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

Пример:

*DX1:TRAP=DX1:TRAP/D,AEC
 MODULE NAME? АА
 MODULE NAME? BB
 MODULE NAME?

Модули AA.OBJ и BB.OBJ удаляются из библиотечного файла TRAP.OBJ, а модули из файла AEC.OBJ включаются в библиотечный файл.

3.8. Выборка (/E).

По переключателю /E выбирается модуль из библиотечного файла и запоминается в файле типа .OBJ. Когда используется переключатель /E, библиотекарь печатает:

GLOBAL?

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

Пример:

*DX1:ATAP=SYSLIB/E
 GLOBAL? АТАР
 GLOBAL?

Выбирается модуль АТАР из библиотечного файла SYSLIB.OBJ на устройстве DK: и запоминается в файле с именем АТАР.OBJ на устройстве DX1:.

3.9. Удаление глобальных имён (/G).

По переключателю /G удаляются глобальные имена из каталога библиотечного файла. Когда используется переключатель /G, библиотекарь печатает: GLOBAL?

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

Пример:

*ROL=ROL/G
 GLOBAL? МЕА
 GLOBAL? MEB
 GLOBAL?

Удаляются глобальные имена МЕА и MEB из каталога библиотечного файла ROL.OBJ.

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

3.10. Наименование (/N).

По переключателю /N включаются имена модулей в каталог библиотечного файла. Если имена модулей не включены в каталог библиотечного файла, то колонка MODULE листинга каталога остаётся пустой. Символ плюс ( + ) в колонке MODULE указывает на продолжение строки для печати всех глобальных имён модуля.

Если библиотечный файл не имеет в своем каталоге имён модулей, можно создать новый библиотечный файл для включения имён модулей. Ниже приводится пример, в котором временно создаётся новый библиотечный файл из текущего библиотечного файла, и каталог выводится на терминал. Текущий библиотечный файл OLDLIB.OBJ остаётся неизменным.

Пример:

*DX1:ТЕМР,ТТ:=OLDLIB/N
FODOS LIBRARIAN B03.00 TUE 09-DEC-83 14:40:30
TEMP                   TUE 09-DEC-83 14:40:29
MODULE   GLOBALS  GLOBALS  GLOBALS
IRAD50   IRAD50   RAD50
MYC      MYC
CAB      CAB
BOB      BOB

Включаются имена всех модулей из библиотечного файла OLDLIB.OBJ в каталог библиотечного файла TEMP.OBJ, и листинг этого каталога выводится на терминал.

3.11. Замена (/R).

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

Пример:

*TFIL=TFIL, INA, INB/R, INC

Модули в файле INB.OBJ заменяют существующие модули с теми же именами в библиотечном файле TFIL.OBJ. Модули из файлов INA.OBJ и INC.OBJ будут включены в библиотечный файл TFIL.OBJ.

3.12. Корректировка (/U).

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

Пример:

*BALIB = BALIB,FOT/U,TAC,BAT/U

Модули в файлах FOT.OBJ и BAT.OBJ заменяют модули с теми же именами в библиотечном файле BALIB.OBJ. Если нет модулей для замены, то эти модули будут включены в библиотечный файл BALIB.OBJ. Модуль из файла TAC.OBJ будет также включен в библиотечный файл BALIB.OBJ.

3.13. Переключатель /X

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

?LIBR-W-ILLEGAL INSERT OF AAAAAA,

когда встречается дубликат глобального имени и глобальное имя заносится в каталог библиотечного файла.

Пример:

*MLTLIB,TT:=MOD1,MOD2,MOD3/X/A
FODOS LIBRARIAN B03.00 THU 25-APR-83 09:45:31
DK:MLTLIB.OBJ          THU 25-APR-83 09:45:31
MODULE       GLOBALS   GLOBALS   GLOBALS
MOD1         OMA&R     SWP&      ATP&
MOD2         ATP&      OMA&R     MER&CR
             LBM
MOD3         ATP&      OMA&R     MEP&CR
             ENTZ

В этом примере создаётся библиотечный файл MLTLIB из модулей MOD1, MOD2, MOD3 и каталог библиотечного файла выводится на терминал. Библиотечный файл состоит из модулей, которые используют одинаковые глобальные имена. Кроме того, модуль MOD3 содержит абсолютные глобальные имена, поэтому используется переключатель /A.

3.14. Переключатель /W

Переключатель /W даёт возможность получать листинг каталога библиотечного файла с шестью колонками GLOBAL. Такой листинг может быть получен на построчно-печатающем устройстве или терминале, который имеет 132 колонки.

3.15. Получение листинга каталога.

Режим получения листинга каталога библиотечного файла задаётся введением с терминала командной строки следующего формата:

*,лстспф=входспф

где

лстспф

- спецификация листинга каталога библиотечного файла (устройство, имя и тип файла);

 

входспф

- спецификация библиотечного файла.

Пример:

*,LIST=LIBFIL

Файл листинга каталога LIST.LST библиотечного файла LIBFIL.OBJ выводится на устройство DK:.

Пример:

*,TT:=SYSLIB
FODOS LIBRARIAN B03.00 TUE 09-DEC-83 14:50:40
SYSLIB                 TUE 09-DES-83 14:50:39
MODULE      GLOBALS       GLOBALS        GLOBALS
            DSO¤          ECO¤           FCO¤
  +         GCO¤          RCI
            DIC¤IS        DTC¤MS         DIC¤PS
  +         DIC¤CC

Первая строка листинга указывает версию библиотекаря, который использовался, текущую дату и время. Вторая строка печатает наименование библиотечного файла, время и дату его создания. Имена модулей не включены в этот пример. Символ плюс ( + ) в колонке MODULE указывает на продолжение командной строки для печати всех глобальных имён модуля.

3.16. Объединение библиотечных файлов.

Два или несколько библиотечных файлов могут быть объединены под одним именем. Для этого пользователю необходимо указать все библиотечные файлы, которые будут объединены, в одной команде.

Пример:

*FORT=A,B,C

Библиотечные файлы A.OBJ, В.OBJ и С.OBJ будут объединены в библиотечный файл под именем FORT.OBJ.

3.17. Объединение операций библиотекаря.

Пользователь может запрашивать в одной команде несколько операций. Библиотекарь выполняет операции в следующем порядке:

Пример:

*FILE,LP:=FILE/D,MODX,MODY/R
MODULE NAME? XYZ
MODULE NAME? A
MODULE NAME?

Операции выполняются в следующем порядке:

3.18. MACRO (/M[:N]).

Переключатель/M:N создаёт файл макробиблиотеки из входного файла, который содержит макроопределения. Аргумент N - восьмеричное число, которое определяет количество записей имён макрокоманд в каталоге макробиблиотеки.

Чтобы задать десятичное число, надо за N поставить точку (N.). Каждые 64 (десятичное) имени макрокоманд занимают 1 блок в каталоге макробиблиотеки. По умолчанию N равно 128 (десятичное), этого достаточно для записи 128 имён макрокоманд, которые будут занимать 2 блока в каталоге макробиблиотеки:

Пример:

*SYSMAC.SML=SYSMAC/M

Создаётся макробиблиотека SYSMAC.SML из входного файла SYSMAC.MAC.

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

Ниже приведены сообщения, выдаваемые программой LIBR.

?LIBR-F-EOF DURING EXTRACT

Причина.

Конец входного файла был обнаружен раньше конца выбираемого модуля.

Действие.

Вновь создать библиотечный файл, повторить операцию.

?LIBR-F-FILE NOT FOUND DEV:FILNAM.TYP

Причина.

Один из входных файлов, указанных в командной строке, не найден.

Действие.

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

?LIBR-F-INPUT ERROR IN DEV:FILNAM.TYP

Причина.

Ошибка при чтении входного файла.

Действие.

Проверить готовность и исправность оборудования. Повторить операцию.

?LIBR-F-INSUFFICIENT MEMORY

Причина.

Недостаточно оперативной памяти для выполнения операции.

Действие.

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

?LIBR-F-INTERNAL ERROR

Причина.

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

Действие.

Повторить операцию. При появлении этой же ошибки получить новую копию программы LIBR.

?LIBR-F-INVALID DEVICE DEV:

Причина.

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

Действие.

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

?LIBR-F-INVALID GSD IN DEV:FILNAM.TYP

Причина.

Ошибка в каталоге глобальных имён (GSD). Файл является неправильным объектным модулем.

Действие.

Вновь протранслировать исходную программу, для получения правильного объектного модуля и повторить операцию.

?LIBR-F-INVALID INPUT FILE DEV:FILNAM.TYP

Причина.

Входной файл не является библиотечным.

Действие.

Указать правильное имя файла и повторить командную строку.

?LIBR-F-INVALID LIBRARY FOR LISTING OR EXTRACT

Причина.

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

Действие.

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

?LIBR-F-INVALID OPTION:/Y

Причина.

Данный переключатель ("Y") не является переключателем библиотекаря.

Действие.

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

?LIBR-F-INVALID OPTION COMBINATION

Причина.

Указаны переключатели, которые выполняют несовместимые операции. Например, если указан /E, нельзя использовать никакой другой переключатель; если указан /M, то за ним может следовать только переключатель продолжения (/C или //).

Действие.

Исключить переключатели, вызывающие ошибку, и повторить операцию.

?LIBR-F-INVALID RECORD TYPE IN DEV:FILNAM.TYP

Причина.

Тип кода двоичной записи объектного файла не в пределах от 1 до 10 (восьмеричное).

Действие.

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

?LIBR-F-MACRO NAME TABLE FULL, USE/M:N

Причина.

Переполнение каталога имён макрокоманд в макробиблиотеке.

Действие.

Увеличить размер каталога имён макрокоманд с помощью переключателя /M:N.

?LIBR-F-NO VALUE ALLOWED :/N

Причина.

В командной строке за переключателем следует аргумент, что недопустимо.

Действие.

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

?LIBR-F-OUTPUT AND INPUT FILNAMES THE SAME

Причина.

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

Действие.

Переименовать входной или выходной файлы.

?LIBR-F-OUTPUT DEVICE FULL DEV:FILNAM.TYP

Причина.

На указанном устройстве недостаточно места для библиотечного файла или файла листинга каталога библиотечного файла.

Действие.

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

?LIBR-F-OUTPUT ERROR DEV:FILNAM.TYP

Причина.

Ошибка при записи выходного файла или заблокирована запись на устройстве вывода.

Действие.

Проверить готовность и исправность оборудования. Повторить операцию.

?LIBR-F-OUTPUT FILE FULL

Причина.

Выходной файл мал для библиотечного файла или файла листинга.

Действие.

Увеличить размер выходного файла по команде LIBR/ALLOCATE:N или с помощью конструкции [:N] в спецификации выходного файла (см. [1]).

?LIBIR-F-PROTECTED FILE ALREADY EXISTS DEV:FILNAM.TYP

Причина.

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

Действие.

Отменить защиту файла по команде RENAME/NOPROTECT или PIP/Z или использовать другое имя для нового библиотечного файла.

?LIBR-F-/R OR /U GIVEN ON LIBRARY FILE DEV:FILNAM.TYP

Причина.

В командной строке за спецификацией библиотечного файла следует переключатель /R или /U, что недопустимо.

Действие.

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

?LIBR-F-/U GIVEN ON LIBRARY FILE DEV:FILNAM.TYP

Причина.

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

Действие.

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

?LIBR-W-DUPLICATE FORM NAME OF FORMNM

Причина.

Во входной спецификации даны два файла с одинаковыми именами и после второго имени не указан переключатель /U или /UPDATE. Файл, имя которого встречено первым, включается в библиотечный файл. Все дубликаты имён игнорируются.

Действие.

Использовать в командной строке переключатель /U или /UPDATE.

?LIBR-W-DUPLICATE MACRO NAME OF MACNAM

Причина.

Во входном файле имеются две макрокоманды с одним и тем же именем. Макрокоманда, имя которой встречено первым, заносится в выходной файл. Все дубликаты имён игнорируются.

Действие.

Присвоить макрокомандам разные имена.

?LIBR-W-DUPLICATE MODULE NAME OF AAAAAA

Причина.

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

Действие.

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

?LIBR-W-INVALID CHARACTER

Причина.

Введённое имя содержит символ, не относящийся к RADIX-50.

Действие.

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

?LIBR-W-INVALID DELETE OF AAAAAA

Причина.

Удаляемый модуль AAAAAA в каталоге библиотечного файла не существует.

Действие.

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

?LIBR-W-INVALID EXTRACT OF AAAAAA

Причина.

Указанное глобальное имя не найдено в каталоге библиотечного файла.

Действие.

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

?LIBR-W-INVALID INSERT AAAAAA

Причина.

Включаемый в библиотечный файл модуль AAAAAA содержит ту же точку входа, что и модуль, уже существующий в библиотечном файле. Точка входа игнорируется, но модуль включается в библиотечный файл.

Действие.

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

?LIBR-W-INVALID-REPLACEMENT OF AAAAAA

Причина.

Заменяемый в библиотечном файле модуль AAAAAA не существует. Модуль игнорируется.

Действие.

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

?LIBR-W-NULL LIBRARY

Причина.

Создаваемый библиотечный файл не содержит глобальных имён.

Действие.

Входной файл должен иметь по крайней мере одно глобальное имя.

?LIBR-W-ONLY CONTINUATION ALLOWED

Причина.

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

Действие.

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

ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ДОКУМЕНТОВ

  1. Операционная система ФОДОС-2.
    Командный язык системы