Текст
                    Г. А. ДРОБУШЕВИЧ
СПРАВОЧНИК
ПРОГРАММИСТА

Г. А. ДРОБУШЕВИЧ СПРАВОЧНИК ПРОГРАММИСТА Минек ^Вышэишая школа» 1978
6П5.8 Д 75 УДК 681.3(031) Дробушевич Г. А. Д 75 Справочник программиста,— Мн.: Выш. школа, 1978.—< 192 с., ил. В книге даны необходимые сведения по языкам программирова- ния ЕС ЭВМ АССЕМБЛЕР, ФОРТРАН,. КОБОЛ, ПЛ/1, РПГ, опера- ционным системам ОС и ДОС, а также приводится таблица кодов ДКОИ и англо-русский словарь программиста. Книга рассчитана на студентов, преподавателей, работников ВЦ, на всех, кто использует ЭВМ. 30502—164 ДМ 304(05)—78 86—78 6П5.8 (£) Издательство «Вышэйшая школа», 1978
ПРЕДИСЛОВИЕ Эффективное использование ЕС ЭВМ невозможно без хорошего знания языков программирования АССЕМБЛЕР, ФОРТРАН, КОБОЛ, ПЛ/1, РПГ, возможностей операционной системы (ОС) и дисковой операционной системы (ДОС). Для изучения языков программирования необходимы описания и руководства, которые даются в технической .документации по операционным системам, а также учебники и учебные пособия. При использовании этих языков программирования необходимы справочники. Значительное время при разработке программного обеспечения занимает отладка программ и поиск ошибок, многие из которых обнаруживаются при трансляции. К со- жалению, сообщения об ошибках и весь листинг программы печатаются на англий- ском языке. Перевод текста сообщения представляет значительную трудность даже для тех, кто неплохо владеет английским языком. Воспользоваться же переводами, приведенными в технической документации, затруднительно из-за крайне ограничен- ного числа экземпляров технической документации, получаемых вместе с ЭВМ. Настоящий справочник содержит краткие сведения по указанным выше языкам программирования и операторам управления заданиями в ДОС ЕС. Справочник состоит из шести глав. В первой главе рассматриваются операторы уп- равления заданиями ДОС ЕС ЭВМ. В последующих пяти главах рассматриваются языки программирования ЕС ЭВМ АССЕМБЛЕР, ФОРТРАН, КОБОЛ, ПЛ/1, РПГ. В каждой из этих_глав даются краткие сведения о языке, правила записи программ на бланках и список сообщений об ошибках во время трансляции (номер ошибки, анг- лийский текст и перевод). Приводится англо-русский словарь, содержащий наиболее часто встречающиеся английские слова в терминологии программиста. При составлении справочника автор использовал материал технической доку- ментации по’ДОС ЕС, а также другие материалы из опубликованных источников,. Автор приносит глубокую благодарность докт. техн, наук, проф. Р. И. Фурунжие- ву, взявшему на себя нелегкий труд рецензирования рукописи, а также сотрудникам кафедры общего программирования БГУ, которые оказали помощь в подборе мате- риала для книги и сделали свои замечания по ее содержанию. Автор будет признателен читателям за все замечания, которые просит присылать по адресу: 220080, г. Минск', БГУ им. В. И. Ленина, факультет прикладной математики, Кафедра общего программирования.
УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ ДОС ЕС ОПЕРАТОРЫ УПРАВЛЕНИЯ ЗАДАНИЯМИ Г; JOB — начаты заданием ' Оператор? JOB*" указывает начало?* поеледователвноети*управляющих?операторов* нового заданиях* Н JOB имязад а ния; комментарии где* имязадания-—имя2 задания? (от? В до? 8<’знаков)? комментарии-—пояснительный- текст (например; целесообразна указать^ имя программиста^ или лица; получающего задание)^ 2; конец задания: Этот'оператор должен быть последним;в пакете операторов каждого задания; М*—комментарии: Между знаком & и? комментариями должна бш&ве менее одиннадцати •пробелов.» З^/ЕХЕО—выполнить? программу: Оператор EXEG- информирует” программу ♦« УПРАВЛЕНИЕ, ЗАДАНИЯМИ о конце у пр авл яющих операто ров*шагз-з адан ияг и* указывает-на? необходимость- нач аты выполнение пробЛемнойпрограммы. ПЬ-оператору^ЕХЕО-загружается-первая?(един- ственнаяХфазапрограммыишередаетсяуправлениев^точку* входа; (заданную.оператор ром-ENTRY илпредполагаемую- по умолчанию)/ /Л ’ ЕХ ЕС имя фазы?' где имя* фазы "—имя 'фйзььизбиблиотеки абсолютных модулей;(от1до .&знаков)С Если имя/фазы не-'указано; в основную"-памят-ЬАЗ:агружается;и> затем?выполняется^ фаза, которая-непосредственно -перед этим была? созданаФЕДАК?ГОРОМ' ицвременно? помещена1* вбибли отеку'абсолютных модулей.' 4. ASSG№—назначить логическому. устройству; Оператор ASSG№ ислолвзуется * для^ назначения- системным-логическим- устрой* ствам или логическим устройствам программиста жонкретных-физических устройству; (Жсии’ф- ЙХ^б’ДЯ s 7/ ASSGN SYSXXX, fl» h (Ю№: я где? SYSx Х-Х — символическое? имя? логического * устройства; 1 Системные логические устройства Имя логичес- кого устрой- ства Имя системно- го файла Назначен из Тип физического устройства 1 2 3 4 SYSRDR IJSYSIN Для ввода управляющих Перфокарточное устройство операторов задания ввода, накопитель на маг- нитной ленте, накопитель на магнитных дисках SYSIPJ IJSYSIN Для ввода потока дан- ных (системный ввод) Перфокарточное устройство ввода, накопитель на маг- нитной ленте, накопитель 4
Окончание 1 1 2 1 3.1 4 IJSYSPH на магнитных дисках SYSPCH Для вывода информации Перфокарточное устройство на перфокарты (систем- вывода, накопитель на маг- ный перфоратор) ниткой ленте, накопитель на магнитных дисках SYSLST SYSLOG IJSYSLS Для вывода информации Печатающее устройство, на- ’На 'печать (системная копите ль на магнитной печать) ' ленте, накопитель на -маг- нитных дисках Для ввода директив и :ПультовЬя пишущая машин- 1 вывода сообщений ка, печатающее устройство (связь -с оператором) SYSLNK IJSYSLN Для £ввода данных для Накопитель на магнитных х РЕДАКТОРА дисках SYSCLB IJSYSCL Личная библиотека абсо- Накопитель на магнитных лютных - модулей дисках SYSRLB IJSYSRL Личная библиотека объек- Накопитель на магнитных тных модулей дисках SYSSLB IJSYSSL Личная библиотека ис- Накопитель на магнитных ходных модулей дисках SYSREC IJSYSRG . Регистрационный файл, Накопитель на ^магнитных •предназначенный для дисках сбора статистики о ма- шинных ошибках, ошибках 'каналов, ин- терфейса и устройств ввода-вывода X’cuu’ — адрес физического устройства в шестнадцатеричном коде,/где с—но- мер ^канала О—б; uu —.номер устройства \в канале 00—FE; , UА — назначение .для логического устройства отменяется; .Попытка ^выполнить операцию на логическом устройстве, назначение для которого отменено по -дирек- тиве с параметром <UА, вызовет снятие задания; IGN— назначение для логического устройства отменяется. Параметр IGN не допускается -для логических устройств ^SYSRDR,SYSCLB, -SYSIN и SYSIPT; X’ss* — модификатор плотности записи на ^магнитную ленгу: X’GS’—32бай- та/мм,.Х’С0’—63 байта/мм, .ХТ8* — 8 байт/ *мм. .Если операнд опущен, предпола- гается Х’СО’; f ALT — назначение сменной магнитной .ленты, которая .будет использоваться тогда, когда емкость основной магнитной ленты, назначенной для этого же логи- ческого устройства, будет исчерпана. Параметр ALT не допускается для логичес- ких устройств SYSRDR, SYSIPT и SYSIN. 5. OPTION — установить режим. Оператор OPTION устанавливает ^режимы работы программы УПРАВЛЕНИЕ ЗАДАНИЯМИ и некоторых обрабатывающих программ (при генерации системы уста- навливаются стандартные режимы работы). // OPTION режим, режим, режим ... где режим — один из следующих параметров: LOG Устанавливает режим LOG для SYSLST, при котором все директивы и операторы УПРАВЛЕНИЕ ЗАДАНИЯМИ выводятся на SYSLST. NOLOG Отменяет режим LOG для SYSLST. DUMP Устанавливает режим DUMP, при котором -в случае ненормального завершения проблемной программы на SYSLST (если для него есть назначение) вы- водится содержимое общих регистров и областей основной памяти, используемых управляющей программой и разделом, в котором выполнялась проблемная программа. 5
NODUMP Отменяет режим DUMP. LINK z Режим LINK для трансляторов указывает, что объектный модуль дол- жен быть помещен на SYSLNK. Режим LINK для РЕДАКТОРА и ОТЛАДКИ ука- зывает, что отредактированная программа должна быть помещена „на временное , хра- нение в. библиотеку абсолютных модулей. Режим LINK не допускается для разделов переднего плана, если во время генерации системы не была указана возможность ра- боты с личной библиотекой абсолютных модулей. ' NOLINK Отменяет режим LINK. Трансляторы могут также отменять режим LINK, если проблемная программа содержит ошибку, которая препятствует успеш- ному выполнению программы. DECK Если указан режим DECK, то трансляторы осуществляют вывод объ- ектных модулей на SYSPCH. Если указан режим LINK, то режим DECK игнориру- ется трансляторами РПГ и БАЗИСНЫЙ ФОРТРАН. NODECK Отменяет режим DECK. LIST При указании этого режима трансляторы осуществляют распечатку исходного модуля на SYSLST. АССЕМБЛЕР выводит на SYSLST также распечатку объектного модуля в шестнадцатеричном виде и перечень всех ошибок в исходной программе/Трансляторы ФОРТРАНа дополнительно выводят на SYSLST распечат- ку распределения памяти и сообщения об ошибках в исходной программе. NOLIST Отменяет режим LIST. LIST X Вызывает печать трансляторами ФОРТРАНа IV и ПЛ/1 объектного модуля на SYSLST. Транслятор КОБОЛ при указании этого режима осуществляет вывод на, SYSLST объектного модуля, а также глобальных таблиц литералов и рас- пределение регистров. NOLIST X Отменяет режим LIST X. SYM При указании этого режима АССЕМБЛЕР выводит таблицу символи- ческих имен на SYSPCH, трансляторы ПЛ/1 и КОБОЛ — на SYSLST. NOSYM Отменяет режим SYM. XREF При указании этого режима трансляторы ПЛ/1, АССЕМБЛЕР и КОБОЛ выводят таблицу перекрестных ссылок на SYSLST. NOXREF Отменяет режим XREF. ERRS При указании этого режима трансляторы БАЗИСНЫЙ ФОРТРАН, КОБОЛ и ПЛ/1 выводят список всех ошибок в исходной программе на SYSLST. NOERRS Отменяет режим ERRS. CAT AL Указывает, лто отредактированная РЕДАКТОРОМ программа долж- на, быть каталогизирована в библиотеку абсолютных модулей. Указание режима _ CATAL автоматически вызывает установку режима LINK для трансляторов. Режим CATAL не допускается для разделов переднего плана, если во время генерации систе- мы не была указана возможность работы с личной библиотекой абсолютных модулей. STDLABEL При указании этого режима вся последующая информация о метках записывается на цилиндр меток в область стандартной информации о метках файлов. Информация доступна любой программе в любом разделе до тех пор, пока не будет введен новый оператор // OPTION STDLABEL. Режим STDLABEL отменяется по концу задания или шага задания (восстанавливается режим USRLABEL) и при указании режима PARSTD или USRLABEL. USRLABEL При указании этого режима вся последующая информация о метках записывается на цилиндр меток в область временной информации о метках раздела. PARSTD При указании этого режима вся последующая информация о метках записывается на цилиндр меток в область постоянной информации о метках раздела. Информация доступна любой программе в данном разделе до тех пор, пока не будет введен новый оператор 7/ OPTION PARSTD. Режим PARSTD отменяется по концу задания или шага задания (восстанавливается режим USRLABEL) и при указании режима USRLABEL или STDLABEL. Поиск информации о метках файла во время открытия файла производится в следующем порядке: область USRLABEL, область PARSTD, область STDLABEL. 48С Определяет 48-символьный алфавит на SYSIPT (для ПЛ/1). 60С Определяет 60-символьный алфавит на SYSIPT (для ПЛ/1). SYSPARM=’X X X X X X X X ’ Задает строку алфавитно-цифровых симво- лов, определяющих значение параметра & SYSPARM для транслятора АССЕМБЛЕР. Длина строки не более восьми символов. Апостроф внутри строки представляет- 6
ся двумя апострофами. Операнд не допускается, если во время генерации системы не была указана эта возможность; 6. PAUSE — организовать паузу. Этот оператор организует паузу немедленно, сразу после его ввода. Возобновля- ется обработка потока управляющих операторов по директиве УПРАВЛЕНИЕ ЗА-4 ДАНИЯМИ «конец текста». // PAUSE [любые комментарии] 7. RESET — восстановить назначения. Оператор RESET восстанавливает стандартные назначения устройств' ввода- вывода И RESET SYS PROG ALL SYSXXX где SYS — восстанавливает стандартные или постоянные назначения всех системных логических устройств; PROG—восстанавливает стандартные или постоянные назначения всех логи-' ческих устройств программиста; ALL — восстанавливает стандартные или постоянные назначения всех логичес- ких устройств. ' SYSX X X — восстанавливает стандартное или постоянное .назначение указан- ного логического устройства. 8. DLBL — запомнить информацию о метках файла на дисках. Оператор DLBL сообщает информацию, необходимую для создания или проверки меток файла на дисках. // DLBL имя файла, [’идентификатор файла’], [дата], [код] где имя файла — тождественно имени файла, заданному в операторе DECLARE; идентификатор файла — идентификатор, который присваивается файлу, содержи? от 1 до 44 алфавитно-цифровых символов; дата — определяет срок хранения файла и может задаваться в одной из двух форм: в виде числа, содержащего от 1 до 4 цифр и указывающего количество дней хранения файла (от 0 до 9999); в виде абсолютной даты истечения срока хранения фай- ла, содержащей последние две цифры года и номер дня в году (ГГ/ДДД); если операнд опущен, срок хранения принимается равным 7 дням; код — двух- или трехзнаковое поле, идентифицирующее тип организации файла! SD — последовательная организация; DA — произвольная организация; ISC — создание индексно-последовательного файла; ISE — обработка индексно-последовательного файла (расширение, добавление', извлечение); < Если параметр «код» опущен, то принимается код SD. 9. EXTENT — запомнить информацию об участке файла на дисках. Этот оператор сообщает информацию об участке, занимаемом файлом на дисках. Один или несколько операторов EXTENT должны следовать непосредственно за оператором DLBL. // EXTENT [SYSXXX], [регистрационный номер], [тип], [номер участка], [адрес участка], [количество дорожек], [дорожка разделения цилиндра] где SYSX X X — символическое имя логического устройства, которому назначен накопитель на магнитных дисках. Если этот параметр опущен, то берется имя; ука- занное в предшествующем операторе EXTENT; регистрационный номер — регистрационный номер пакета дисков (тома), на котором находится описываемый в EXTENT участок (от 1 до 6 знаков). Если этот параметр опущен, то используется номер, указанный в предшествующем операторе EXTENT. Если этот параметр опущен во .всех операторах EXTENT, то во время от- крытия файла не производится контроль на правильность установки нужного тома и потребитель сам несет ответственность за использование неверного носителя; 7
где К= тип —тип участка. Этот параметр записывается в виде цифр 1^5, 4 или;8,. где' 1 -« определяет участок, предназначенный для размещения; данных на неразделенных цилиндрах; 2 определяет участок, предназначенный для области переполнения (для индексно-последовательного файла); 4 определяет участок, предназначенный для размещения индекса (для индексно-последовательного файла); 8 определяет участок, предназначенный для размещения данных на разделенных-, цилиндрах; (по- следовательный файл). Если этот параметр опущен, то предполагается 1;: адрес участка — от L до Б цифр, определяющих относительный номер первой дорожки участка (относительно нулевой дорожки на нулевом цилиндре).' Нумерация^ ведется относительно дорожки 0 на цилиндре 0. Для индексно-последовательного и произвольного файлов указание адреса участка обязательно. Для вводного файла последовательного доступа этот операнд; может быть опущен (в этом случае адрес участка берется из метки файла). Формула для подсчета адреса участка К • п фй 10 для дисков типа ЕС-5052; 20 для дисков типа ЕС-5061; п — номер цилиндра; h — номер головки; количество — количество дорожек, занимаемых участком, (от 1 до 5 цифр); Для1 последовательного вводного файла этот параметр можно опустить. Для.файлов, раз- деляющих цилиндры с другими файлами, количество дорожек представляет произвел дение количества цилиндров, отведенных файлу, на количество.дорожек, занимаемых этим файлом на каждом из цилиндров; дорожка разделения; цилиндра— номер последней из «дорожек (1 —-2 десятичные цифры), занимаемых; участком на. каждом, из.цилиндров в. случае; разделения;цилин- дров. Номер первой дорожки этого участка берется из адреса,участка; . 10. TLBL — запомнить информацию;© метках файла на магнитной.ленте, v Оператор TLBL сообщает информацию, которая необходима, для создания или проверки метою файлов на магнитной ленте. U TLBL имя файла, [’идентификатор файла’],.[дата], [регистрационный: номер файла], [порядковый номер, тома], [порядковый, номер файла], [номер, поколения], [номер версии поколения]: ' где имя файла — идентично имени файла, объявленному в операторе DECLARE; идентификатор файла идентификатор; который связан.с. именем файла* на но- сителе данных и содержит от 1 до 17 алфавитно-цифровыхсимволов.Еслиэтотопе? ранд опущен,.то для выводного файла в качестве идентификатора используется имя файла, для вводного файла проверка идентификатора не. производится. Для вводных файлов идентификатор сравнивается с информацией, в метке ленты; дата — для выводного файла указывается срок хранения файла в днях (0— 9999, а для вводного — дата создания в форме ГГ/ДДД (ГГ — год, ДДД — день); Если этот параметр опущен, срок хранения принимается равным нулю. Для вводныхсфайлов в метку заносится текущая дата, полученная-во время первоначальной, загрузки. Если * параметр опущен; проверка даты создания файла не производится; регистрационный, номер файла — архивный номер первой катушки файла, рас- положенного на нескольких катушках (от Где 6 знаков)'. Если этот параметр опущен для выводного файла, будет использован регистрационный номер первой катушки файла. Если параметр опущен для вводного файла, контроль, регистрационного но- мера не производится; порядковый номер тома — порядковый номер тома многотомного файла (от 1 до 4 двоичных, цифр). При переключении на следующую;ленту этот номер автоматически увеличивается. Если параметр опущен для выводного файла, его значение принима- ется равным 0001, если параметр опущен для вводного файла, контроль номера тома не производится; порядковый номер файла -₽• порядковый номер.файла на многофайловом томе (от 1 до 4 двоичных цифр). В случае выводных файлов он увеличивается автоматичес- ки при выполнении процедур OPEN/CLOSE. Если параметр, опущен для выводного файла, значение принимается равным 0001 (двоичное).. Если параметр опущен для вводного файла, контроль порядкового номера не производится; 8 -
номер поколения-—определяет дополнительную информацию к идентификатору - файла (от 1 до 4 цифр).. Если этот параметр опущен для выводного файла, его значение принимается равным 0001 (двоичное). Если параметр опущен для вводного;файла, контроль номера поколения не производится; номер, версии поколения —определяет дополнительную информацию к* номеру поколения (от 1 до 2 цифр). Если параметр Опущен для выводного файла, его значение принимается равным 01 (двоичное); Если параметр-опущен для вводного файла, кон- троль номера версии поколения не производится. 11. LBLTYP — резервировать память* для информации о метках. ч Этот оператор определяет объем основной памяти, которая должна быть отведена' РЕДАКТОРОМ в области проблемной программы для обработки меток/файла. // LBLTYpfNSD (пп) I ЦАРЕ J где NSD(nn) — задается, если должна быть зарезервирована одна или несколько об- ластей, меток для индексно-последовательного файла, или файла с прямым доступом; пп «—максимальное количество участков, используемых для.одного такого файла. В этом, случае • резервируется (84 + (20 г пп}) байт.. Если, указан параметр ТАРЕ, то резервируется 80 байтов. Область, меток необходима только, тогда, когда в фазе обрабатываются ленточные файлы с метками, индексно-последовательные и. региональные (с прямым доступом) файлы.на дисках^. Если такие файлы, в программе не используются, оператор LBLTYP не нужен. Если оператор LBLTYP необходимая должен непосредственно предшест- вовать оператору /Z EXEC LNKEDT. Это приводит, к тому, что адрес загрузки, фазы увеличивается на длину области меток. 12. МТС.я- выполнить служебные операции, на-магнитной.ленте. С помощью операт ора МТС на магнитной ленте выполняются, некоторые служеб- ные операции.. f X’cuu’ // МТС'код (итерации-! (oioXX/x где- код операции определяет* вид* служебной операции; выполняемой на магнйтной ленте: z BSF— шаг на файл. назад,. BCR — шаг1 на блок назад, ERG — стереть промежуток,. FSF «— шаг на файл вперед, FSR — шаг на блок вперед, RUN — перемотать и разгрузить, REW — перемотать, WTM — записать марку. 13. DATE — указать.текущую дату*; Оператор DATE: указывает: текущую дату;.действительную только: для задания, в котором^ встретился этот оператор.. и олтеЦ'"'гЦ (дд/мм/гг J где дд — день (01—31); мм — месяц (01—12); гг — год (00—99). 14. UPSI— установить значения программных переключателей. Оператор UPSI устанавливает значения битов в байте программных переключа- телей UPST в области связи. Он имеет вид // UPSI строка символов где строка символов содержит от одного до восьми символов 0, 1 или X. Каждый сим- вол соответствует одному биту в байте UP $1:_цервый — биту 0, второй — биту 1 и т.д. Бит, которому соответствует'символ 0; устанавливается в 0; бит, которому соответ- ствует символ 1, устанавливается в 1; бит, которому соответствует символ X, не из- меняется. Если операнд содержит меньше восьми символов; состояние оставшихся крайних справа бит в; байте не изменяется. 15. LOG — печать управляющих операторов и директив. 9
Все выводимые операторы и директивы выдаются, на SYSLOG. 16. NOLOG — отменить режим LOG. , Он имеет вид // NOLOG 17. LISTIO — распечатать таблицу назначений логических устройств. //LISTIO операнд где операнд может принимать, значения: SYS, PROG, Fl, F2, ALL, SYSXXX, UNITS, DOWN, UA, X’cuu’ для директивы и оператора Управления заданиями и значения: BG, Fl, F2, UA, ALL для директивы Ини- циатора одиночных программ. Каждое из значений определяет характер печа- таемой информации. Значение Печатаемая информация SYS Таблица назначений для всех системных логических устройств раздела Таблица назначений для всех логических устройств програм- миста в разделе PROG BG Таблица назначений для всех логических устройств фонового раздела Fl Таблица назначений для всех логических устройств первого раз- дела переднего плана F2 Таблица назначений для всех логических устройств второго раз- дела переднего плана ALL Таблица назначений для всех логических устройств всех раз- делов SYSXXX Назначение для указанного операндом логического устройства в разделе UNITS Таблица всех физических устройств, которые назначены в дан- ный момент логическим устройством DOWN Список всех физических устройств, использование которых за- прещено Список всех физических устройств, которые в момент выдачи директивы или оператора LISTIO не назначены ни одному из логических устройств UA X’cuu’ Список всех логических устройств, которым назначено физиче- ское устройство с адресом 18. RSTRT — запустить программу с контрольной точки. Имя задания, указанное в операторе JOB, должно быть идентичным имени saдания, используемому при создании контрольной точки. Оператор имеет врд //RSTRT SYSXXX, пшш [, имя файла] где SYSXXX—логическое устройство, на котором расположен файл контроль- ных точек; пппп — номер контрольной точки, с которой производится запуск программы. Номера контрольных точек печатаются на SYSLST во время, их создания; имя файла — имя файла контрольных точек. Этот операнд указывается в том случае, если информация контрольной точки записана на диски. Имя файла должно быть идентичным имени файла, используемому в макрокоманде DTFPH, описываю- щей файл контрольных точек на дисках, и в макрокоманде CHKRT, , 19. CLOSE — закрыть выводные файлы на магнитной ленте. //CLOSE SYSXXX , X’cuu’ [ , UA , IGN , ALT ,X’ss’] 10
где SYSX X X — логическое устройство, на котором расположены файлы, подлежа- щие закрытию; X’cuu’— адрес физического устройства, которое после закрытия назначается для логического устройства; X’ss’— модификатор плотности записи на магнитную ленту. Он аналогичен опе- ранду X’ss’ в операторе (директиве) ASSGN; UA — указывает, что после закрытия назначение логическому устройству от- меняется; IGN — после закрытия назначение логическому устройству отменяется и все последующие обращения к этому устройству игнорируются; ALT — после закрытия основной магнитной ленты, назначенной для логического устройства, должна.быть открыта сменная магнитная лента (если она назначена логи- ческому устройству). Этот операнд допускается только для логических устройств SYSLST, SYSPCH, SYSOUT.
АССЕМБЛЕР СИСТЕМА КОМАНД ЕС ЭВМ Выполнить Execute EX 44 RX Rl, D2 (X2, B2) Вычитание Subtract (с) SR IB RR Rl, R2 Вычитание Subtract (с) S 5B RX Rl, D2 (X2, B2) Вычитание без нормализации (длинное) Subtract Unnormalized, Long (с) SWR 2F RR Rl, R2 Вычитание без нормализации (длинное) Subtract Unnormalized, Long (с) sw 6F RX Rl, D2 (X2, B2) Вычитание без нормализации (короткое) Subtract Unnormalized, Short (с) SUR 3F RR Rl, R2 Вычитание без нормализации (короткое) SU 7F RX Rl, D2 (X2, B2) Subtract Unnormalized, Short (с) Вычитание с нормализацией (длинное) Subtract Normalized, Long (с) SD 6B RX Rl, D2 (X2, B2) Вычитание с нормализацией (длинное) Subtract Normalized, Long (с) Вычитание с нормализацией (короткое) Subtract Normalized, Short (с) SDR 2B RR Rl, R2 SER 3B RR Rl, R2 Вычитание с нормализацией (короткое) Subtract Normalized, Short (с) SE 7B RX Rl, D2 (X2, B2) Вычитание с нормализацией (сверхдлинное) Subtract Normalized, Extended (с, х) SXR 37 RR Rl, R2 Вычитание десятичное Subtract Decimal (с, d) SP FBSSD1 (LI, Bl), D2 (L2, B2) Вычитание кодов Subtract Logical (с) SLR IF RR Rl, R2 Вычитание кодов Subtract Logical (с) SL 5F RX Rl, D2 (X2, B2) Вычитание полуслова Subtract Halfword (с) SH 4B RX Rl, D2 (X2, B2) Деление Divide DR ID RR Rl, R2 Деление Divide D 5D RX Rl, D2 (X2, B2) Деление десятичное Divide Decimal (d) DP FD SS DI (LI, Bl), D2 (L2, B2) Деление (длинное) Divide, Long DDR 2D RR Rl, R2 Деление (длинное) Divide, Long DD 6D RX Rl, D2 (X2, B2) Деление (короткое) Divide, Short DER 3D RR Rl, R2 12
Деление (короткое) Divide, Short DE 7D RX Rl, D2 (Х2, В2)* Диагностика 83 SK Diagnose - Загрузка Load L LR 58 RXR,1, D2 (Х2^В2> Загрузка Load 18 RRiRh,. R2 Загрузка адреса Load Address LA LM 41 RX RJ, D2 (Х^ В2> Загрузка групповая^ Load Multiple Загрузка групповая регистров управления Load Multiple Control (ё, р) Загрузка действительного*адреса' Load Real Address (с, е, р) - 98 RS Rl, R3, D2 (В2) В8 RS Rl, R3; D2. (В2)- LMC LRA Bl RX Rl, D2 (Х2, В2)? 28 RR Rl, R2 Загрузка (длинная)^ LDR Load, Long Загрузка (длинная)1 Load, Long Загрузка дополнения Load Complement (с) LD -LCR LCDR 68 RX Rl, D2 ;(Х2;:В2> 13 RR Rl, R2F 23 RR Rl, R2; Загрузка дополнения (длинная) Load Complement J Longee) Загрузка дополнения (короткая) LCER* 3&;RR-Rly R2' Load Complement^ Short (с)* Загрузка и проверка LTR 12 RR Rl, R2' Load. and Test; (с) • Загрузка и проверка (длинная). Load and Test, Ьоп^;(ф LTDR 22 RR Rl, R2; 32RRXRR..R2-- Загрузка и проверка (короткая) Load and Test, Short (с) LTER Загрузка (короткая)^ Load, Short LER 38 RR Rl, R2 . Загрузка (короткая) Load, Short LE 78 RX Rl, D2 (Х2, В2> Загрузка отрицательная Load Negative (c) LNR 11. RR R1, R2 Загрузка отрицательная (длинная) LNDR 21 RR Rl, R2 Load Negative; Long? (fc)* Загрузка отрицательная (короткая) toad1 Negative! Short" (c)s LNER 31 RR' Rl-, R2 Загрузка положительная LPR 10 RRsRl; R2 load Positive (c) Загрузка полуслова Load-FTalfword1 LH 48 RX Rl, D2 (X2, B2>. ' Загрузка LPSW 82 SI DI (Bl) PSW Lbad'PSW-(n; p) - Загрузка , положительная (длинная) Load Positive, Long (c)' LPDR 20 RR Rl; R2 Загрузка положительная (коррткая) LPER 30 RR Rl, R2 Load Positive; Short’ (c)- Загрузка, с округлением (длинная) 25 RR Rl, R2 LRDR Load" Rounded, Long' (x)* Загрузка x, округлением (короткая) Load Rounded^, Short? (k) LRFR 35 RR Rl, R2 Запись в память групповая Store Multiple STM 90 RS Rl, R3, D2 (B2). Запись в. память Store Запись в память групповая регистров ST 50 RX Rl, D2" (X2, B2)' > 13
управления Store Multiple Control (c, p) STMG ВО RS Rl, R3, D2 (В2) . Запись в память (длинная): Store, Long STD 60 RX Rl, D2 (Х2, В2) Запись в память (короткая) Store, Short STE . 70 RX Rl, D2 (Х2, В2) Запись в память полуслова Store Hal (word STH 40 RX Rl, D2 (Х2, В2) Запись в память символа Store Character STC 42 RX Rl, D2 (Х2, В2) И AND (с) NR 14 RR Rl R2 И AND (с) N 54 RX Rl, D2 (Х2, В2) И непосредственное And Immediate (с) NI 94 SI Dl (В1), 12 И AND (с) NC • D4 SS DI (L, Bl), D2-(B2) ИЛИ Or (с) OR 16 RR Rl, R2 ИЛИ От (с) О 56 RX Rl, D2 (X2, B2) ИЛИ непосредственное Or Immediate (с) OI 96 SI DI (Bl), 12 ИЛИ Or (с) ОС D6 SS DI (L, Bl), D2, (B2) ' Исключающее ИЛИ Exclusive Or (с) XR 17 RR Rl, R2 Исключающее ИЛИ Exclusive Or (с) X 57 RX Rl, D2 (X2, B2) Исключающее ИЛИ непосредственное Exclusive Or Immediate XI 97 SI DI (Bl), 12 Исключающее ИЛИ . Exclusive Or (с) ХС D7 SS DI (L, Bl), D2 (B2) Начать ввод-вывод Start I/O (с, р) SIO 9C SI DI (Bl) Обращение к супервизору Supervisor Call SVC 0A RR I Опросить ввод-вывод Test I/O (с, р) TIO 9D SI DI (Bl) Опросить, канал Test Channel (с, р) ТСН 9F SI DI (Bl) Остановить ввод-вывод Halt I/O (с, р) НЮ 9E SI DI (Bl) Отредактирова ть Edit (с, d) ED DE SS DI (L, Bl), ,D2 (B2) Отредактировать и отменить Edit and Mark EDMKj DF SS DI (L, Bl), D2 (B2) Пересылка непосредственная Move Immediate MVI 92 SI DI (Bl), 12 Пересылка символов Move Characters МУС D2 SS Dl (L, Bl), D2 (B2) Пересылка зон Move Zones MVZ D3 SS Dl (L, Bl), D2 (B2) Пересылка со сдвигом Move with Of fest MVO Fl SS Dl (Ll, Bl), D2 (L2, B2) Пересылка цифр Move Numerics MVN DI SS Dl (L, Bl), D2 (B2) Перекодировать и проверить Translate and Test (с) TRT DD SS Dl (L, Bl), D2 (B2) Перекодировать Translate TR DC SS Dl (L, Bl), D2 (B2) Переход с возвратом Branch and Link BALR 05 RR Rl, R2 Переход с возвратом Branch and Link BAL 45 RX Rl, D2 (X2, B2) . Переход с записью в память 14
Branch and Store (c) BASR OD RR Rl, R2 Переход с записью в память Branch and Store (c) BAS 4D RX Rl, D2 (X2..B2) Переход по индексу больше Branch on. Index High BXH 86 RS Rl, R3, D2 (B2) Переход по индексу меньше или равно BXLE Branch on Index Low or Equal 87 RS Rl, R3, D2 (B2) Переход по счетчику Branch on Count BCTR 06 RR Rl, R2 Переход по счетчику BCT 46 RX Rl, D2 (X2, B21 Branch on Count Пополам (длинная) Halve, Long J HDR 24 RR Rl, R2 Пополам (короткая) Halve, Short HER 34 RR Rl, R2 Преобразование в двоичную Convert to Binary CVB 4F RX Rl, D2 (X2, B2) Преобразование в десятичную Convert to Decimal CVD , 4E RX Rl, D2 (X2, B2) x Проверить по маске Test under Mask (c) TM 91 SI DI (Bl), 12 Проверить и установить Test and Set (c) TS 93 SI DI (Bl) Прочитать ключ памяти Insert Storage Key (a, p) ISK , 09 RR Rl, R2 Прочитать символ Insert Character IC 43 RX Rl, D2 (X2, B2) Прямая запись Write Direct (b, p) WRD 84 SI DI (Bl), 12 Прямое чтение Read Direct (h, p) RDD B5 SI DI (Bl), 12 Распаковать Unpack UNPK F3 SS DI (LI, Bl), D2(L2, B2) Сдвиг влево арифметический Shift Left Arithmetic SLA 8B RS Rl, D2 (B2) Сдвиг влево двойной арифметический Shift Left Double Arithmetic SLDA 8F RS Rl, D2 (S2) Сдвиг влево двойной кода Shift Left Double Logical SLDL 8D RS Rl, D2 (S2) Сдвиг влево кода Shift Left Single Logical SLL 89 RS Rl, D2 (B2) Сдвиг вправо арифметический Shift Right Single Arithmetic SRA 8A RS Rl, D2 (B2) Сдвиг вправо двойной арифметический Shift Right Double Arithmetic SRDA 8E RS Rl, D2 (B2) Сдвиг вправо двойной кода Shift Right Double Logical SRDL 8C RS Rl, D2 (B2) Сдвиг вправо кода Shift Right Logical SRL 88 RS Rl, D2 (B2) Сложение Add (c) AR 1A RR Rl, R2 Сложение Add (c) A 5A RX Rl, D2 (X2, B2) Сложение без нормализации (длинное) Add Unnormalized, Long (c) AWR 2E RR Rl, R2 Слржение без. нормализации (длинное) Add Unnormalized, Long (c) AW 6E RX Rl, D2 (X2, B2) Сложение без нормализации (короткое) AUR 3E RR Rl, R2 Add Unnormalized, Short (c) Сложение без нормализации (короткое) Add Unnormalized, Short (c) AU 7E RX Rl, D2 (X2, B2) Сложение десятичное Add Decimal (c, d) ' AP FA SS DI (LI, Bl), D2 (L2, B2) Сложение (длинное) 15
Add Normalized, Long (c) AD 6A RX Rl, D2 (X2, B2) ' Сложение кодов Add Logical (c) ALR IE RR Rl, >R2 ’ Сложение, кодов -- Add Logical (c) Сложение полуслова АЬ* 5E RX Rl, D2 (X2, B3) Add Halfword АН 4A?RXKR1, D2 <X2, B2) Сложение с нормализацией (длинное) Add Normalized, Long (c) Сложение с нормализацией (короткое) ADR 2A RR Rl, R2 ' Add Normalized, 'Short (c) Сложение с нормализацией .(короткое) AER ЗА RR Rl, R2 Add Normalized, Short (c) Сложение с нормализацией (.сверхдлинное) АЕ 7A RX Rl, D2 (X2, B2) Add Normalized, 'ExtencP(c, x) AXR 36 RR Rl, R2 Сложение с очисткой F8 SS Dl (LL, Bl), D2Xfc2,"®2) Zero and Add ZAP Сравнение .Compare ,(c) CR 19RRR1/R2 Сравнение 'Compare (c) С , 59 RX Rl, 4)2 (X2. B2) Сравнение десятичное F9 SS Dl (Jil/Bl), D2<R2, B© Compare Decimal (c, ’d) Сравнение непосредственное СР Compare Immediate CLI 95 SI Dl (D2), 12 Сравнение (длинное) Compare, Long CD 69 RX«R1, D2 (X2, B2) Сравнение <(длиннре) 29 RR Rl, R2 Compare, Long CDR Сравнение кодов — Compare, Logical (c) Сравнение кодов CLR 15 RR Rl, (R2 Compare, Logical (c) CL 55 RX Rl, D2 <(X2>B2) Сравнение кодов D5 ^L, «), -02 x Compare, Logicalt(c) Сравнение (короткое) CLG Compare, Short, (c) Сравнение (короткое) CER -R2 Compare, Short (g) СЕ 79 RX^1,-O2^X2, B2) Сравнение полуслова Compare Halfword (c) У множение CH 49 RX Rl, D2^X2,*iB2) Multiply MR IG'RR Rl, R2 У множение Multiply M ^SCsRX Rl, ©2 (X2, sB2) Умножение десятичное FG’SS ©l (Ы ,’B1), D2(L2, B2> Multiply Decimalj(d) MP Умножение (длинное) 2C RR Rl, R2 Multiply; Long Умножение (длинное) MDR Multiply, Long Умножение длинных со сверхдлинным MD 6C RX Rl, D2 i(X2, B2) результатом 27.-RR Rl, R2 Multiply to Extend (х) Умножение длинных со сверхдлинным MXDR результатом «7 RX Rl, D2 (X2, B2) Multiply to Extend Умножение (короткое) MX© Multiply, Short Умножение (короткое) MER ^G RR ^Rl , R2 Multiply, Short Умножение сверх длинное ME 7C RX Rl, D2 (X2, B2) , 16
Multiply, Extended (x) MXR 26 RR Rl, R2 Умножение полуслова Multiply Halfword MH 4G RX Rl, D2 (X2, B2) Упаковать Pack PACK F2 SS DI (LI, Bl), D2(L2, В 2) " Условный переход Branch on Condition BCR O7RRM1,R2 Условный переход Branch on Condition BG 47 RX Ml, D2 (X2, B2) Установить ключ памяти Set Storage Key (n, p) SSK 08 RR Rl, R2 Установить маску программы Set Program Mask (n) SPM 04 RR Rl Установить маску системы Set System Mask (p) SSM 80 DI (Bl)
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С ФИКСИРОВАННОЙ ТОЧКОЙ Форматы Название операции Код операции RR Код операции RX операции над словами Код операции RX операции над полусловами машинный символиче- ский машинный символиче- ский машинный символиче- ский ЗАГРУЗКА (LOAD) 18 LR (R2)->R1 58 L (S2)->R1 48 LH |S2[06ht]-»R1[0 —16 |S2[1 — 15 бит H ЗАПИСЬ В ПАМЯТЬ , 1 Rl [17 — 31 бит] (STORE) 50 ST (R1)-»S2 40 STH (Rl [16 —31])->S2 СЛОЖЕНИЕ ' (ADD) 1A AR (Rl) + (R2)-> Rl 5A A (Rl)+ (S2)-»R1 4A AH (Rl) + (S2)-> Rl ВЫЧИТАНИЕ (SUBTRACT) IB SR (Rl) - (R2)Rl 5B S (R1)-(S2)^R1 4B SH (Rl)- (S2)->R1 УМНОЖЕНИЕ (Rl четный + 1) x (Rl четный + 1) x (MULTIPLY) 1C MR X(R2)’-> Rl, Rl-|-1 5C M X(S2) — Rl, Rl+1 4C. MH (Rl) X (S2) ->R1 ДЕЛЕНИЕ (Rl четный, Rl-1- (Rl четный Rl-J-1) : (DIVIDE) ID DR +1):(R2)—Rl оста- 5D D : (S2)-> Rl остаток, ток, Rl + 1 частное Rl +1 частное СРАВНЕНИЕ . (COMPARE) 19 CR (R1)-(R2) 59 C (Rl) —(S2 49 CH (Rl) — (S2) =» КУ
ОПЕРАЦИИ С ПЛАВАЮЩЕЙ точкой Формат RR Код операции Формат RX Код операции Формат RR Код операции Формат RX машинный АССЕМБЛЕ- Ра 1 машинный 1 АССЕМБ- ЛЕРа машинный I АССЕМБ- ЛЕРа Загрузка (Load) Загрузка положительная (Load Positive) Загрузка отрицательная (Load Negative) Загрузка и проверка (Load and Test) Загрузка дополнения (Load Complement) Сложение с нормализацией (Add Normalized) Вычитание с нормализацией (Subtract Normalized) Сложение без нормализации (Add Unnormalized) Вычитание без нормализации (Subtract Unnormalized) Сравнение (Compare) Умножение (Multiply) Деление (Divide) Пополам (Halve) Запись в память (Store) 38 LER (R2)->R1 30 LPER |(R2)|->R1 31 LNER —|(R2)|-^ Rl 78 LE (A2)->R1 28 LDR (R2)->R1 68 LD (A2)->R1 32 33 LTER (R2)->R1=> LCER — (R2)->R1 ЗА AER (Rl)+(R2)-> ->R1H 7A ЗВ SER (Rl)-(R2)-> ->R1H 7B ЗЕ AUR (Rl)+(R2)-> ->Rl (Rl)—(R2)-> ->R1 7E 3F SUR 7F 39 CER (R1)-(R2)=> =>КУ 79 ЗС MER (Rl)X(R2)-> ->R1H (Rl) :.(R2)-> ->R1 7C 3D DER 7D 34 HER (R2):2-»R1 20LPDR |(R2)| ->R1 21LNDR —|(R2)|—>R1 22LTDR (R2)->R1 => t =>КУ 23LCDR — (R2)->R1 AE (Rl)+(A2)-> 2A ADR (Rl)+(R2)-> 6A ->R1H ->R1H SE (Rl)—(A2)-> 2B SDR (Rl)-(R2)-> 6B ->R1H ->R1H AU (Rl)+(A2)-> 2EAWR (Rl)+(R2)-> 6E ->R1 ->R1 SU (Rl)—(A2)—> 2F SWR (Rl)-(R2)-> 6F ->R1 ->R1 CE (Rl)—(A2)=> 29 CDR (Rl)—(R2)=> 69 =фКУ =>КУ ME (Rl)X(A2)-> 2C MDR (Rl)X(R2)-> 6C ->R1H ->R1H DE (Rl) : (A2) -> 2D DDR (Rl) : (R2) -> 6D ->R1 ->R1 24 HDR (R2):2->R1 70 STE (Rl [04-31 ])-> —>A2 AD (Rl)+(A2)-> ->R1H SD (Rl)-(A2)-> —>R1H AW (Rl)+(A2)-> ->R1 SW (Rl)-(A2)-> -»R1 1 CD (R1)-(A2)=> , =>КУ MD . (Rl)X(A2)-> ->R1H DD (Rl):(A2)-> ->R1 60 STD (R1)—>R2
КОДЫ УСЛОВИЙ ОПЕРАЦИЙ С ПЛАВАЮЩЕЙ И ФИКСИРОВАННОЙ ТОЧКОЙ . "Ч 7'.— • ""• Мнемонические Коды операции КУ=0 КУ=1 КУ=2 КУ^З AER, АЕ, ADR, AD AUR, AU, AWR, AW P-G Р <0 ?> 0 ПП SER, SE, SDR, SD SUR, SU, SWR, SW . LTER, LTDR, LCER, LCi DR Р ==> 0 Р < 0 р > 0 LPER, L.PDR P = 0 UNER, UNDR P = 0 <3ER, CE, CDR, CD I = II Все остальные операции с плавающей запятой не изменяют код условия. AR, SR, А. 5, АН/ SH, CR, £, CH Р = 0 Р<0 кп р<р Р > 0 1>П Р>0 «Г" 1 ПП Все остальные операции с фиксированной точкой не изменяют код условия. Р —результат операции; КУ—код условия; ПП — переполнение; I и II —значения первого я второго операндов; R1H — нор- мализоранное содержимое регистра
ОПЕРАЦИИ ЗАПИСИ, ЧТЕНИЯ И ЗАГРУЗКИ ^ХФормати Название операции Код операции Формат RR Код операции Формат RX Код операции Формат < RX Признаки результата (коды условий) 1 машинный 1 АССЕМБ- ЛЕРа I машинный I АССЕМБ- ЛЕРа I машинный I АССЕМБ- ЛЕРа ку=о КУ=1 КУ—2 КУ=3 Загрузим пдЛожительная (Load Positive) 10 LPR I(R2)|->R1 P=0 — P>0 max Загрузка отрицательная (Load Negative) 11 LNR -|(R2)|->R1 P=0 P<0 — — Загрузка и проверка. (Load add Test) 12 i' LTR (R2)->R1=> ^КУ (R2)= (R2j< (R2)> - >0 Загрузка дбШйыШ (Load Complciniait) Загрузка адреса (Load Address) 13 LCR -(R2)->R1 41 LA A2-»R1 [8^-81] P=0 P<0 P>0 max Прочитать символ (Insert Character) 43 1C (A2)->R1[24— —31] Запись СиМвдла (Store Character) 42 STC (Rl [24-31])-^ ->A2 [ШХб! Загрузка (Load) 18 LR (R2)->R1 58 L (A2)->R1 48 LH (A2[l—15])-> I ->R1 [17—31] Запись в память (Store) 50 ST (R1)-»A2 40 STH (Rl [16-31])-> *-> A2
ОПЕРАЦИИ ПЕРЕХОДОВ Название Формат Код операции Порядок выполнения машинный символи- ческий УСЛОВНЫЙ ПЕРЕХОД RR 07 BCR Если КУ соответствует Ml, to=»(R1) (BRANCH ON CONDITION) RX 47 вс Если КУ соответствует Ml, то=фА2 переход с возвратом RR 05 BALR PSW [32—63]—>R1; =>(R2). Если R2=0,to=>k следующей команде (BRANCH AND LINK) RX 45 BAL PSW [32 — 63) ^Rl; =»А2 ПЕРЕХОД ПО СЧЕТЧИКУ RR 06 BCTR (Rl) — 1 -> R1, если R1 0, то => (R2) (BRANCH ON COUNT) RX 46 BCT (R1) — 1 -> R1, если R1 =£0, то => А2 ПЕРЕХОД ПО ИНДЕКСУ > (BRANCH ON INDEX HIGH) RS . 86 BXH Г R3 — четный № |(R1)+(R3)->R1, если (Rl) > (R3+1), то =е> А2 { R3 — нечетный № |(R 1)+(R3) -> Rl, если (Rl) > (R3), то => А2 ПЕРЕХОД ПО ИНДЕКСУ < . (BRANCH ON INDEX LOW OR RS 87 BXLE Для BXLE аналогично, только => А2 при «<» EQUAL) ВЫПОЛНИТЬ RX 44 EX (А2 [8 — 15J) + (R1 [24 — 31 ]) => А2. Выполнить команду по адресу А2; =фк следующей команде (EXECUTE)
ОПЕРАЦИИ ДЕСЯТИЧНОЙ АРИФМЕТИКИ данных Название операции — Код операции Формат SS Коды условий машинный АССЕМБ- ЛЕРа КУ=0 КУ=1 КУ=2, КУ=3 СЛОЖЕНИЕ (ADD)/ СЛОЖЕНИЕ С ОЧИСТКОЙ FA AP (Al) + (A2) -> Al 2=0 2<0 2>0 пп (ZERO AND ADD) F8 ZAP . 0->Al; (A2)->A1 Р=0 Р<0 Р>0 пп ВЫЧИТАНИЕ (SUBTRACT) УМНОЖЕНИЕ FB SP (Al) — (A2) -> Al Д=0 Д<0 Д>0 пп (MULTIPLY) ДЕЛЕНИЕ FC MP (Al) X (A2) -> Al; LI < 16, L2 < 8 — —- — (DIVIDE) УПАКОВАТЬ FD DP (Al): (A2) —> Al; LI — Ь2частное, L2остаток «— — — (PACK) - F2 PACK (A2 — зонный формат) —>А1 (упакованный формат) е-=» — — РАСПАКОВАТЬ (UNPACK) пересылка СО СДВИГОМ F3 UNPK (А2 — упакованный формат) -> А1 (зонный формат). ь—> Й.1 яй — — (MOVE WITN OFFSET) СРАВНЕНИЕ Fl MVO е—• — —— . (COMPARE) F9 CP (Al) ® (А2) =ф КУ сравнение справа налево 1=11 1<п 1>н —
ОПЕРАЦИИ АРИФМЕТИЧЕСКОГО И ЛОГИЧЕСКОГО СДВИГА Форматы Название операции x. A2K Константа сдвига » А2 (26 — 31) Коды условий г Код операции Форма» Код операции формат ку=о КУ=1 л КУ^2 ку=з Z машинный ДССЕМБ- ЛЕРа машинный АССЕМБ- ЛЕРа СДВИГ ВЛЕВО АРИФМЕТИЧЕСКИЙ СДВИГ ВПРАВО АРИФМЕТИЧЕСКИЙ «- А2К 8В SLA (Rl[l — ЗЦ-> 8Р А2К ->R1[±XX ... Х00...0] - А2К 8А SRA (Rl [1 — 31])-> 8Е А2К * А2К SLDA (Rl [1 — 63])-> А2К СДВИГ ВЛЕВО ЛОГИЧЕСКИЙ СДВИГ ВПРАВО ЛОГИЧЕСКИЙ -А2К ’ 89 SLL (Rl[0 —31])-* 8D А2К ->R1[XX...XOOOO] - А2К 88 SRL (Rl(0 —31])-> 80 . . A2K —>R1 [00...0X X...X] »R1 [±XX...X000...0] •» А2К SRDA (Rl [1 — 03])-> А2К, -Rl [±±±±.--ХХХ...] - A2K SLDL (Rl [0 — 63])-> A2K ->R1 [XX...X00...0] - A2K SRDL (Rl [0 — 63]) -> A2K ->R1 [00...0XX...X] P=0 P<0 P>0 P^o P<0 P>0 ПП Мнемонический код команд сдвига можно представить в виде: s (?) |D] {b} ^—*1 К"ф~“«х«8} • Shill {Й1} [₽О«Ы?1 ftXka,,}
леттвекие отмцш Форматы Яи»»™ >s. операции а. Код операции Формат RJT Код операции Формат RX Код опера- ции Формат RX Признаки результата - (коды условий) машинный . .. . АССЕМБ- ЛЕРа машинный АССЕМБ- ЛЕРа машинный I АССЕМБ-1 ЛЕРа 1 КУ—1 КУ=2 КУ=3 СЛОЖЕНИЕ КОДОВ (Rl) + (R2)-> (Rl) + (A2)->. S=0 2^0 2=0 пп (АРР LOGICAL) 1Е ALR ->R1^K¥ £E AL ->Rl==s>KY ВЬЩ^ТАВДЕ КОДОВ (Rl)-(R2)-> (Rl)-(A2)-> Д=0 Д=£0 Д=0 пп ^SUBTRACT LOGI- 1F SLR ^И1=фКУ 5F SL ->Rl=>Ky CH СРАрНЕНИЕ ЧИСЕЛ 19 CR (Rl)—(R2)=>KV 59 C (Rl)—(А2)=>КУ 49 1==П КП 1>п — (COMPARE) И 14 NR (R1)a(R2)->R1 54 N (R1)A(A2)-»R1 Р=0 Р=^0 — — (ANP) Замечание: СРАВНЕНИЕ КОДОВ 15 GLR (Rl) a= (R2)? => 55 CL (Rl) S (А2)? п£ред выпол- нением опе- КН 1>П —— (COMPARE LOGICAL) =>КУ =>КУ раций АН, SH,MH,CH ИЛИ (А2) расши- PfO < (OR) ИСКЛЮЧАЮЩЕЕ ИЛИ 16 OR (R1)V(R2)->R1 (R1)+(R2) Rl 56 Q (RPV(A2)->R1 ряется до слова "распро- странением знач^нря зна- Р=0 «59 Ьмм (СЛОЖЕНИЕ ПО 17 XR 57 X , (R1)+(A2HR1 кового разря- Р=0 Р^о МОР 2) да ' (EXCLUSIVE OR)
ЛОГИЧЕСКИЕ ОПЕРАЦИИ НАД ПОЛЯМИ ПЕРЕМЕННОЙ ДЛИНЫ И СИМВОЛАМИ Форматы команд Название операции Код операции Формат SS Код операции Формат SI Коды условий машинный АССЕМБ- ЛЕРа машинный АССЕМБ- ЛЕРЕ КУ=О К>=1 КУ—2 и D4 NC (L байтов А1)Д 94 N1 (байт А1) Д 12-> А1 Р=0 Р^О — (AND) (L байтов. А2)-> Al СРАВНЕНИЕ КОДОВ D5 CLC (L байтов А1) з= 95 CLI (байт А1) з= 12 => О 1=П 1<П 1>П (COMPARE LOGICAL; (L байтов А2) => КУ ИЛИ Об ОС (L байтов Al) V 96 01 (байт Al) v 12->А1 Р=0 Р?ьО — . (OR) (L байтов А2) -> А1 ИСКЛЮЧАЮЩЕЕ ИЛИ 07 ХС (L байтов А1) + 97 XI (байт А1) +12 -> А1 Р=0 Ру=О — (EXCLUSIVE OR) (L байтов А2)-> Al ПЕРЕСЫЛКА 02 MVC (L байтов А2)-> Al 92 MVI 12->A1 — (MOVE) (цифровые части ПЕРЕСЫЛКА ЦИФР Dl MVN L байтов A2)-> — . — — (MOVE NUMERICS) цифровые части L байтов Al ПЕРЕСЫЛКА ЗОН D3 MVZ (зонные части L байтов А2)-> — ' (MOVE ZONES) зонные части L байтов А1
ОПЕРАЦИИ РЕДАКТИРОВАНИЯ И ПЕРЕКОДИРОВКИ Формат SS : {коп Dl (L, Bl), D2 (В2); коп Al (L), А2 А1 — адрес поля аргументов длиной L байтов Здесь А2 — адрес таблицы байт-функций Alj — адрес j-гб байта поля Al, j = 0, 1, 2,.«, Lj ПЕРЕКОДИРОВАТЬ (TRANSLATE) DC TR 1) байт из таблицы A2 по адресу, A2 4-(Alj) пересылается в поле А1 по адресу Alj; 2) переход к обработке следующего байта из поля А1; при j = L — конец' операции, КУ не изменяется ПЕРЕКОДИРОВАТЬ И ПРО- ВЕРИТЬ (TRANSLATE AND TEST) . DD TRT 1) если (А2 4- (Alj)) — 0, то 2) j: — j + 1, переход к 1), пока j < L; если (А2 + (Alj)) 0, то Alj -> регистр 1, (А2 4- (Alj)) -> регистр 2 [24— -31] КУ = 0, если все байты байт-функции нулевые; КУ = 1, если ненулевой байт байт-функции встречается . до окончания . поля А1; КУ = 2, если последний байт байт-функции не нуль ОТРЕДАКТИРОВАТЬ (EDIT) ОТРЕДАКТИРОВАТЬ И ОТ- DE ED (Шаблон А1) (ред) (число в упакованном формате А2) -» А1 Символы шаблона: 40 — пробел 20 — символ выбора цифры , 21 — символ начала значимости 22 — символ разделения полей Любой символ ДКОИ — символ сообщения МЕТИТЬ (EDIT AND MARK) OF \ EDMK Аналогичен ED, но еще заносит в регистр 1 адрес первой значащей цифры числа
РАСШИРЕНИЕ МНЕМОНИЧЕСКИХ КОДОВ ДЛЯ КОМАНД УСЛОВНОГО ПЕРЕХОДА if ВС) Расширенная мнемоника Название - j 4 Машинная команда BR Безусловный ^переход BCR 15, ?Rg NOPR Нет операции 'BCR 0, R, В Безусловный переход ВС 15, s NOP Нет операции j-ВС 6, s Используются обычно после сравнения: вн Переход, если больше BC 2, s BL Переход, если меньше вс 4, s BE Переход, если равно BC s BNH ►Переход, если не больше JBC ГЗ, s BHL Переход, если не меньше BC Id, s BNE ♦Переход, если не равно iBC 7, s - Используются обычно после .команд арифме- тических операций; ВО Переход, если переполнение BC 1. s ВР Переход, если плюс rBC 2, з вм Переход, если минус BC 4, s BZ «Переход, если нуль BC 8, s BNO Переход, если не .переполнение Переход, если не "плюс BG 14, s BNP «BG 13, s BNM Переход, если не’минус ВС П, s , BNZ (Переход, если не* ну ль Используются обычно после команды ПРО- tBC.J, s ВЕРИТЬ ПО .МАСКЕ (ТМ): ВО Переход, если единицы BC 1, s ВМ Переход, если смесь BC 4, s BZ Переход, если нули BC 8, s BNO Переход, ?если не единицы • BC 14, з BNM Переход, если не смесь BC 11, s BNZ Переход, если не нули BC 7, s В командах с расширенной мнемоникой записывается только один операнд; этот операнд становится вторым операндом оттранслированной команды. КОМАНДЫ, ВЫРАБАТЫВАЮЩИЕ ПРИЗНАК РЕЗУЛЬТАТА Признаки результата Установка признака результата Положение битов маски , 0 ’ 8 1’ 4 2 3 2 1 Арифметика с плавающей точкой Сложение нормализованное S/L/E нуль < нуля > нуля Сложение ненормализованное S/L .нуль < нуля > нуля Сравнение S/L (А : В) равны А меньше А больше Загрузка и проверка S/L :нуль < нуля > нуля Загрузка дополнения S/L нуль < нуля —- Загрузка отрицательная S/L нуль — > нуля Вычитание с нормализацией S/L/E нуль < нуля > нуля Вычитание без нормализации S/L нуль < нуля > нуля < 28
Арифметика^десятичнаягш.сфиксированной точкой Сложение H/F/Dec нуль < нуля > нуля переполне- ние Сложенней; кодов- нуль,, пере- носа нет не»нуль,пе- реносагнет нуль, пере- нос есть ненуль^пе^ ренос есть Сравнение^ Н/E/Dec. (А^-В)- равно А- меньше» А- больше' —- Загрузка и проверка s нудь. < нуля > нуля —— Загрузка1" дополнения нуль < нуля > нуля переполне- ние* Загрузка отрицательная5 нуль < нуля — , — Загрузка положительная нуль —' > нуля переполне-~ ние Сдвиг влево двойной арифме- тический нуль <гнулш > нуля *— Сдвиг вправо двойной ариф- нуль <нуля' > нуля '— MCI ИЧсСЛхШ Вычитание H/F/Dec нуль <£нуЛ5Г > нуля переполне- ние Вычитание кода ’— ншнуль> пе^ реносамтетг нульр пере- нос есть не нуль, пе- ренос есть Сложение с очисткой нуль < нуля > нуля переполне- ние Логические операции И нуль не нуль ' »— Сравнение кодов (А : В) равно А мейьше А больше 1— Отредактировать нуль < нудя > нудя *— Отредактировать иотметить нуль <нуля > нуля »—» , Исключающёе ИЛИ НУ> не нудь — I— ИЛИ нуль не' нудь — — Проверить по маске нуль- нули и.ед и- —- единицы нкцы Перекодировать и проверить нуль не заверши- заверши- лось- лось Операции ввода-выеода Начать ввод-вывод успешное=* выполнение запомнено* CSW . занято выключено Остановить ввод-вывод прерывание- CSW?3aiTOM- остановлено выключено не обработа- но' нено Опросить ввод-вывод доступен CSW запом- нено занято выключено Опросить канал доступен' прерывание не обрабо- тано монополь- ный .режим выключено Операции переключения состояния Проверить и установить' нуль. единица., »— Загрузка реального- адреса успешна сегмент.шег ; страница доступен недоступна Я9
СЛОВО СОСТОЯНИЯ ПРОГРАММЫ j Маска системы Ключ Код прерывания О 7 8 11 12 15 16 31 Маска программы Адрес команды 32 ч 33 34 . • 35 36 39 40 63 0—7 Маска системы: 0 мультиплексный канал 1 селекторный канал 1 2 селекторный канал 2 3 селекторный канал 3 4 селекторный канал 4 5 селекторный канал 5 6 селекторный канал 6 7 внешние прерывания 8—И Ключ защиты 12 Режим работы с ASC11-8 13 Маска прерываний от схем контроля машины 14 Состояние ожидания 15 Состояние «задача» 16—31 Код прерывания . 32—33 Код длины команды (ILC) 34—35 Признак результата (СС) 36—39 Маска программы: 36 переполнение с фиксированной точкой 37 десятичное переполнение 38 исчезновение порядка 39 потеря значимости 40—63 Адрес команды РЕДАКТИРОВАНИЕ Код шестнадцатеричный 20 Символ выбора цифры (DS) 21 Символ начала значимости (SOS) 22 Символ разделения полей (FS) УПРАВЛЯЮЩИЕ СИМВОЛЫ Печатающее устройство b " Перевести перед печатью одну строку 0 Перевести перед печатью две строки —' Перевести перед печатью три строки + Блокировать перевод строк перед печатью 1 Прогнать бумагу до пробивки в дорожке 1 2 Прогнать бумагу до пробивки в дорожке 2 3 Прогнать бумагу до пробивки в дорожке 3 4 Прогнать бумагу до пробивки в дорожке 4 5 Прогнать бумагу до пробивки в дорожке 5 6 Прогнать бумагу до пробивки в дорожке 6 7 Прогнать бумагу до пробивки в дорожке 7 8 Прогнать бумагу до пробивки в дорожке 8 80
9 Прогнать бумагу до пробивки в дорожке 9 А Прогнать бумагу до пробивки в дорожке 10 В Прогнать бумагу до'пробивки в дорожке 11 С Прогнать бумагу до пробивки в дорожке 12 Карточные перфораторы V Выбрать приемный карман № 1 W Выбрать приемный карман № 2 ФОРМАТЫ ДАННЫХ Двоичные числа с фиксированной точкой Полуслово + 1 целое О 1 15 Полное слово 1 + целое О 1 31 Двойное слово + - целое О4 1 63 Двоичные числа с плавающей точкой Короткое + Характерис- тика Дробная часть 0 1 7 8 31 Длинное + Характеристика Дробная часть О 1 7 8 63 Логические да иные Полное слово О 31 Пеле переменной длины Символ Символ Символ О 7 О 7 О 7
Д.ех-яли1 цн ьье^дашн-ьге Формат с зоной Зона Цифра Зона Цифра & Зона Цифра Знак Цифра 0 3 4 7 0 3 4 7 .0 3 А 7 0 3 4 7 Упакованный формат - Цифра Цифра Цифра Цифра? • • • • • • Цифра ’ Цифра 3 -Цифра Знак 0 3 4 7 0 3 4 7 0 3 4 7 0.3 -4 7 КОНСТАНТЫ Е Н Неявная дли- на (в байтах) Границы раз- . мещения в памяти Максималь- ная длина ' (в байтах) Задается ОпреДед&пгё нескольких констант Усечение — допо^шенйе С по потреб- ности байт il—256 ~ И-65536 символами нет справа В по потреб- ности байт Я—256 двоичными цифрами нет слева X по потреб-• ности байт 1—256 1-$5536 , шестнадцатеричными циф- рами нет слева н 2 полуслово 1—8 десятичными цифрами Да слева < 4 слово 1—8 десятичными цифрами ’, Да слева Б 4 8 слово двойное слово 1—8 1-8 десятичными цифрами десятичными -цифрами да Да справа справа по потреб- - ности байт 1—16 десятичными цифрами да слева Р по потреб- ности байт 1—16 десятичными цифрами да -слева А 4 2 слово полуслово см* примеча- ние см. примеча- ние любым выражением любым выражением 1Да Да слева слева V 4 слово см. примеча- ние перемещаемым именем Да слева - 2 полуслово 2 абсолютным выражением перемещаемым выражени- ем двумя абсолютными вы- ражениями в форме (вы- ражения (выражение)) да не „ де- лается Примечание. Перемещаемые .константы типа *V должны иметь ддлину «2 байта; перемещаемые константы типа А должны иметь длину Зили 4 байта. Аб- солютные константы типа V ^имеют длину от 1 до 2 байтов; абсолютные
константы типа А имеют длину от 1 до 4 байтов. Константы типа V должны иметь дли- ну 3 или 4 байта. Область значений порядка: от —85 до +75 (только для констант типа Н, F, Е и D).’ Область значений масштаба: от—187 до +346 для констант типа Н и F, от О до 14 для констант типа D и Е. Шестнадцатеричная таблица умножения 0 1 2 3 4 5 6 7 8 9 А В С D Е F 0 00 00 00 ,00 00 Об 00 00 00 00 Об 00 00 00 00 00 1 00 01 02 03 04 05 06 07 08 09 0А ОВ ОС 0D . 0Е 0F 2 00 02 04 06 08 0А ОС 0Е 10 12 14 16 18 1А 1С IE 3 00 03 06 09 ОС 0F 12 15 18 1В 1Е 21 24 27 2А 2D 4 00 04 08 ОС 10 14 18 1С 20 24 28 2С 30 34 38 ЗС 5 00 05 0А 0F 14 19 1Е 23 28 2D 32 37 ЗС 41 46 4В 6 00 06 0G 12 18 IE 24 2А 30 36 ЗС 42 48 4Е 54 5А 7 00 .07 0Е 15 1С 23 2А 31 38 3F 46 4D 54 5В 62 69 8 00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 9 00 09 12 1В 24 2D 36 3F 48 51 5А 63 6С 75 7Е 87 А 00 0А 14 IE 28 32 ЗС 46 50 5А 64 6Е 78 82 8С 96 В 00 ОВ 16 21 2С 37 42 4D 58 63 6Е 79 84 8F 9А А5 С 00 ОС 18 24 > 30 зс 48 54 60 6С 78 84 90 9С А8 В4 D 00 0D 1А 27 34 41 4Е 5В 68 75 82 8F 9С А9 Вб СЗ Е 00 0Е 1С 2А 38 46 54 62 70 7Е 8С 9А А8 В6 С4 D2 F 00 0F 1Е 2D ЗС 4В 5А 69 78 87 96 А5 В4 СЗ D2 Е1 БЛАНК КОДИРОВАНИЯ . Исходная программа представляет собой последовательность команд и'операто- ров. Эти операторы записываются на стандартных бланках кодирования (рис; 1) и перфорируются на перфокарты. Одна строка бланка перфорируется на отдельной перфокарте. Каждая позиция бланка кодирования соответствует колонке карты. В верхней части бланка отведено место для идентификации программы и указаний оператору, перфорирующему программу. Эта информация на карты не перфорируется. Каждая строка бланка состоит из двух частей: колонки 1—71 отводятся для записи оператора, колонки 73—80 — для идентификации строки оператора. Оператор может занимать колонки 1—71 первой строки и, если необходимо, ко- лонки 16—71 последующих строк продолжения. Колонки !, 71 и 72 рассматриваются соответственно как колонки начала, конца и продолжения и представляют стандарт- ные границы оператора. Для того чтобы продолжить оператор на_другую строку, .необходимо записать любой знак, отличный от пробела, в колонку, следующую за колонкой конца опера- тора и называемую колонкой указателя продолжения. В случает стандартных границ оператора колонку указателя продолжения представляет колонка 72. В строке продол- жения в колонках слева.от колонки продолжения должны быть пробелы.Для транс- лятора АССЕМБЛЕР Р допускаются две- строки продолжения, для транслятора АССЕМБЛЕР Е — одна строка. Исключение составляют макрокоманды и операторы прототипа, которые могут иметь любое количество строк продолжения. Каждый оператор языка АССЕМБЛЕР содержит 3 поля: поле названия, поле операции, поле операндов. Для записи каждого поля на бланке кодирования отво- дится соответствующая графа. Однако программист может располагать поля операто- ра в графах и произвольно, соблюдая правила, изложенные ниже, Поле названия может содержать символическое имя оператора, которое выбирает- ся программистом для названия оператора. Символическое имя должно содержать не более восьми знаков. Запись в поле названия обычно не обязательна, но если она присутствует, то первый знак должен находиться в колонке начала. Если в колонке находится пробел, транслятор АССЕМБЛЕР считает, что оператор не имеет имени. Внутри поля названия не должно быть пробелов. 2 Г. А. Дробушевнч х 33
2 ввод - вывод КОМАНДЫ ВВОДА-ВЫВОДА АДРЕС УСТРОЙСТВА АДРЕСНОЕ СЛОБО КАНАЛА (CAW) (ОСНОВНАЯ ПАМЯТЬ22; ключ 0000 АДРЕС КОМАНДЫ О .34 78 31 32. Цепочка данных зз Цепочка команд 34 Блокирование неправильной, длины зз Блокировка записи в основную память 36 Программно-управляемое прерывание ' СЛОВА СОСТОЯНИЯ КАНАДА (CSW) (ОСНОВНАЯ ПАМЯТЬ 64) КЛЮЧ 0000 АДРЕС КОМАНДЫ О 34 78. 31 УСТРОЙСТВО КАНАЛ СЧЕТЧИК 32 39 40 47 48 КОМАНДА КАНАЛА (CCW КОМАНДА АДРЕС ДАННЫХ ПРИЗНАКИ 000 счетчик 32 38 37 39 4 0 4? 48 03 44 Ошибка в канале . (в. данных) . 45 Ошибка в канале (в управлении) 46 Ошибка в интерфейсе ( в управлении) .4? Ошибка в цепочке аг Внимание зз Модификатор состояния 34 Контроллер кончил 35 Занято 36 Канал кончил 37 У ВВ кончило зв Ошибка в устройстве зэ Особый случай в устройстве 40 Программно-управляемое прерывание 41 Неправильная длина 42 Ошибка в программе 43 Нарушение защиты
Поле операции следует за полем названия и отделяется от него по крайней мере одним пробелом. Запись в поле операции является обязательной,.она определяет мне- монический код оператора. Поле должно находиться в первой строке оператора, если он занимает две строки. Если у оператора отсутствует имя, запись ноля операции должна начинаться по крайней мере на одну позицию правее колонки начала. Мнемо- нический код операции должен состоять из пяти или менее знаков для машинных команд, команд АССЕМБЛЕРа и команд генерации и из восьми или менее знаков для «макрокоманд. Внутри поля операции не должно быть пробелов. Поле операндов следует за полем операции и отделяется от него хотя бы одним пробелом. Операндами могут быть адреса памяти, длины областей памяти, данные д другие элементы. Для отдельных операторов запись поля операндов может быть опу- щена, но для большинства требуется запись одного или нескольких операндов. Опе- ранды должны разделяться запятыми. Внутри поля операндов не должны содержаться пробелы, за исключением тех случаев, когда пробелы записаны в знаковом самоопре- делением терме, в знаковой константе или литерале, определяющем знаковую кон- станту. . ЕС ЭВМ АССЕМБЛЕР Программа Программист Сидоров Дата 20.i2.76 Диет __1 Листов J— Название 1 в Операция 10 к Операнды 16 20 25 . 30 55 60 65 71 ИДЕИТИФШЦ1Я 73 « sj/дт “I i It .tit । t i t i । i_j 1 i । I । i । I— i । г i i I t t i i i t । t t । I 1 а в ' fl a fl* В, АЛД 1|I|?I0I [ 1 1 1 1 ] I 1 । l | i I I i i i । i t । i I i 1 i i 1 1 1 >1 i I и,5,1Д6 *|/11 lb | 1 1 1 | 1 1 I 1 | 1 i । i । i i 1 i । i । 1 t i < i 1 1*1 I । » । i । 1 , 1 I 1 1 1 1 1 1 1 i f 1 I l । i | i l i i | i I l । | t f i i । 1 а < 1 । 11 Ч । । । |4/i f । । t । । 1 । । i . i । t i I i । i t । i i it । i • fl^ fl fl fl fl 11 it । 11 L|A| , , ^|’Л1 । 11 t f । 1 11 । । I f i । i i i t 1 i i i I i i t i i 1 ! 111 _ D.P. . . j3i)pi~iP/ j2/i i । . । । 1 i i i_i i i i i t i i t i i I lit Illi £ 1 1 1 1 1 1 c,p., , 1 1 I | I 11 11 I it B.N.E. . Ah l i । l 1 I I । 1 1 i 1 । t । i t i i । i i t i । i । i i । -J- I -I III* A, a . . 6i,i3|F/ |1|'i 1 i j 1 1 i f । । i i i i 1 i t t i । i i i i । 111 lift Alb 1 1 1 1 1 Ai । i г jK|F/ |7/< । । । f । < i । । j f I t । । i t i i i i 1 f । 1 1 f I I 1 t B.C.T,, . 1 1 f 1 I 1 1 1 1 ! < | i i 1 i । i < i । i I i i t । III Illi в а вале* S,T. . ^iTiVi t > f । t t । । t i i । i 1 1 1 1 1 1 1 W,, 1 1 f 1 a 1 f f f f 1 1 1 1 | J Y ч । । I j । « D.c, . . РД.7/,1^3Л.5,7 ', , . . , 1 1 1 1 k t_ । f f < i । fl f i I | i 1 1 i । iii till । । । 1 । । । 0.C, . . _ Р|Е,7/(8 .OfAiSiSjO/1 । । i । ( 1 1 1 1 1 _1 1. 1 1 1 1 1 1 1 .1 1 1 iti till 0.C, , . ’’.W.5.4,2,7,6,8 , i i i i i t i । । 1 । । । 1 P(U.7.'.l 8.9.2,4.1 , “t 1 1 I 1 1 1 1 1 1 1 1 1 ] t 1 1 I 1 D.S, p • 1 J 1 Г| 1 i 1 1 i l 1 ! 1 I I f 1 I i 1 1 г 1 1 II 1 1 1 1 1 1 1 1 1 _i . । । । 1 1 £ mo., fl' । I l i 1 1 I ll 1 । i 1 1 I 1 l 1 i Г1 l 1 1 i 1 1 | iiii . _i ' i i I . i t 1 1 I 1 i i 1 . i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 i i i t i I 1 к . а . . а iiii if'il । i i 1 i j i 1 I 1 j 1 L 1 1 1 1 1 I 1 I I t 1 -1 1 I I t i i i t । i t 1 1 1 1 1 1 1 • Il fill | I I 1 1 I 1 Г 1 I 1 I IIII 1 1 1 1 1 1 । 1 t 1 1 । 1 1 I 1 I । i । i t i i 1 1 1 1 1 1 1 iiii f I I f 1 1 1 I I f 1 1 1 I 1 1 I 1 t 1 1 | 1 I 1 1 I 1 1 I i i I Г 1 1 I t » » » 1 1 1 1 .till 1 I 1 1 1 1 1 1 1 1 ft i 1 I I 1 L1-1..1 Li 1 I I 1 1 If 1 1 1 1 1 1 I f l Рис, 1 Комментарии — это описательная информация о программе, которая выдается с распечаткой результатов трансляции. Для записи комментариев могут использо- ваться все знаки кода ДКОИ. Код ДКОИ — это двоичный код обмена информацией, по которому каждому знаку (букве, цифре и др.) ставится в соответствие определен- ное восьмибитовое значение. 35
ТАБЛИЦА СИМВОЛОВ КОДА ДКОИ Наименование в коде ДКОИ Шестнадцате- ричный код Пробивки в позициях перфокарты ч Графическое 4 изображение 2 . ' 3 1 [ 4 Пусто 00 12-0-9-8-1 — Начало заголовка 01 12-9-1 —- Начало текста 02 12-9-2 Конец текста 03 12-9-3 04 12-9-4 — 05 12-9-5 — 06 12-9-6 Забой 07 12-9-7 — 08 12-9-8 \ 09 12-9-8-1 — 0А 12-9-8-2 — Вертикальная табуляция ОВ 12-9-8-3 — Перевод формата ОС 12-9-8-4 — Возврат каретки 0D 12-9-8-5 — Русский регистр 0Е 12-9-8-6 — Латинский регистр 0F 12-9-8-7 —- Авторегистр 1 10 12-11-9-8-1 — 1 11 11-9-1 — Символы управления 2 12 11-9-2 — 3 13 11-9-3 . 14 11-9-4 15 11-9-5 — Возврат на шаг 16 11-9-6 — 17 11-9-7 — Аннулирование 18 11-9-8 — Конец носителя 19 11т9-8-1 — 1А П-9-8-2 — IB 11-9-8-3 — Разделитель файлов 1С 11-9-8-4 — Разделитель групп ID 11 -9-8-5 — Разделитель записей IE 11-9-8-6 — Разделитель элементов IF Н -9-8-7 — 20 11-0-9-8-1 — 21 O-9.I —— 22 0-9-2 23 0-9-3 — 24 0-9-4 — Перевод строки 25 0-9-5 — Конец блока 26 0-9-6 Авторегистр 2 27 0-9-7 — 28 0-9-8 —— 29 0-9-8-1 — 2A 0-9-8-2 — ' 2B 0-9-8-3 — 2C 0-9-8-4 — Кто там? 2D 0-9-8-5 — Подтверждение 2E 0-9-8-6 — Звонок 2F 0-9-8-7 30 12-11-0-9-8-1 — 31 9-1 — Синхронизация 32 9-2 — 33 9-3 36
Продолжение • , ' 1 ' 1 2 ; 1 3 ' 1 4 / - 34 9-4 35 9-5 — 36 9-6 Конец передачи 37 9-7 — 38 9-8 — 39 9-8-1 — ЗА 9-8-2 — ЗВ 9-8-3 — Стоп ЗС 9-8-4 — Отрицание 3D 9-8-5 — ЗЕ 9-8-6 — Замена 3F 9-8-7 1 1 Пробел 40 Нет пробивок Пробел 41 12-0-9-1 — 42 12-0-9-2 — 43 12-0-9-3 44 12-0-9-4 —.. 45 12-0-9-5 — 46 12-0-9-6 — '47 12-0-9^7 48 12-0-9-8 — 49 12-8-1 — Левая квадратная скобка 4А .12-8-2 г Точка 4В 12-8-3 Меньше 4С 12-8-4 < Левая круглая скобка 4D 12-8-5 ( Плюс ,4Е 12-8-6 1 + Восклицательный знак 4F 12-8-7 ! Коммерческое «и» 50 12 & 51 12-11-9-1 — 52 12-11-9-2 — 53 12-11-9-3 —- 54 12-11-9-4 — 55 12-11-9-5 — 56 12-11-9-6 57 12-11-9-7 • —- 58 12-11-9-8 — 59 11-8-1 — Правая квадратная скобка 5А 11-8-2 1. Знак денежной единицы 5В 11-8-3 . и Звездочка 5С 11-8-4 * Правая круглая скобка 5D 11-8-5 . ) Точка с запятой 5Е 11-8-6 Логическое «нет» 5F 11-8-7 —1 Минус 60 11х — Дробная черта 61 0-1 / 62 11-0-9-2 — 63 11-0-9-3 — 64 11-0-9-4 — 65 11-0-9-5 «—- 66 11-0-9-6 — 67 11-0-9-7 ' 68 11-0-9-8 — 69 0-8-1 —— Вертикальная черта 6А 12-11 1 Запятая 6В 0-8-3 37
Продолжение 1 1 2 1 3 1 4 Процент 6С 0-8-4 % Подчеркивание 6D 0-8-5 — Больше 6Е 0-8-6 > Вопросительный знак 6F 0-8-7 ?' 70 12-11-0 71 12-11-0-9-1 — 72 12-11-0-9-2 — 73 12-11-0-9-3 — 74 . 12-11-0-9-4 75 12-11-0-9-5 ю 76 12-11-0-9-6 — 77 12-11-0-9-7 — б 78 12-11-0-9-8 — 79 8-1 Двоеточие 7А 8-2 Номер 7В 8-3 Коммерческое «эт» 7С 8-4 о, Апостроф 7D 8-5 (апостроф) Равно 7Е 8-6 == • Кавычки 7F 8-7 » Ц 80 12-0-8-1 — а 81 12-0-1 — в 82 12-0-2 — с 83 12-0-3 — d 84 12-0-4 — е 85 12-0-5 — f 86 12-0-6 — g 87 12-0-7 — ; h 88 12-0-8 — i 89 12-0-9 — Д '8А 12-0-8-2 — 8В 12-0*8-3. .. . — Ф 8G 12-0-8-4 — Г 8D 12-0-8-5 — 8Е 12-0-8-6 и 8F 12-0-8-7 — й 90 12-11-8-1 — J 91 12-11-1 —> к 92 12-11-2 . — L 93 12-11-3 — м 94 12-11-4 — N 95 12-11-5 — о .96 12-11-6 Р 97 12-11-7 — Q 98 12-11-8 — R 99 12-11-9 — К 9А 12-11-8-2 — Л 9В ' 12-11-8-3 — м 9С 12-11-8-4 — н 9D 12-11-8-5 — о 9Е 12-11-8-6 п 9F 12-11.-8-7 , я АО 11-0-8-1 ' — Надчеркивание А1 11-0-1 — 8 А2 11-0-2 — 38
Продолжение • 1 2 j 3 1 4 t АЗ 11-0-3 u А4 11-0-4 V А5 11-0-5 — w А6 11-0-6 X А7 11-0-7 — у А8 11-0-8 z А9 11-0-9 АА 11-0-8-2 АВ 11-0-8-3 , — T АС , 11-0-8-4 . — AD 11-0-8-5 — Ж АЕ 11-0-8-6 — з AF 11-0-8-7 — ь ВО 12-11-0-8-1 — ы В1 12-11-0-1 — з В2 12-11-0-2 — ш вз 12-11-0-3 <— э В4 12-11-0-4 »— III В5 12-11-0-5 В» ' "А ч В6 12-11-0-6 *— ъ В7 12-11-0-7 ю В8 12-11-0-8 Ю В9 12-11-0-9 Б ВА 12-11-0-8-2 Б И ВВ 12-11-0-8-3 Ц д ВС 12-11-0-8-4 Д BD 12-11-0-8-5 ф BE 12-11-0-8-6 Ф г BF 12-11-0-8-7 Г Левая фигурная скобка СО 12-0 { А С1 12-1 А В С2 12-2 В с СЗ 12-3 С D С4 12-4 D Е С5 12-5 Е F С6 12-6 F G С7 12-7 G Н С8 12-8 Н I С9 12-9 I СА 12-0-9-8-2 — И СВ 12-0-9-8-3 и Й CG 12-0-9-8-4 . й я CD . 12-0-9-8-5 я Л СЕ 12-0-9-8-6 л CF 12-0-9-8-7 Правая фигурная скобка DO 11-0 39
Окончание ' г 2 1 3 1 4 - J D1 11-1 J к D2 11-2 К L D3 11-3 L М D4 11-4 M N D5 11-5 N 0 D6 11-6 0 Р D7 11-7 P Q D8 11-8 Q R D9 11-9 R DA 12-11-9-8-2 i— DB 12-11-9-8-3 ♦— П DC 12-11-9-8-4 П DD 12-11-9-8-5 я DE 12-11-9-8-6 - df 12-11-9-8-7 <— Обратная дробная черта Е0 0-8-2 \ 1 El 11-0-9-1 ¥= S Е2 0-2 S Т ЕЗ 0-3 T и Е4 0-4 . zu- V 1 Е5 0-5 V - W Е6 0-6 w X Е7 0-7 . X Y Е8 0-8 Y Z Е9 0-9 Z iEA 11-0-9-8-2 » « У iEB 11-0-9-8-3 У ж ЕС 11-0-9-8-4 ж ED 11-0-9-8-5 ь :ЕЕ 11-0-9-8-6 ь ы )EF 41-0-9-8-7 ы Нуль F0 0 0 Единица Fl 1 1 Двойка F2 . 2 2 Тройка • F3 3 3 Четверка F4 4 4 Пятерка >F5 5 5 Шестерка F6 6 6 Семерка F7 7 7 Восьмерка F8 8 8 Девятка F9 9 9 3 FA 12-11-0-9-8-2 > 3 ш FB 12-11-0-9-8-3 Ш э FG 12-11-0-9-8-4 Э Щ FD 12-11-0-9-8-5 Щ Ч •FE 12-11-0-9-8-6 Ч Забой , FF 12-11-0-9-8-7 । 40
ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ ОБ ОШИБКАХ ТРАНСЛЯТОРА АССЕМБЛЕРА § Сообщение ю о 8 - Пояснения 5g Английский текст Перевод ££ х 1 | 1 2 3 1 1 4 001 DUPLICATION FACTOR ERROR 002 RELOCATABLE DUPLICATION FACTOR 003 LENGTH ERROR Неверная кратность Кратность: а) равна нулю в литерале; б) является отрицательным выраже- нием Переместимая крат- Кратность задана переместимым вы- ность ' ражением Неверная длина Неверная длина: а) значение модификатора длины в операторе DC/DS или длина в ко- манде формата SS вне допустимого диапазона; б) длина в команде формата SS опре- делена переместимым выражением: в) в операнде операторов PUNCH, TITLE записано количество симво- 004 RELOCATABLE LENGTH 005 S-TYPE CON- STANT IN LITE- RAL 005 INVALID ORIGIN лов больше допустимого Переместимая дли- Модификатор длины оператора DC/DS на задан переместимым выражением Константа. S-типа В литерале указана константа* в литерале S-типа ‘ Неправильное Значение счетчика адреса, которое начало устанавливается оператором ORG, 007 LOCATION COUN- Счетчик адреса TER ERROR ошибочен 008 INVALID Неправильное сме- DISPLACEMENT щение 009 MISSING ОРЕ- Отсутствует опе- RAND ранд 010 INCORRECT OF Неправильное SPECIFICATION определение ре- REGISTER OR гистра или маски MASK меньше, чем начальный адрес про- граммной секции Значение счетчика адреса превышает 224—-1 Смещение в явном адресе не находит- ся в интервале 0—4095 В операторе не записан операнд Неверный регистр: а) регистр определен переместимым . выражением; ; б) значение регистра больше 15 или больше 6 (для команд с плаваю- щей запятой); в) задан нечетный регистр там, где требуется четный регистр; г) регистр задан отрицательным вы- ражением 011 SCALE MODIFIER Ошибка в модифи- Значение модификатора масштаба: ERROR каторе масштаба а) отрицательное; б) вне. диапазона 012 RELOCATABLE Переместимый мо- Модификатор масштаба определен пе- , SCALE MODIFIER дификатор мае- реместимым выражением штаба 41
Продолжение 11 2 Г 3 I 4 • 013 EXPONENT MODI- Ошибка в модифи- Значение модификатора порядка: * FIER ERROR катере порядка а) вне диапазона; 014 RELOCATABLE EXPONENT MO- DIFIER 015 INVALID LITE- RAL USAGE б) отрицательное Переместимый мо- Модификатор порядка задан перемес- дификатор поряд- тимым выражением ка Неверное использо- Правильно записанный литерал ис- вание литерала пользуется не по правилам, т. е. определяет поле записи или регистр 016 INVALID NAME . Неправильное имя Неправильно записано имя: а) содержит более, чем 8 знаков; б) начинается не с буквы; в) содержит специальный знак; г) имя TITLE содержит более 4 знаков 017 DATA ITEM ТОО Данное велико Константа велика для: LARGE а) типа данных; б) явной длины 018 INVALID SYMBOL Неправильное имя Имя в поле операндов записано не- правильно, т. е. содержит больше, чем 8 знаков, или начинается со , специального знака 019 EXTERNAL NAME Неверное внешнее Неверное внешнее имя: _ ERROR имя ч а) имя из. поля операндов команды EXTRN определено в этой же про- > грамме; б) идентичные операнды в одной или более команд EXTRN 020 INVALID IMME- Неправильный не- Непосредственный операнд находится DIATE FIELD посредственный вне диапазона или определен пере- операнд местимым выражением 021 SYMBOL NOT Имя предваритель- Имя предварительно не определено PREVIOUSLY DE- но не определе- FINED но 022 ESD TABLE OVER- Таблица ESD пе- Общее число программных секций, фик- FLOW реполнена тивных областей, внешних имен в операторах EXTRN ив адресных константах типа V превышает 255 023 PREVIOUSLY DE- Имя было опреде- Имя в поле названия уже встречалось FINED NAME лено ранее в поле названия предыдущего опе- 024 UNDEFINED SYM- Неопределенное , BOL • имя 025 RELOCATABILITY Переместимость ERROR ошибочна 026 ТОО MANY LE- Много уровней с VELS OF PARENT- бок HESES ратора Имя, которое используется в програм- ме, не определено в этой программе Простое или составное переместимое выражение используется там, где требуется абсолютное выражение В выражении используется более, чем 5 уровней скобок 027 ТОО MANY TERMS Много термов . В выражении используется более 16 термов 028 REGISTER NOT Регистр не исполь- Регистр из поля операндов оператора USED зуется 029 CGW ERROR CCW ошибочно 030 INVALID CNOP Неправильный CNOP DROP не определен оператором USING Биты 37—39 оператора CCW не рав- ны нулю . Неправильный диапазон операндов CNOP 42
Продолжение 1 |2[3 J '4 - 031 UNKNOWN TYPE Тип неизвестен Неверное обозначение типа в DC, DS или литерале 032 OP-CODE NOT AL- КОП не должен Сгенерированный оператор имеет код LOWED. ТО BE быть сгенериро- операции, недопустимый для обра- GENERATED ванным ' ботки на фазах компиляции, на- пример, AIF, AGO и т, д. 033 ALIGNMENT ER- Ошибка выравнива- Используемый адрес не выровнен к ROR ния нужной для этой команды грани- це 034 INVALID OP-CODE Неправильный код Неправильный код операции: ♦ операции а) содержит больше 8 знаков; б) за полем кода операции нет про* бела; в): является несуществующим кодом операции 035 ADDRESSABILITY Адресуемость оши- Используемый адрес находится вне ERROR бочна области действия базовых регистров, определенных командой USING - 036 NO OPERAND AL- Операнд недопус- Поле операндов должно быть пробе- LOWED тим лом 037 MNOTE STATE- Оператор MNOTE Сгенерирован оператор MNOTE. Текст MENT и код ошибки оператора MNOTE помещаются в распечатку исходно- го модуля 038 ENTPY ERROR Неверный ENTRY Число входных имен в программе больше 100 или имя в операнде ENTRY: а) появляется более, чем в одном операторе ENTRY; • б) определено в фиктивной области; в) определено в общёй обл'астй; г) равно имени, определенномуопе- ратором EXTRN ' 039 INVALID DELIMb Неправильный раз- Синтаксическая ошибка. Например, TER делитель отсутствие разделителя; йспользо вание специального знака, который « не является правильным раздели- ; • телем; разделитель,- используемый не по правилам 040 STATEMENT ТОО Оператор слишком Сгенерированный оператор имеет дли- LONG длинный ну больше, чем 187 знаков 041 UNDECLARED Необъявленный па- Параметр не объявлен в операторе VARIABLE SYM- раметр определения переменных параметров BOL « или в прототипе 042 SINGLE TERM Однотермовое логи- Однотермовое логическое выражение LOGICAL EXPRES- ческое выражение не является логическим перемейнЫм SION IS NOT А не является ло- параметром SETB SYMBOL гическим пере- менным парамет- ром 043 SET SYMBOL PRE- Переменный пара- Переменный параметр определен VIOUSLY DEFI- метр уже опре- NED делен 044 VARIABLE’ SYM- Размерность пер&> Переменный параметр объявлен: BOL SUBSCRIPT менного; пара- а) без указания размерности, но он EXCEEDS THE метра несовмес- индексируется; 43
Продолжение DECLARED DI- - тима с объявлен-б) как индексируемый, но использу- MENSION ной * ется^без указания размерности 045 ILLEGAL SIMBO- Неверный постоян- Используются характеристики пара- LIG PARAMETER ный параметр метра, который не является по- стоянным параметром 046 AT LEAST ONE В модуле имеется В модуле одна или более перемести- RELOCATABLE по крайней мере мых констант Y-типа Y-TYPE CON- 1 переместимая STANT IN ASSEM- константа Y-типа BLY 047 SEQUENCE SYM- Имя перехода уже Имя перехода уже определено BOL PREVIOUSLY определено DEFINED 048 SYMBOLIC PARA* Постоянный пара- METER PRE- метр уже опреде- , VIOUSLY DEFI- лен или сис- J NED OR SYSTEM темный параметр VARIABLE SYM- объявлен посто? BOL DECLARED янным парамет- Неправильное объявление параметра: а) постоянный параметр ’ уже опреде- лен; б) системный параметр объявлен по- стоянным параметром AS SIMBOLIG РА- ром . RAMETER 049 VARIABLE лSYM- Параметр совпада- Переменный параметр совпадает с по- BOL MATCHES А. ет с постоянным стоянным параметром PARAMETER параметром 050 INCONSISTENT Несовместимые гло- Объявления глобального переменного , GLOBAL DEGLA- бальные объявле- параметра, который объявляется бо- RATIONS ния лее чем в одном макроопределении или в макроопределении и в ис- ходной программе, являются несов- - местимыми по типу или размерности 051 MACRO . DEFINI- Макроопределение Поле операции прототипа идентично: TION PREVIOU- .уже определено а) машинной команде; SLY DEFINED. . б) команде АССЕМБЛЕРа; в) ранее встретившемуся прототипу 052 NAME FIELD Поле названия со- Тип переменного параметра в поле CONTAINS ILLE-: держит неверное названия не соответствует типу ко- GAL SET SYMBOL имя . манды SET 055 INVALID NAME IN Неправильное имя Неправильное имя в макрокоманде MACRO IN STRUG- в макрокоманде TION > 053 GLOBAL DICTI- Глобальный словарь Глобальный словарь заполнен! ONARY FULL : заполнен а) число глобальных переменных па- раметров превышает 400; б) объем памяти, отведенный для вы- . пол ненияАССЕМ Б ЛЕР а,не достато- чен для выполнения трансляции. Генерация прекращается^ 054 LCCAL DICTIO- Локальный словарь Объем памяти, отведённый для вы- NARY FULL заполнен полнения АССЕМБЛЕРа, недостато- чен для выполнения трансляции. Макроопределение не генерируется Арифметическое пе- Промежуточное или окончательное реполнение значение выражения вне диапазо- на — 231 + 231 ~ 1 или характерис- тика константы с плавающей запя- 056 ARITHMETIC OVERELOW той вне диапазона 0.— Г27 44
Продолжение 4 3 057 SUBSCRIPT ЕХСЕ- Индекс превышает Индекс постоянного параметра или ша- EDS MAXIMUM максимальную раметра & SYSLIST: DIMENSION размерность а) превышает 100; ; б) отрицательный; в) равен нулю; г) превышает указанную {размерность 058 ILLEGAL LTORG Неверный LTORG Оператор LTORG расположен ^внутри, общей (СОМ) или фиктивной (DSECX) области 059 UNDEFINED SEQ- Неопределенное Имя перехода не определено UENCE SYMBOL имя перехода 060 ILLEGAL ATTRL Неверное обозна- Характеристики L, S или Д дребуют- BUTE NOTATION чение характе- ся для параметра, тип которого ше ристики допускает этих\ характеристик 061 ACTR COUNTER Превышен счетчик Количество переходов (AIF, AGQ) пре- AXCEEDED ACTR вышает значение счетчика, установ- ленное командой ACTR £062 GENERATED Длина генерируе- Длина генерируемой знаковой строки. STRING GREATER мой строки боль- больше 127 знаков THAN 127 СНА- ше 127 знаков RACTERS ? *063 EXPRESSION 1 OF Первое, выражение ‘Первое выражение подстроки не пре- SUBSTRINGTSZE- подстроки— восходит нуля RO OR MINUS, нуль или отрица- тельное 064 EXPRESSION 2 OF Второе выражение Второе выражение подстроки не пре- SUBSTRING TS ZE- подстроки— восходит нуля RO OR MINUS нуль или отрица- 065 INVALID OR ILLE- GAL TERM TN ARITHMETIC EX- PRESSION DUBLICATE KEY- WORD OPERAND OR EXCESSIVE POSITIONAL OPE- RANDS тельное Неправильный или Ошибка в .арифметическом выраже- недопустимый нии: терм в арифме- а) постоянный параметр, ^являющийся тйческом выра- операндом арифметического '/выра- жении жения, не является самоопределен- ным термом; б) значение знакового переменного па- раметра, используемое в арифмети- ческом выражении^ ще /является^де- сятичным числом; в)/длина знакового/переменного пара- метра, являющегося операндом арифметического «выражения,правка: нулю Ошибка в операндах: а) ключевде слово .появляется в мак- рокоманде более одного фаза; б) ключевое слово не определено в прототипе; 066 UNDEFINED rJOR Неопределеннный или повторяю- щийся ключевой операнд или из- быточность пози- ционных операн-в) в макрокоманде смешанного типа дов указывается больше позиционных операндов, чем указано .в прототипе 067 EXPRESSION 1 OF Первое выражение Первое выражение подстроки больше;. птгг.™т1т/^ „пп« подстроки чем количество знаков в знаковом больше, чем дли- выражении на знакового вы- ражения SUBSTRING GREA- TER THAN LENGTH OF CHA- RACTER EXPRES- SION 45
Продолжение 068 GENERATION TI- Недостаточно мес- Превышено число уровней макроко- ME DICTIONARY та для словарей, манд (вложенность макроопрёделе- AREA OVERFLO- заполняемых во ний) WED время генерации 069 EXPRESSION 2 OF Второе выражение Второе выражение подстроки указы- SUBSTRING GREА- подстроки боль- вает больше 8 знаков TER ТНАМ8 ше 8 знаков CHARACTERS 071 ILLEGAL OCCU- Неверное появление Неверная последовательность операто- RENGE OF LCL; операторов LCL, ров в программе GBL, OR ACTR GBL или ACTR , STATEMENT 072 ILLEGAL RANGE Неверный диапазон Операнды оператора ISEQ указывают ON ISEQ STATE- в операторе ISEQ неверный диапазон. MENT 073 ILLEGAL NAME Неправильное поле Ошибка в поле названия: FIELD названия а) оператор не должен иметь такую 074 ILLEGAL STATE- MENT IN COPY- CODE OR SYSTEM MACRO запись в поле названия; б) отсутствует запись имени опера- тора Недопустимый one- Недопустимый оператор в COPY-тек- ратор в COPY- сте или системном макроопределе- тексте или сис- нии темном макрооп- 075 ILLEGAL STATE- MENT OUTSIDE OF A MACRO DEFINITION 076 SEQUENCE ER- ROR 077 ILLEGAL CONTI- NUATION CARD 078 MACRO MNEMO- NIC OP-CODE TA- BLE OVERFLOW ределении Недопустимый one- Оператор не должен употребляться ратор вне макро- вне макроопределения определения Неверный порядок Номер, указанный в поле нумерация карт оператора, не возрастает Неверная карта Неверное продолжение: продолжения а) много карт продолжения; б) между колонкой начала и колонкой продолжения на карте продолжения встречаются знаки, отличные от пробела Таблица макромне- Таблица макромнемонических кодов монических кодов операций переполнена операций пере- 079 ILLEGAL STATE- MENT IN MACRO DEFENITION 080 ILLEGAL START GARD 081 ILLEGAL FOR- MAT IN GBL OR LCL STATEMENTS 082 ILLEGAL DIMEN- SION SPECIFICA- TION IN GBL OR . LCL STATE- MENTS полнена Неверный оператор Оператор не допускается внутри ма- в макроопределе- кроопределения НИИ Неверная карта Операторы, влияющие, на счетчик ад- START реса или зависимые от счетчика адреса, встречаются до оператора START Неверный формат Операнд не является параметром в операторах GBL или LCL Неверное указание Размерность не является десятичным размерности в числом в пределах от 1 до 255 операторах GBL или LCL 46
Продолжение 083 SET STATEMENT Поле названия;one- В поле названия оператора SET запи- NAME FIELD NOT A VARIABLE SYM- BOL ратора SET не сан не параметр параметр z ’ 084 ILLEGAL OPE- RAND FIELD FOR- MAT Неверный формат Синтаксическая ошибка в поле оперйн- поля операндов дов оператора 085 INVALID SINTAX IN EXPRESSION Неправильный синт Синтаксическая ошибка в выражении: таксис в выраже- а).неправильный разделителе; нии б) два подряд стоящих знака опера- ции, терма или модификатор в ли- терале задан выражением 086 ILLEGAL USAGE OF SYSTEM VA- RIABLE SYMBOL Неверное использо- Системный параметр появился: ванне системного а) в поле названия оператора SET; параметра б) в операторе GBL или LCL; в) только & SYSLIST используется как терм; г) & SYSLIST используется в сме- шанном или ключевом макроопреде- лении 087 NO ENDING APOS- Непарные апостро- В операторе имеются непарные' апос- TROPHE фы трофы или нет закрывающего" апос- < трофа 088 INDEFINED ОРЕ- Неопределенный Мнемонический код операции не явля- RATION CODE код ется кодом машинной команды,, ко- манды АССЕМБЛЕРа или' макроко- манды 089 INVALID ATTRL Неверное использо- Синтаксическая ошибка' например,.в BUTE NOTATION ванне характе- макроопределении используется ха- ристики рактеристика непостоянного пара- .. ' метра и т. д. 090 INVALID SUBSC- Неверный индекс Синтаксическая ошибка, т. е. нет пра- RIPT вой круглой скобки после индекса; двойной индекс там, где требуется единичный индекс 091 INVALID SELF- Неправильный са- Ошибка в терме: DEFINING TERM моопределенный а) значение больше 224 — Р, 7 терм б) количество знаков' терма превосхо- дит допустимую величину; х в) терм содержит недопустимый знак 092 INVALID FOR- Неправильный фор- Ошибка в записи параметра: ' MAT FOR VA- мат параметра а) параметр имеет больше 8 знаков; RIABLE SYMBOL б) первый знак после & не буква 093 UNBALANCED РА- Несоответствие ско- Несоответствие скобок или отсутствие RENTHESES OR , бок или отсутс- левых скобок EXCESSIVE LEFT твие. левых ско- PARENTHESES бок ©94 INVALID OR IL- LEGAL NAME OR OPERATION IN PROTOTYPE STA- TEMENT 096 MACRO-INSTRUC- TION OR PROT0- Неправильное или Неправильное имя, неправильный код недопустимое имя операции в операторе прототипа или код операции в операторе про- тотипа Длина операнда Длина операнда макрокоманды . или макрокоманды прототипа превышает 127 знаков ’•жиг •47
* . Окончание 1 Г 2 - I 3 | 4 TYPE OPERAND EXCEEDS • 127 CHARACTERS IN LENGTH 097 INVALID FOR- MAT IN MACRO INSTRUCTION OPERAND OR PROTOTYPE PA- RAMETER или прототипа превышает Г27 знаков 098 EXCESSIVE NUM- BER OF OPE- RANDS OR PARA- METERS 099 POSITIONAL MAC- RO INSTRUCTION OPERAND, . PRO- TOTYPE PARA- , METER OR EXT- RA COMMA. FO- LOWS KEYWORD Неправильный фор- Ошибка в записи операнда: мат операнда ма- а) недопустимый; знак равенства4 ,(=); крокоманды, или б) одиночный & или появляется в параметра прото- стандартном значении ключевого сло- типа ва в прототипе; в) первый знак в параметре прототипа не &; г) неправильное использование правил записи, и формата: прототипа; д) неверная запись параметра прототи- па Превышено . число Прототип имеет более 100 параметров операндов или па- или макрокоманда имеет более 100 раметров операндов За ключевым ело- Нарушена последовательность позици- вом следует, по- онных и ключевых операндов* или зиционный one- параметров ранд^или позици- онный параметр прототипа, или записана-лишняя 100 STATEMENT Превышена слож- C0MPEEXITY ЕХ- ность оператора• CEEDED 101 EOD‘ ON; SYSIPT Конец файла на OR SYS1NT - SYSIN йли SY- SINT 102 INVALID OR IL- Недопустимый или LEGAL ICTL неверный ICTL 103 ILLEGAL NAME Неверное имя в по- IN OPERAND FI- ле операндов кар- z ELD OF COPY • ты COPY CARD 104 COPY CODE NOT COPY-текст не най- FOUND ден 105 END ON SOURCE Конец данных в STATEMENT LIB- библиотеке ис- RARY ходных операто- ров 107 INVALID OPE- Неправильный опе- RAND ранд 108 PREMATURE EOD Преждевременный конец данных 109 PRECISION LOST Потеряна точность Количество параметров простых имен, характеристики5 которых ис- пользуются г превышает допустимую величину или количество термов в операндной части превышает допуск 4 тимую величину Конец исходных данных встретился до оператора END Операнды оператора ICTL, вне диапа- зона или ICTL не первый оператор в исходной колоде Синтаксическая ошибка, например, имя содержит неверный знак или имеет длину больше. 8* знаков '/ Операнд оператора COPY указывает название COPY-текста, отсутству- ющего в библиотеке Конец данйых встретился в систем- ном макроопределении Неправильный операнд в операторе PRINT, END, SPACE и т. д. Указывает ошибку машины или внут- реннюю ошибку АССЕМБЛЕРа Потеряна точность 48
При записи комментарии должны отделяться от последнего операнда хотя бы одним пробелом и не должны выходить за колонку конца. Если комментарии необхо- димы в операторе, в котором в качестве операнда используется пробел, то тогда хотя бы через пробел после кода операции необходимо записать запятую, а после запятой хотя бы через один пробел можно записать комментарии. При записи оператора на бланке кодирования необходимо соблюдать следующие правила: а) поля в операторе всегда должны отделяться по крайней мере одним пробелом и должны быть расположены в с ледующем порядке: поле названия, поле операции, поле операндов, поле комментариев; б) каждый оператор должен иметь .запись в поле^операции. Запись в поле на- звания и поле комментариев не обязательна. Поле операндов требуется для всех ма- шинных команд и большинства команд АССЕМБЛЕРА и команд генерации; в) поле названия, поле операции и хотя бы один пробел, следующий за полем операции, должны находиться в первой строке оператора; г) поле названия, поле операции и поле операндов.не должны содержать пробелов; %) поле названия должно начинаться в колонке начала; е) если после колонки конца следует.пробел, то следующая строка обрабатывается как новый оператор. Еслищосле колонки конца записан .любой знак, отличный от- пробела, то следующая строка является продолжением данного оператора; ж) все поля оператора должны содержаться внутри границ, указанных колонка- ми начала, конца и продолжения. ' Идентификация строки бланка кодирования не является частью оператора и ис- пользуется для идентификации исходной программы и (или) нумерации операторов исходной прогр аммы. Под идентификацию 'отводятся колонки строки бланка ^кодиро- вания, не занятые оператором. Это могут быть колонки в начале бланка й вжонце его. Если границы оператора.не установлены с помощью оператора 4СТ, этими ^колонками являются колонки 73-480. Идентификацию можно не записывать. При ее записи мож- но использовать все знаки кода ДКОИ. . АССЕМБЛЕР предоставляет программисту возможность следить за порядком операторов в исходном модуле. С этой щелью программист может закодировать ;в поле идентификации -возрастающую последовательность номеров. Программист может потребовать с помощью команды АССЕМБ ЛЕРа ISEQ, чтобы транслятор АССЕМБЛЕР проверил эту последовательность. Для того чтобы исходный модуль.мог обрабатываться БИБЛИОТЕКАРЕМ, но- мер оператора должен быть четырехзначным и находиться в последних, четырех <ко- , лонках (колонки 77—80), отведенных для идентификации. Операторы комментариев дают, возможность программисту записывать ^поясне- ния к программе. Эти пояснения могут быть полезны во время отладки и эксплуатации программы. Операторы комментариев «не,оказывают ^влияния на транслируемую про- грамму, они могут использоваться в любом месте исходной программы. Длинный текст комментариев можно записывать, используя несколько операторов • комментариев.' Имеются два типа таких операторов. Один тиггиспользуется для;комментариев в исходной программе. Для обозначения этого оператора в.;колонке начала записы- вается знак *. Другой тип используется для комментариев в макроопределении. Для обозначение такого комментария в колонке начала записывается точка и за ней сле- дует знак *. • «
ФОРТРАН ОПЕРАТОРЫ ФОРТРАНА Операторы присваивания 1. Арифметический оператор присваивания: а—b а — целая, вещественная или комплексная переменная; b »— арифметическое выра- жение. 2. Логический оператор присваивания: а == b а — логическая переменная; b — логическое выражение.^ Операторы управления 3;чGO ТО и п — метка выполняемого оператора. Управление передается на оператор с меткой п. 4. GO ТО (иг, П2, . . ., Пт), i г i — целая переменная без индексов; и — метка выполняемых предложений. Если 1 т, то управление передается на предложение с меткой, в противном случае выполняется следующее по порядку предложение. 5. ASSIGN iTO n \ i — метка; n — переменная, которая используется только в предложениях ASSIGN и в GO ТО, описанном в следующем пункте. Значение i присваивается переменной п. 6. GO ТО п, (mi, та, ...» тк) т — метки; п — переменная, определенная в предложении ASSIGN. Значение п должно равняться mi, m2, ...» mK или mK. Управление передается на предложение с меткой п.\ 7’ IF (а) их, П2, пз а — арифметическое выражение; п — метки выполняемых предложений. Управле- ние передается на предложение с меткой щ, если а < 0; на предложение с меткой п2, если а 0; и на предложение с меткой пз, если а > 0. 8. IF (a) s а — логическое выражение; s — любое предложение, не являющееся.спецификацией, оператором DO или другим логическим IF. Если значение истинно, то выполняется предложение s; в противном случае предложение s не выполняется. 9. DO и i = mi, m2, шз DO.n i «= mi, m2 ri — метка предложения, которое не может быть GO ТО, арифметическим IF или дру- гим DO и которое расположено ниже DO в исходной программе. 1 — целая перемен- ная; m — целые константы без знака или положительные целые переменные без ин- дексов. Если тз опущено, то оно принимается равным единице. Выполнение предложений, предшествующих предложению с меткой п, а также самого предложения с меткой п циклически повторяется, начиная с i = m; после каждого повторения значение i увеличивается на тз. Последнее повторение проис- ходит для максимального значения i, не превышающего m2, после чего управление программой передается на предложение, следующее за предложением с меткой п. 10. CONTINUE Это -— пустое предложение, используемое для того, чтобы обойти ограничение, по которому последнее предложение в области действия цикла DO не может быть IF или GO ТО. 11. PAUSE и PAUSE 50
PAUSE «сообщение* 7 n —• целое число без знака, состоящее из пяти цифр; Если ни и, ни «сообщение» - не задано, то предполагается, что п = 00000. При выполнении предложения печатается пятизначное целое число или сообщение. Программа останавливается. Выполнение программы может быть продолжено только после вмешательства оператора машины. Он должен нажать на ключ запроса (Request Key) и набрать REPLYyy, *Z’, где уу— двузначный цифровой код, напечатанный перед выданным сообщением, a ’Z’ — любой символ. После набора сообщения оператор машины нажимает цифру 5 вместе с кла- вишей ALTN CONDING. 12. STOP и STOP п — пятизначное целое число без знака. Если п не указано, то предполагается, что п = 00000. STOP и печатается, и затем управление передается на программу УПРАВЛЕНИЕ ЗА- ДАНИЯМИ. 13. END Предложение END указывает на окончание исходной программы или подпрограммы. Предложения ввода-вывода 14. READ (а, Ь) список READ (a, b, END = с; ERR == d) список WRITE (а, b) список определяет номер набора данных (т. е.устройство); b — метка предложения FORMAT. 15. READ (а) список WRITE (а) список а— номер набора данных. Данные вводятся или выводятся в виде образов оператив- ной памяти. 16. READ (а, х) WRITE (а, х) а — номер набора данных; х — имя списка в предложении NAMELIST. 17. DEFINE FILE ai(mi, п, fi, yi), .. . С помощью одного предложения можно описать любое число файлов, а — номер на- бора данных; m — максимальное количество записей в наборе данных; г —- макси- мальная длина записи; v — имя, связанное переменной. После выполнения любого из READ, WRITE или FIND значение v равно номеру следующей записи в наборе данных. В случае f = L предполагается, что записи будут записываться в форматном или неформатном виде; в случае f — * Е речь идёт только б форматных записях, в слу- чае f == v — только о неформатных. 18. , FIND (а, v) а — номер набора данных; v — номер записи в наборе данных. 19. READ Ь, список PUNCH b, список PRINT. Ь, список Эти предложения эквивалентны предложениям READ (5, b) список, WRITE (7, b) список й WRITE (6, b) список. 20. END FILLE а REWIND а BACKSPACE а а — номер ленточного набора данных. Подпрограммы , 21. a (vi....vn) == b а — имя функции; Vj — аргументы, которые должны быть различающимися пере- менными без индексов; v — выражение, не содержащее переменных с индексами. 22. FUNCTION a (vi.....vn) тип FUNCTION a (vi......vn) В качестве типа может быть INTEGER, REAL, COMPLEX иЛи LOGICAL; если тип не специфицирован, то он определяется по первой букве имени функции a; vi — аргу- менты. Это предложение должно быть первым в подпрограмме функции. 23. SUBROUTINE a (vi, . . ., vn) 51
a — имя подпрограммы; Vj—аргументы, которые могут; быть константами, перемен- ными. или массивами. ; " ' ' 24? BLOCK DATA. Это. пр.едложение должно.быть первым предложением каждой подпрограммы; за> дающей.значения, в помеченном блоке COMMON. 25? DATA vi, ..., vn:/rr*di,гЬ* dm/, ... vv— переменные, которые могут содержать постоянные.индексы: или имена массивов* Если значения г. не указаны, они предполагаются равными. L Число значений^ уиа* занных между наклонными черточками, и число переменных передними должныбыть равны. Предложение DATA обеспечивает присваивание переменным начальных значений. 26. CALL а (vi, . vn-)............... а — имя подпрограммы,, к которой обращаются; Vi — аргументы (фактические пара- метры),. которые могут* быть константами, переменными ил и j массивами; не должны согласовываться по типу и порядку с аргументами в предложении SUBROUTINE. Управление передается подпрограмме, й значения аргументов сообщаются ей. 27. RETURN RETURN i i — целая константа или переменная/Значения i — номера меток в списке аргумен- тов предложения SUBROUTINE. Если i.опущено., то управление возвращается сле- дующему предложению вызывающей программы. Выполнение любой подпрограммы должно заканчиваться предложениями RETURN или RETURN i. 28\ ENTRY a (vi, . . ., vra) - Выполняет те же функции, что и SUBROUTINE. Предложения ENTRY дозволяют задавать дополнительные входы в подпрограмму. 29. EXTERNAL а, b, . . . а, Ь, . . .— это имена подпрограмм, которые используются^ в качестве аргументов других подпрограмм, на к которым нет явных обращений в программе; Предложения-спецификации 30. DIMENSION vi, v2, . . . Каждое v — это имя массива, содержащее от одного до.семи индексов, которыми^ мо- гут быть положительные целые константы. Их значения определяют. максимально ' воз- можные значения индексов у. данной переменной* 31. EQUIVALENCE (а, Ь,... .), (с, d, . . .),..... , а, Ь,. . . — это переменные, которые могут иметь либо своеобычный набор, индексов, либо только один индекс, указывающий на относительное положение элемента*и мас- сиве. Каждая группа круглых скобок выделяет группущеременных,которым стадится в соответствие один и тот же адрес оперативной памяти. 32. COMMON vi, . . ., vn /г/ ui, ... um/s/ ... Каждое v — это переменная, которая может содержать информацию о размерности, как и в случае оператора DIMENSION; г и s —имена блоков COMMON. Блоки COMMON без имени считаются непомеченными. 33. FORMAT (si, S2, . . ., sm) Каждое s специфицирует'тип преобразования й формат данных, содержащихся в- спи< ске ввода-вывода. 34. NAMELIST /х/ а, b...с /у/ d, . . . Каждое имя, заключенное между наклонными черточками, является именем списка имен. Все последующие переменные являются элементами этого списка. Любое?число списков может быть определено в одном предложении. 35. IMPLICIT тип *s (ai, . . ., an), тип *s (. . .) Тип может быть INTEGER, REAL, COMPLEX или LOGICAL; наличие s не обяза- тельно; значение s может равняться 2, 4, 8_ или: 16 байтам^если^з не указано, то пред- полагается INTEGERS, REAL*4, COMPLEX*8 n LOGICAL*4. Все ai — это буквы, разделенные запятыми, или пары разделенных знаком*минус:букв;,задающие'диапа- зон букв в»алфавите. Заданная спецификация: распространяется на все имена, начи- нающиеся с буквыили с букв, попадающих В; соответствующий диапазон, еслитоль- ко тип этих имен.не специализирован явно., 36. тип *s ai *$i (ki) /xi/, . .. 52
Тип может быть REAL, INTEGER, LOGICAL или COMPLEX. Запись вне обяза-, тельна (так же, как и в случае IMPLICIT). Каждое ai— имя переменно^; R ин- формация о размерности, как и в случае DIMENSION. Значение м относится ко всем переменным, для которых si не задано. Если значение s не задано, то оно предпола- гается таким, какое получается в случае IMPLICIT. Если задано/х/(+),.топе ремен- ной присваивается начальное значение х. DOUBLE PRECISION a, (ki), ... \37. Значения к несут в себе информацию о размерностях, как и в случае DIMENSION. Каждое а — это переменная, которая получит тип REAL*8. Перечень операторов входного языка ФОРТРАН IV а = b k ASSIGN i ТО m AT X BACKSPACE a BLOCK DATA CALL имя (ai, a2, аз, ...» an) COMMON /и/ an (kn), . . /гп/ ani (kni), ... COMPLEX* saisx (ki) Zxi/, a2*s2 (k2) /хг/.an*sn (kn) Zxn/ CONTINUE DATA ki /di/, k2/d2/..kn /dn/ DEBUG режим, . . ., режим DEFINE FILE aj (li, mi, n, h), аг (12, m2, r2, t2), ... DIMENSION ai (ki), a2 (k2), . . ., an (kn) DISPLAY список DO X i = mi, m2, Шз DOUBLE PRECISION ai (ki), . . ., an (kn) END END FILE a ENTRY .имя (ai, . . an) EQIVALENCE (an, ai2, . . .), (a2t, a22, ...),..• EXTERNAL air a2, . . ., an имя (ai, .аг, аз, . . ., an) = выражение FIND (a’rj j ' X FORMAT (Ci, C2, . Cn) тип FUNCTION имя *s (ai, a2, аз, . . ., an) ’ GO TO X GO TO m, (Xi, X2, Хз, . . ., Xn) GO TO (Xi, X2, X2, . . . , Xn), i IF (a) Xi, Хг, Хз IF (a) S IMPLICIT тиш*81 (an, ai2, THnn*sn(ani, an2,_ . . .) INTEGER *saf*sr (ki)7xi/, a2 *s2 (k2) Zx2/, . . an*sn (kn) /xn7 LOGICAL *sa i*si (ki)7xi/, a2 *s2 (k2) /x^,,...» an*sn (kn) 7xn/ NAMELIST7xi/спиеок1,\ . .,/хп7 списокп PAUSE PAUSE ’сообщение’ PRINT b, список PUNCH b, список READ (a, b, ERR « c, END = d) список READ (a’r, b, ERR = с) список READ b, список REAL* sai*si (ki) /xi/, a2*s2 (k2) /х2/, .... an*sn (kn) /хп/ RETURN i REWIND a STOP n SUBROUTINE имя (ai, a2, . . . , an) TRACE ON . ( 53
TRACE OFF WRITE (a, b):список ' ’ WRITE (a’r, b) список ОТЛИЧИЯ ЯЗЫКА ФОРТРАН IV ОТ СТАНДАРТА ЯЗЫКА ФОРТРАН Язык ФОРТРАН. IV включает в себя следующие элементы, отсутствующие в стандарте языка ФОРТРАН: Знаки & и ’ среди символов языка; Операторы ввода-вывода прямого доступа; формальные аргументы, заключенные в наклонные черты; оператор ENTRY; оператор PAUSE* сообщение*; параметры ERR и END в операторе READ; оператор NAMELIST; оператор READ b, список; оператор PUNCH b, список; ' оператор PRINT b, список; форматные коды Т и Z, расширение форматного кода G; литералы, заключенные в апострофы; размерность массива, превосходящая 3; оператор IMPLICIT; указание длины переменных и массивов в операторах явного описания типа и длины функции в операторе FUNCTION; 7 присвоение начальных значении данным в операторах явного описания типа; оператор RETURN i; имя массива в операторе DATA; . - , , текстовая константа как фактический аргумент при обращении к Подпрограмме FUNCTION; операторы отладки; шестнадцатеричные константы; выражения смешанного типа; многократное возведение в степень без круглых скобок, указывающих порядок вычислений; представление индексной величины в вйде любого арифметического выражения; переменные измерения массива, передаваемые через область COMMON;. встроенные функции: DINT, DMOD, DFLOAT, IIFIX, DCMPLX, DCONJG; математические программы библиотеки: CDEXP, CD LOG, CDSIN, COCOS» DTANH, CDSQRT, CDABS, ARSIN, DARSIN, ARCOS, DARCOS, SINH, DSINH» COSH, DCOSH, ERF, DERF, ERFC, DERFC, GAMMA, DGAMMA, ALGAMMA, dalgAmma, cotan, dcotan, TAN, DTAN, CABS, DCABS; служебные программы библиотеки. ОТЛИЧИЯ ЯЗЫКА ФОРТРАН IV ОТ ЯЗЫКА БАЗИСНЫЙ ФОРТРАН • Следующие элементы языка ФОРТРАН IV отсутствуют в языке БАЗИСНЫЙ ФОРТРАН: ~ оператор ASSIGN; логический оператор присваивания; назначенный оператор GO ТО; логический оператор IF; оператор PAUSE ’сообщение’; параметры END и ERR в операторе READ; оператор NAMELIST; использование форматов в массиве; оператор READ b, список; оператор PUNCH список; оператор PRINT b, список; - • форматные коды Z, G и L в операторе FORMAT; 54
оператор DATA; ,г массивы с переменными измерениями; - ; .. размерность массива, превосходящая 3; оператор IMPLICIT; ' указание длины переменных и массивов в операторах явного описания типа и в операторе FUNCTION; - йрисвоение начальных значений данным в операторах явного описания типа; именованная область COMMON; формальные аргументы, заключенные в наклонные черты; текстовая константа как фактический аргумент при обращении к подпрограммам SUBROUTINE и FUNCTION; оператор ENTRY; оператор RETURN i; оператор BLOCK DATA; операторы отладки; типы COMPLEX и LOGICAL в операторах явного описания типа и в операторе FUNCTION; комплексные, логические, текстовые и шестнадцатеричные константы; представление индексной величины в виде любого арифметического выражения; встроенные функции: REAL, AIMAG, DINT, DMOD, DCMPLX, CMPLX, DCONJG, CONJG, IIFIX, INT, AINT, IDINT; математические программы библиотеки: CEXP, CDEXP, CLOG, CDLOC, CSIN, CDSIN, CCOS, CDCOS, CSQRT, CDSQRT, DATAN2, ARCOS, TAN, COTAN, SINH, COSH, ERF, ERFC, GAMA, ALGAMA, DARSIN, DARCOS, DTAN, DCOTAN, DSINH, DCOSH, DERF, DERFC, DGAMMA, DLGAMA, CABS, CDABS, ARSIN, ATAN2; расширение форматов вывода в служебных программах DUMP и PDUMP. ЗАПИСЬ ФОРТРАН-ПРОГРАММ НА БЛАНКАХ Операторы и комментарии исходной программы ФОРТРАНа записываются на специальном бланке кодирования (рис. 2). Каждая строка бланка состоит из 80 по- зиций. Операторы записываются в позициях 7—72, причем таким образом, что в одной строке можно записать только один оператор. Если для записи оператора одной стро- ки недостат очно, его можно продолжить на следующих строках, называемых строками продолжения. Количество строк продолжения может быть не более 19. В первой строке оператора в 6-й позиции должен быть пробел или нуль. В 6-й позиции каждой строки продолжения должен присутствовать символ, отличный от нуля и пробела. Метка оператора записывается в позициях 1—5 первой строки оператора. Метка состоит из набора от 1 до 5 десятичных цифр. Незначащие нули в метке оператора транслятором игнорируются. Метки записываются, начиная с любой из указанных позиций, и могут назначаться оператором?в любом порядке: величина метки не влия- ет на последовательность выполнения операторов. Одна и та же метка не может быть использована более, чем для одного оператора программной единицы. Пробелы в мет- ке могут вставляться везде, где желательно. Позиции 73—80 для транслятора ФОРТРАН IV несущественны и могут исполь- зоваться для идентификации программы, номера следования и т. д._ Комментарии, поясняющие программу, записываются в отдельных строках в позициях 2—80. ВЛ-й позиции строки с комментариями должна быть буква С» Стро- ки с комментариями могут находиться в любом месте программы, они не влияют на ее выполнение. Для удобочитаемости в операторах и комментариях могут использоваться про- белы. Транслятором они игнорируются. Однако пробелы, содержащиеся в текстовых константах, трактуются как символы данных. 55
ЕС ЭВМ ФОРТРАН Программа Программист Петров Лата 20Л2.76 Лур.т 1 Липтта 1 1 МЕТКА 1 5 С 6 Оператор 7 to 15 20 25 80 65 П Идентификация 23 tO tit Л J1ЧЧ 1 । it ,, . 1 \iiiriifiiiii» til ill! 11 |1| ^QiRi^ATfUftii ,3j । । t , । t 11 । <\ iiiiiitit.il li _.r 1 1 .1 ( 1 I _i । । । K|1i=iO. t । t । . f । । | t | i . t j i 1 f 1 1 1 1 1 1 1 1 1 1 1 1 r 1 f l i t I । । 1 f K.2,40 . , , , . , 1 1 1 1 1 1 t 1 1 t t 1 I I 1 i f i i । t t iiii V.4 ' • ‘ I N “i 11 < i । । । t । । t i j t । i i I t I J tii till i । i4i K.V-.K 1ЛКЛК, 1 1 1 1 1 1 1 1. 1 1 1 1 » 1 1 i t l 1 №>,$,! ДЧ’-ч5^.Т|0,цЧ it.ii.i 1 1 1 i I « а . 1 а 6,0,u,T 0Д7, 1 1 If 1 1 1 1 1- 1 1 1 i 111 i f I 1 t i5i К12,-,К|21+.КЛК'| 1 1 1 t till Illi.Il li. 1 1 1 г t 1 1 .1.1 г A|SjSf lANjU.AiWjTiOiW.M I t । t t j । 1 a 1 1 t 1 1 1 111 it 1 1 r_J 1 1 » . » Ji ICi=iKi+.1f । । i.i । c . . t . . । । t 1 j 1 1 1 I j 1 f 1 1 | 1 Г i i « । 1 1 । 1 *1 1 [k,-,n,) 1uj6lJ16,/1e; I f 1 t l 1 11 1 I t C i t i 1 i 1 1 । । |6| 81О1^Т,01цМп|и|(14гя51)| it ti i i t 1 11 1 I 1 1 I 1 | 1 i i i i i i 1 1 . .8/ jlEiUiSp[ЗЛмКЛр, 1 1 I lf 1 1 14 1 |_J__ ii i i i » i , . Д F101R.M^T,M,(,1|X„,2,Ii6l) 1 * 1 I I 1 1 1 1 1 1 1 1 1 1 JI i i i i i i i СТЛП* ’ • •• * dll iUjH| . 1 1 | f < 1. | 1 I I J r . 1 1 il 1 1 1 1 1 1 f. 1 i i i 1 i ±2 1111 EiNtOf -1, । i । 14. i । । । । t । t । । 1 1 1 i i t । t i. 1 1 1 t 1 1 1 1 f 1 1 1 1 1 1 1 1 1 1 1 .'•Bfalllt • I lit lit. L_1 1 1 . I ' J fill la 1 1 1 1 f 1 1 1 I 1 1 1 1 11 1 1 t 11 f 1 1 tit i t i i 1 Г 1 1 , J 1" 1 1 1 1 1 1 I 1 t 1 I • 1 .1 1 1 1 1 1 f t 11111(111111 i f 1 i 1 i i 1! | 1 I 1 1 I I 111 11 1 II I 1 f 1 1 a 1 1 1 1 a 1 1 1 1 t—ffi.ti 1111 1 1 1 1 1 1 1 1 Г1 1 ? 1 1 1 11 Ll-|l t 1 1 1 1 1 1 1 1 1 1 1 - 1 a 1 1 1 1 1 1 1 1 1 1 a 1 1 1 1 f 1 1 ! 1 | 1 1 1 1 « ! i | 1 1 | 1 1 1 1 |. 1_1_.1..1_|_^ 1 I 1 I 1 1 1 1 I 1 1 1 1 > 1 1 Г 1 t 1 1 1 1 _Л_1—i—i—i—1—I 1 I .a „—J—Ь—1..J- I | 1 l 1 1 | 1 i f t । t 1 1 1 t i t 1 1 | t -1-1. 1 } 1 1 1 1 t > 1 1 t 1 t 1 . t < . > 1 1 . 1 1 1 1 1 I 1 1 1 1 1 1 1 1 1 - 1 1 1 Illi Рис. 2
Таблица сообщений транслятора БАЗИСНЫЙ ФОРТРАН' Сообщение Перевод текста сообщения Степень грубости > ошибки. Причина > 2 3 4 ALLOCATION Распределение - Распределение памяти, указанное оператором исходной программы, не может быть сделано из-за того, что имя переменной неверно или есть несоответствие между настоящим использованием имени переменной и некоторым предыдущим. Примеры ошибок этого типа в операторе: а) имя в ойераторе COMMON есть формальный параметр или указано в списке в предыдущем операторе; б) переменная цикла DO. не целая переменная в) имя В операторе явного описания уже было, определено в опера- торе явного описания ARRAY ERRORS Ошибки массива 2 Массивы, Имена которых указаны вслед за этим сообщением, тре- ; буют каждый более 32 768 байтов памяти СОММА Запятая 1 Пропущена запятая в операторе исходной программы Это сообщение может выдаваться для оператора DEFINE FILE, опе- ратора EQUIVALENCE, оператора COMMON DIMENSION, вычисляемого оператора GO ТО или любого оператора явного описания , COMMON ALLOCATION Ошибки распределения 2 Обнаружена ошибка при распределении памяти общей области. Это ERRORS COMMON сообщение сопровождается списком переменных, для которых' па- мять не может быть распределена - S3 (' Примеры ошибок этого типа: 4 а) есть противоречие между операторами COMMON и* EQUIVALEN- CE; Например, оператор EQUIVALENCE устанавливает (А; В (6), С (2)) и (В (8), С (1)), где А —переменная в операторе COMMON; б) ДёЛйётсЯ попытка расширить начало области COMMON. Напри- мер, COMMON А, В, Q и EQUIVALENCE (A, F (10)); в) делается попытка разместить переменную удвоенной точности в по- ле области COMMON, которое не установлено на границе двойного
, Продолжение 4 COMPILATION TERMI- Трансляция прекращена 2 NATED COMPILATION TERMI- Трансляция прекращена, 2 NATED PROGRAM OVE- переполнение програм- RFLOW мы COMMON OVERFLOW DUP. LABEL FUNCTION NAME NOT REFERENCED ID CONFLICT Переполнение COMMON 2 Дублирование метки 1 Нет ссылки на имя функ- 2 ции Конфликтное. имя I ILLEGAL LABEL Неверная метка 1 LABEL Метка 1 слова (область COMMON начинается на границе двойного слова). Эта ошибка может быть допущена в операторе COMMON или EQUIVALENCE Ошибки в исходной программе привели к прекращению трансляции. Объектный модуль не строится. Это сообщение печатается на SYSLST последним при любом режиме печати, выбранном програм- мистом Размер области памяти для объектной программы или области не COMMON (переменные, массивы, константы и рабочие поля) пре- вышает 65 532 байта. Когда печатается это сообщение, несколько карт объектной программы могут быть уже отперфорированы Размер области COMMON превышает 65 532 байта Метка оператора уже была определена ранее Исходная программа является подпрограммой FUNCTION, но в ней нет переменной с таким же именем, как имя подпрограммы Имя переменной или подпрограммы используется неправильно. Примеры ошибок этого типа: а) имя подпрограммы SUBROUTINE используется в других операто- рах подпрограммы SUBROUTINE; ....... б) имя формального аргумента повторяется в списке аргументов опе- ратора- фу н кции; в) имя, указанное в операторе EXTERNAL, уже использовалось как имя переменной или массива Неверное использование метки Примеры ошибок этого типа: а) недействительная метка оператора (состоит более чем из пяти цифр); б) оператор ссылается на оператор FORMAT; в) в операторе PAUSE или STOP задано более пяти цифр; г) оператор не использует метку оператора FORMAT там, где, это нужно У оператора, который следует за оператором IF, RETURN, GO ТО или STOP, отсутствует метка. Это единственная ошибка, при об- наружении которой трансляция не прекращается
Продолжение 11 I . . 2 з | . 4 ., NAME LENGTH Длина метки 1 NO CORE Нет памяти 1 NO END CARD Нет карты END 1 NO MORE CORE d Нет больше памяти 2 NON-COMMON EQU1VA- Ошибки EQUIVALENCE 2 LENCE ERRORS не в COMMON Имя в операторе не может использоваться в таком виде. Это сообще- ние указывает на одну из следующих, ошибок: . а) имя переменной или подпрограммы состоит более чем из шести символов; б) два имени переменных появляются в арифметическом выражении без разделяющего знака операции; в) за именем переменной следует число без знака операции Недостаточно основной' памяти для трансляции данного оператора или программы. Если эта ошибка обусловлена оператором, то для повторной трансляции необходимо записать этот оператор в виде двух или более операторов. Если эта ошибка произошла И3:3а исходной программы, то необходимо уменьшить количество пере- менных или количество oneраторов^ в исходной программе Отсутствует оператор END в исходном модуле Трансляция не может быть завершена из-за недостатка памяти. Если возникает это условие, то задание исключается из дальнейшей об- работки. Величина d указывает, в какой области таблиц трансля- . тора недостаточно - места d может, принимать следующие значения: Величина d Значение 1 Область таблиц, для которых память распределяется * динамически, переполнена 2 В исходной программе превышен один из лимитов на элементы исходной программы . , 3—4 Таблицы фиксированных размеров (одна или две) пере- ; полнены. Это условие возникает, если операторы ис- ходной программы слишком длинные Обнаружена ошибка при распределении, памяти для списков EQUI- VALENCE, которые не ссылаются на переменные в области COM- MON. Это сообщение сопровождается списком переменных, кото- рым из-за ошибки память не может быть назначена. Это сообще- ние указывает на следующую ошибку: есть несоответствие между списками EQUIVALENCE.
Продолжение • >. |2| 3 | , ' " 4 ORDER Порядок 1 Оператор используется в неправильной последовательности. Это сообщение указывает на одно из следующих условий: а) операторы FUNCTION или SUBROUTINE появляются в програм- ме не первыми; б) оператор описания появляется после первого исполнимого опера= тора программы Оператор, для которого выдается это сообщение об ошибке, не обра- батывается, и информация, содержащаяся в нем, не запоминается транслятором. Например, если ошибка этого типа встретилась в опе- раторе DIMENSION, то определения массивов в операторе игнори- руются . PROGRAM OVERFLOW Переполнение программы 2 Область памяти для переменных, массивов, констант (не в самом COMMON) превышает 65 532 байта SIZE Размер 1 Число, включая и метку оператора, находится за пределами области определения для величин данного типа. Это сообщение может ука- зывать на то, что опущена десятичная точка в действительной кон- станте SUBSCRIPT Индекс 1 Количество индексов, используемых в индексированнбй переменной или при определений массива, недопустимо SYNTAX Синтаксис . 1 Оператор или его часть не согласуются с синтаксисом языка БАЗИС- НЫЙ ФОРТРАН или же оператор, отсутствует в языке Примеры ошибок этого типа: а) за переменной в операторе DO не следует знак равенства; б) в конце оператора следует посторонняя информация; в) в операторе IF за арифметическим выражением следует меньше трех меток;' г) правая и левая скобки в арифметическом выражении не парные'
Окончание 4 UNCLOSED DO LOOP Незакрытые циклы DO 2 TARGETS UNDEFINED LABELS Неопределенные метки 2 UNDIMENSIONED Неописанный массив 1 Метки операторов, на которые ссылается операторы, не определены в исходной пррграмаде. gyp сообщение сопровождается списком, аде-, ток’ операторов^ которые исподьзуются в операторах DO, но не определены * В исходной программе содержатся' неопределенные метки qnepayg- 1 ров. Это; сообщение' сопровождается списком неопределенных ме- ток За именем переаденнрй, которая не явдяется элементом масодра, сдр,- дуег левая ркрбиа; роди иадя переменной расподожецо. слева в one- ' раторе прйсванвдния, то это сообщение может указывать на то, что определение операурратфункции находится не на своем местр (все определения орератор.днгфункций должны предшествовать пер- вому йспоЛнимраду оператору программы)
g Таблица сообщений транслятора ФОРТРАН 1У - * Сообщение Перевод текста сообщения Степень грубости ошибки Причина 1 1 1 2 1 ' 3 4 . ILFOOH ILLEGAL TYPE Недопустимый тип 8 Неправильное использование или определение типа переменной . Примеры: а) переменная в назначенном операторе GO ТО не является пере- менной целого типа; б) переменная слева от знака равенства в операторе присваивания является переменной логического типа, а выражение справа не соответствует ей, или наоборот; в) при обращении к программе библиотеки используется аргумент, тип которого не соответствует типу аргумента, требуемому для этой программы; г) переменная, указанная в операторе явного описания типа, уже была определена в операторе явного описания типа как пере- менная другого типа; > - д) в одном операторе IMPLICIT переменная определяется как пе- , ременная двух разных типов ILFO02I LABEL Метка О В операторе FORMAT или в операторе, который следует за опе- ратором GO ТО, STOP, RETURN или за арифметическим опе- ратором IF, отсутствует метка ILFO03I NAME LENGTH Длина имени 8 Символическое,имя, используемое в программе, состоит более, чем из шести символов. Это сообщение также может быть вызвано другими ошибками, например,. отсутствует запятая между пере- менными в списке или знак операции в выражении ILFO04I СОММА Запятая О В операторе пропущена запятая. Программист должен помнить, что пропущенная запятая не всегда может быть найдена. На- пример, имена двух переменных, не разделенные запятой, ин- терпретируются как одно имя Примеры: “ ’ ........ а) в операторе DIMENSION опущена запятая, после одной .из .за- крывающих скобок; б) в операторе IMPLICIT между буквами пропущена запятая или тире - ’
Продолжение 1 I 2 I 3 I * ILFO05I BEL ILLEGAL LA- Недопустимая метка 8 ILFO06I LABEL DUPLICATE Повторение метки 8 ILFO07I ID CONFLICT Противоречие в иденти- 8 - фикации ILF008I ALLOCATION Распределение 8 ILFO09I ORDER Порядок 0 или 8 о- GO Неправильное использование метки оператора Примеры: а) оператор управления ссылается на метку оператора FORMAT; б) в операторах READ или WRITE указана метка оператора, ко- торая не является меткой оператора FORMAT; в) метка состоит более чем из пяти цифр Указанная метка уже использовалась в программе как метка дру- гого оператора Недопустимое использование символического имени Примеры: а) повторное использование имени в списке формальных аргумен- тов; . , ' б) имя вызываемой подпрограммы, указанное в операторе CALL или EXTERNAL, используется в программе как имя перемен- ной; в) в операторе FUNCTION имя функции совпадает с именем фор- мального’аргумента • Невозможность распределения памяти из-за неправильного исполь- зования имени Примеры: а) переменной из именованной или неименованной области COMMON присваивается значение, в операторе DATA или в операторе яв- ного описания, который находится не в подпрограмме BLOCK DATA; б) имя .переменной или массива неоднократно появляется в опера- торах COMMON; в) имя формального аргумента появляется в операторе EQUIVA- LENCE или COMMON; г) массив, имя которого указано в операторе DIMENSION, уже был определен раньше Неправильный порядок следования операторов . или повторное < оп- ределение типа переменных. Это сообщение может выдаваться как^ с уровнем ошибки 0, так и С/уровнем ошибки 8
1 2 3 , Продолжение; 4 ILFOIOI SIZE . Размер 8 ILFO11I UNDIMENSIO- Массив не описан 8 NED ILFO12I SUBSCRIPT Индекс 8 ILFO13I SYNTAX Синтаксис 8 Примеры: а) оператор IMPLICIT не первый в основной программе, и не вто- рой в подпрограмме (уровень 8); ? б) операторы описания типа появляются после исполнимых опера- торов (уровень 0); в) ойератор ENTRY находится в области цикла DO (уровень 8); г) тип массива или переменной определяется дважды в одном операторе или в нескольких (уровёнь 8) Число, используемдё в исходном Операторе, находится за преде- лами области Определения для величин данного типа Примеры: а) целая константа превышает допустимое значение; б) в операторе IMPLICIT или в операторе явного описания типа используется недопустимая спецификация длины; в) константы в 1 операторе FORMAT превышают допустимые зна- чения В лёйой части оператора присваивания или в сййске ввода-вывоДа ЙёйолЬзуётся индексированная переменная, имя которой не было Определено в программе как имя массива. При этом надо прм- ййть, что в других случаях транслятор эту ошибку не распо- . ёйае£ Например, индексированная переменная в выражении рас- . пбзнается как дбрйшёйиё к функции КдЯкйество индексов, используемых при указании элемента мас- ейва, не, соответствует размерности массива, Или количество ий- ДёйСОЬ, используемых при определений массива, больше семи Оператор или часть оператора не соответствует синтаксису языка ФОРТРАН Примеры; , а) Мёткё оператора содержит не цифру; б) за выражением в арифметическом операторе IF следует мень- ше трех меток; ... ... ... в) правая и левая скобки в арифметическом выражении не парные; г) оператор содержит, неверный символ; д) константа, которая начинается с десятичной точки, содержит не цифру после десятичной точки; ’•л •
Продолжение, 3 Г. А. Дробушевич 4 ILFO14I CONVERT Преобразование ILFO15I NO END GARD Нет карты END . ILFO16I ILLEGAL STA. Недопустимый оператор ILFO17I ILLEGAL STA. Предупреждение о недо- WRN. пустимом операторе ILFO18I NUMBER ARG Количество аргументов ILFOI9I FUNCTION EN- Имя FUNCTION или EN- TRIES .UNDEFINED TRY не определено ILFO20I COMMON Ошибка в блоке COMMON BLOCK (ИМЯ) ERRORS «имя» е) в операторе EQUIVALENCE индексом является переменная 8 Тип константы, присваиваемой переменной в операторе DATA или в операторе явного описания типа, отличен от типа переменной. Константа не преобразовывается к типу переменной О В исходном, модуле отсутствует оператор END 8 Неправильное использование оператора в исходном модуле Примеры: а) дператор ENTRY появляется в исходном модуле, который не является подпрограммой; б) логический оператор IF содержит другой логический оператор IF или оператор DO О Неправильное использование оператора Примеры: а) в подпрограмме FUNCTION используется оператор RETURN i; б) в подпрограмме FUNCTION или SUBROUTINE отсутствует оператор RETURN 4 При обращении к программе библиотеки ФОРТРАНа указано не- верное количество аргументов О В подпрограмме FUNCTION имени функции и (или) имени точки входа,: .определяемой оператором, не присваивается значение. Вслед за сообщением печатается список неопределенных имен 4 Переменным или массивам из блока COMMON,, им я которого ука- зано в сообщении,, память не.может быть распределена. Имена • этих переменных и массивов печатаются вслед за сообщением Примеры: а) делается попытка поместить переменную длиной 8 байтов в по- * ле блока COMMON, которое не установлено на границу двой- ного слова; б) делается попытка расширения' блока COMMON влево операто- ром EQUIVALENCE: COMMON А EQUIVALENCE (А, В (2)) в) появляется противоречие в распределении памяти внутри блока COMMON, вызванное неправильным использованием оператора
s ' ______________Продолжение 4' ILF021I UNCLOSED DO Незакрытые циклы DO 8 LOOPS ILFO22I , UNDEFINED Неопределенные метки 8 LAE ELS ILFO23I EQUIVALENCE Ошибки, связанные c one- 4 ALLOCATION ERRORS ратором EQUIVALEN- CE ILFO24I EQUIVALENCE Ошибки при определении 4 DEFINITION ERRORS элементов EQUIVA- LENCE ILFO25I DUMMY DI- Ошибки в определении 4 ILFO26I BLOCK DATA Ошибки в программе 4 PROGRAM ERRORS BLOCK DATA EQUIVALENCE: COMMON A EQUIVALENCE (A, В (1), C(l)), (B (2), C(3)) г) в подпрограмме в операторе COMMON указан массив с перемен- ной размерностью: COMMON A(N) В исходном модуле есть незакрытые циклы DO. Вслед за сооб- щением печатаются метки неопределенных или неправильно раз- мещенных конечных операторов цикла Примеры: а) в программе отсутствует оператор с меткой, которая указана в операторе DO б) допущена неправильная вложенность, т. е. метка внешнего DO предшествует метке внутреннего DO Метки, непосредственно следующие за этим сообщением, не оп- ределены^ исходной программе Память для переменных не может быть распределена из-за про- тиворечия между. группами EQUIVALENCE. Вслед за сообще- нием печатается список этих переменных В списке EQUIVALENCE используется элемент массива, а массив с таким именем в программе не определен Неправильное определение массива с переменной размерностью. Сообщение выдается в следующих случаях: а) если в подпрограмме определен массив с переменными размер- ностями, например, А (М, N, К), а имя массива не определено как формальный аргумент; б) если в программе определен массив с переменными размернос- тями, например А(М, N, К), а переменные М, N, К не опре- делены ни как формальные аргументы, ни как переменные бло- ка COMMON Вслед за сообщением печатаются имена неправильно определен- ных массивов или размерностей В подпрограмме BLOCK DATA присваиваются начальные значения переменным, которые не принадлежат именованным блокам
Продолжение 4 3 ILFO27I ILLEGAL PRO-. Недопустимая " программа О GRAM ILFO28I NO CORE AVAL Нет дополнительной па- 16 LABLE COMPILATION мяти. Трансляция пре- • TERMINATED кращается ILFO29I INVALID FTC Неправильная карта FTC О CARD ILFO31I ROLL SIZE EX- Превышен размер табли- 16 CEEDED COMPILATION цы. Трансляция прекра- TERMINATED щается ILFO32I NULL PRO- Пустая программа GRAM ILFO38I SIZE WRN. Предупреждение о раз- 4 мере COMMON. Вслед за сообщением печатаются имена этих пере- менных Исходный модуль не содержит ни одного исполнимого оператора. Трансляция прекращается после просмотра исходных операторов Система не в состоянии обеспечить транслятор дополнительными 4К байтами памяти для размещения таблиц. Трансляция про- граммы прекращается. Отпечатанный уровень ошибки равен 0. Рекомендуется разбить программу на подпрограммы или, если возможно, отвести разделу больше памяти (используя дирек- тиву ALLOC) и повторно выполнить трансляцию В операторе FTC допущена ошибка Примеры: аруказан неправильный параметр; б) имя программы состоит более чем из восьми символов; в) между параметрами пропущена запятая В таблице, используемой транслятором, не хватает места для раз- мещения элементов исходной программы. Например, количество неиндексированных переменных, содержащихся в исходной про- грамме, больше, чем позволяет соответствующая таблица (64К байтов). Трансляция прекращается. Отпечатанный уровень ошиб- ки равен 0 Рекомендуется исходную программу разбить на подпрограммы и протранслировать еще раз Оператор /* (конец файла) предшествует операторам исходного модуля ФОРТРАНа. Операторы ФОРТРАНа воспринимаются как неправильные операторы программы УПРАВЛЕНИЕ ЗАДА- НИЯМИ В операторе DATA или в операторе явного описания типа значе- ние текстовой константы превышает размер соответствующей пе- ременной или элемента массива Примеры: ; а) действительной переменной длиной 4 присваивается текстовая константа, состоящая жв пяти символов; REAL A /'ABCDE7
1 2 , 3 ILF0391 COMMON INI- Ошибки при инициализа- 8 TIALIZATION ERRORS ции COMMON ILFO42I PROGRAM Программная ошибка 16 CHECK ILFO43I ILLEGAL LA- Предупреждение о недо- О BEL WRN. пустимой метке ILFO44I ALLOCATION Распределение не может 16 CANNOT CONTINUE быть продолжено. Тр^н? COMPILATION TER MI- сляция прекращается NATED
Окончание г_2'/'77.-77.Т J-./..4'' ' , 1 б) размер константы превышает размер элемента массива: DATA А (1) /'ABCDEF7 В операторе DATA или в операторе явного описания типа, кото- рый находится не в подпрограмме BLOCK DATA, присваивается начальное значение переменной, которая эквивалентна переменной из области COMMON. Список неверных переменных следует, за сообщением Во время‘ Трансляции произошло программное прерывание, не свя- занное с переполнением или исчезновением порядка. После пе- чати сообщения происходит вывод содержимого основной памяти фонового раздела й общих регистров и выполнение следующего шага задания. Содержимое старого PSW находится в основной памяти, начиная с адреса Х'28<. Рекомендуется проверить7, пра- вильно ли отредактирован транслятор и, если надо, отредакти- ровать его заново Оператор описания или оператор END имеет метку выполнения транслируемой программы недостаточно основной . памяти. Трансляция прекращается. Отпечатанный уровень ошибки равен 0. Рекомендуется разбить программу на подпрограммы и повторить трансляцию
КОБОЛ ЕДИНАЯ ФОРМА ОБОЗНАЧЕНИЯ КОБОЛА В КОБОЛе приняты следующие обозначения. 1. Все слова, напечатанные большими буквами,— зарезервированные слова. Они имеют определенное значение на языке КОБОЛа и не должны быть использованы для других целей. Во всех форматах эти слова должны быть дублированы. 2. Необходимо подчеркнуть все зарезервированные слова, если часть формата, содержащая их, непроизвольная (в форматах КОБОЛа они выделены жирным шриф- том). Это — ключевые слова. Если любое такое слово пропущено или неправильно написано, это рассматривается как ошибка. Зарезервированные слова (в форматах они написаны обычным шрифтом) могут быть включены или опущены по выбору про- граммиста. Эти слова используются для улучшения читаемости и называются про- извольными, 3. Знаки пунктуации и специальные символы (за исключением символов, ука- занных в следующих параграфах) обозначают места этих символов. Пунктуация не- обходима там, где она указывается. Может быть включена дополнительная пунктуа- ция согласно правилам, указанным в этой книге. 4. Строчные слова в форматах обозначают информацию, которая дается прогр \ мистом. Все строчные слова, которые появляются в формате, описываются в тексте. 5. Для того чтобы облегчить обращение к ним в тексте, некоторые строчные слова сопровождаются дефисом, цифрой или буквой. Эта модификация не изменяет синтаксическое определение слова. 6. Некоторые слова с дефисом в форматах состоят из прописной и строчной час- тей. Они обозначают указания или операторы, которые описаны в других форматах. 7. Квадратные скобки [ ] используются для указания, что элемент в скобках может быть использован или опущен в зависимости от требований данной программы. 8. Фигурные скобки { } указывают, что один из элементов в них обязателен. / 9. (. . .) указывает, что предыдущий элемент может появиться раз или любое число раз в последовательности. Элемент — это одиночное строчное слово или группа строчных слов и одно или более зарезервированных слов в квадратных или круглых скобках. Если элемент заключен в квадратные или круглые скобки, вся единица должна быть повторена. 10. Комментарии, ограничения и разъяснения по использованию и значению каж- дого формата содержатся в соответствующих частях текста. ЗАПИСЬ ПРОГРАММЫ НА БЛАНКАХ Транслятор КОБОЛа воспринимает исходные программы, написанные в стан- дартной форме, и выдает распечатку исходной программы в том же формате. Стандартный формат записи исходных программ обеспечивается стандартным форматом бланка кодирования (рис. 3). Каждая строка бланка перфорируется на от- дельной карте. Строка бланка имеет 5 областей: область номера следования (колонки 1—6); область продолжения (колонка 7); область А (колонки 8—11); ' , 69
ЕС ЭВМ КОБОЛ Программа Программист Иванов Дата 2о.12.76Аист _L_ Листов _2_ Лист. Строк* f 6 *с со В 12 15, 20 25 SO 33 40 45 65 70 72 Идшмшция 73 60 0,0,1,0,1,0 W тд.г.гслтдди, wy!u,i,o.N! ,/ i III 1 1 . 1 , t i t t । 0(0,1 ,0,2,0 P.R.O.G 1 1 Г 1 lit.! .1 t i । I i t । 0,0,1,0,3(0 E,N,V,I R.O.N.M^NJ, ,B I,VllfS|I|O1N,.| . ’ , ( , ‘ , , , . ] , , , , j , 1 1 1 1 1 1 1 < 1 0,0,1,0,4(0 WlU T(-|O|U|T,P|U,T, ,E,G,T,I|0,N,«, , । , । , , j , 1 , , j , , , । । , 1 1 i । । t । । । 0,0,1,0,5,0 FJjL.E ”iC,O,N |T|R,0,Lp । , , , । , , , , । । , t , । । , , , । j । , । । / • \ • t i । । i i । i i । i i. t i 0.0,1,0,6,0 i । i "l"'1, ‘"I iiitiii 0.0,1,0,7,0 S.e.l.e{c.t. ,m,L; As,s,i!a,N, 1 1" 1 1 1 | > 1 1 1 . I 1 f t t t 1 tB,I|V.1(5,1,0,N.., ,,(.(,,, . , , , , j ( i . t । i i । । 1 . | ill 1 r 1. | 1 1 1 1 1 1 f I 1 1 < < f I 1 1 1 0,0,1,0,9,0 F(I(L|E qep TIQU ,O|E.|Uy i l 1 i | 1 t t i [ I l . i ] 1 1 t 1 । 1 l I 1 | 1 1 1 1 1 1 ( 1 1 0,0,1,1,0,0 |F|Df PiK, |L|A,B|E(L( ^(Md.Tjp,., । । i । i । । । i । ( । । t f t । 1 1 Il 1 1 1 1 i 1 t 1 1 t I 1 1 0,0,1,1,1(0 _i*1i Z,A,P(1 (•ii,, ( । । i । t t , । , । ( । ( , f t t । t । i , 1 । । • 1 1 J I 1 . 1 0(0,1,1,2,0 ( iV s г < ’ P 1 Г Q Q . 1 ‘ 1 1 1 |O,r,l . ,r.l|U| .4,3,», | | t 1 1 I j . 1 i I . 1 1 t , . , 1 , 1 . 1 .. .-r- 1 . t I 1 1 I 1 1 1 I 1 * 1 1 1 1 1 ! 1 1 I 0,0,1,1,3,0 . .s.0,1. ,W ?,(*),. 1 I 1 1 |J| одидо. 1 M AM ., ДЦС AW W., , , ,, I у 1 ,L-* 14 L 1 ( 1 1 1 ( j I 1 1 । 1 1 1 1 I 1 | ( 1 1 1 0,0,1,1,5,0 i i0i2 |P|L(1 . (P|1|O1 ,9,(|4,),V,9,♦, 1, , , , , t , , ( , , , t , , , , , I 1 ’ Il I 1 1 1 1 1 i i । i (Ti 0,0,1,1,6,0 .1 ,0.2 p.L.2: tp.i.ct ,:,,, i_:.,, ।. i: .\ 0,0,1,1,7,0 i । i0 3. ,p,l >, дьс; дмлд., ’('.с’,' ,\ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .11(1111 0Д1 (1,8,0 __ I.A2 .P.L.4 [ .PiliCt |9((,4.)iY 9,», ,1 | ! 1 1 1 1 1 1 1 1 1 1 I f । i t t i 0,0,1,1(9,0 _. I0i2_ •S.EiMJa.I, (P.ljC, ,9,9^9,9,., , * , , , , j ,., ‘ . j . I 1 1 1 1 1 1 1 1 1 1 1 1 1 0,0,1,2,0,0 iF(D( M|L, |и|А,В,Е,Ц .। । । « i i । t i , > । i i i । i I 1 i 1 1 1 1 l 1 1 1 1 111 1' 0.0,1,2,1,0 . _(0i1. । i i i । i l l fffrl 1 1 1 t 1 I 1 0,0,1,2,2(0 . i .012 (S(F|2| |P|I,C, ,9,9,., , >,•(, । । , । , . ( 1. । । t । , । . i 1 1 ii 1 1 1 i 1 ’ t I 1 1 1 1 1 0,0,1.2,3,0 i0,2 iS,0i2. ,P|I(C, .9,1,4,),. j , , । ( . । , , , . । । । t . । । . i I 1 11 1 1 1 1 i i i 1 1 i I 1 1 1 1 i 1 1 0,0,1,2,4,0 1 1*i* |P|I|6|2, |P,I,C ,9,(|5,) .V,9,.( , । , , , . , , , , , , , , , 1 • 1 i 1 1 { 1 t 1 I 1 1 u 1 1 СЛ’,1 (2,5,0 ._i_££ . I J I.., Ll I...LI LxJ l.'.IJ. 1 1 1 1 1 t t 1 1 EC ЭВМ КОБОЛ Программа Программист Иванов Дата 20J276 Лист_2_ Листов Лист Cmu А 1 6 78 И В 12 15 - 20 25 SO 35 40 65 70 72 Нотификация 73 80 [ (। । лкО ИКЯ Г.Р.21 IP.I.C, .9.7.4.),( ( । । , . i t . । i , , t_. ;»i»»;» i i »। 111— 0.0,2(012(0 i (0.2 .P.3. JP.I.C, [ ( .,. । * 1 * I«««»।« 1 -Lip 1 1 1 0(0,2(0310 t .0.2 .p.4, -jp.i,c, ^gaj.v.s;. ।,(,;,(14 1 1 ..-( ।«11«11 .L1 i_i . 1 1 0,0(2(014(0 . .0(2 ^iE.M*Ai2i iP.lJC, (9(9iV;9.9,. . i '. . . . tj_ 1 | 1 1 i t |L 1 l.T f.l 1 l.( . 0(0,2(0,5,0 P.R.0,0 EJJ.U.R’E, JJJ.Vjl.S.LOiN;., 1 1 ( 11«* *»।« 1 1.1 . 0.0,2,0.6.0 OoPtE.Nj JWPrfT, ,Р,Ки[ .ОД.Т^и.Т, iMiLp 1 1 -j t 11.1111.* । t 1 t 1 1 . 0 02 ОЙ 8.M.. .R.E.AD, (P,K. A.T. ,E,O. ,6Д jT.Ot ДЬД .1 1 1 ? 1 1 • | i_l LL-| 1 1 . 1 . 1 тягол Iiii W,I,T E, (Z(A,P2. (FiRiOM .Z^Pd... . . i 1 1 ‘ 1 1 1 1 1 ( t 1 I Ll.[ 1 -I LI— 0,0,2,0,9,0 1 1,1 1 1 H f ’ l 1 1 6(0. (T.O, (BiLilf.. , , ( । t , , i । t . . i । -I-J 1 1 1'* 1 1 t । Г i I l-i I. i . i 0.0,2,1 ДО ВД-.2, iC,L,0 5jE( |P,K ,, , ; lilt, (,. 1 1 1 L 1 1 Г 1 i I | 1 1 IJ 1 L I 0(0,2,1.1,0 1 ! 1 S.TiOiP .R(U(N,. , , , , , , , f , , . 1 1 1 f • ; «t j i I i-j It 11- (fit 12(0 1 1 t ... 1 ,l,.| 1 1 I X-| ( • { I 1 t 1 1 1 1 1 1 1 i 1 1 ( 1 1 ( 1 I (( 1 1 1 1 I * 1 1 1 J ( ( t 1 1 1 I i 1 i ( । 11 ДО _> 1 1 | 1 .. I r | | ( 1 1 1 . 1 I 1 1 1 1 1 f 1 1 t 1 1 1 1 t 1 I t 1 1 1 1 I 1 (((.(ft ft- lit. . . ,1,4,0 .... 1 1 | 1 I J—1-^.1 -1—b.l [-X-I | I 1 t 1 t t 1 l-l 1 1 1 1 1 1 ( I ( 1 1 1 1 1 t ( г 1 1 1 1 ; и»t-j t 1 ll.l '. 1 ИДО 1 t 1 1 1 I" ’ 1 " 1 1 I 1 1 1 1 1 . 1 1 ( I 1 1 1 ( | 1 1 1 I 1 ( 1 1 I 1 г 1 1 1 11.(1111 II. t 1 i ( . .1Д0 1 1 1 tlt-l(lliitltll(l 1 1 1 1 ( 1 I I 1 1 1 1 (11111 < t 1 1 I . I 1 I t . .1.7,0 1 1 1 1 1 ‘ H 1 1—1 1 '1J . 1 1 11 * 1 1 < 1 ( I 1 . 1 i t 1 1 t_. 1 1 1 1 t I 1 t I i 1 1 1 1 1 J ll.l i-j h.. 1 1 < t t f 1 1 1 111* । . d ДО 1 I I 1 1 1 1 t ! I 1 I I I 1 1 1 r 1 1 I f 1 1 1 1 1 1 1 1 1 < 1 I f 1 f I i 1 111» (1.1.9(0 1 1 1 _1_ L 1 |_1 1 I X | 1. 1 ..Г, | -I. 1 ( 1 1 1 < 1 ( 1 1 1 t 1 . 1 t t i ( t 1 1 1 1 ( , 1 ' 1 1 1 1 1 1 . 1 1 f 1 1 I If 1 1 1 1 Illi 1 t .2.0.0 1 1 ' Г * ' 1 '"I ‘ ‘ 1 ' J I 111*1 | 1 t 1 I 1 I 1 1 1 t 1 1 I 1 1 1 ( 1 • 1 1 ( ( > 1 1 1 1 * 1 1 1 1 I 1 1 1 r f * 1 1 . 1 । । । 1 1 1 . 1 1.Д- ( 1 1 1 1-| 1 1—1 l..( | ( I t . i 1 1 ii । I . i 1 । 1 ( 1 I i i « ! i i 1 г 1 1 1 .( 1 1 1 1 I 1 lil «11 1 I 1 1 1 1 1 1 1 1 1 ' 1 1 1 1 1 1 *-' 1 •' 11 I til illliiliit.il 1 ( t r't 1 1 1 1 I ! | t I 1 1 1 f 1 1 1 1 1 ( t 1 1 1 l_ 1 1 1 1 1 1 1 1 1 t 1 1 1 1 1 1 I 1 1 1 1 4 I f 1 f 1 1 1 < f 1 ( 1 1 I t 1 1 ( ( 1 1 11 1 1 t 1 t 1 1 t 1 1 1 1 1 1 1 J 1 1 1 1 1 1 . ] 1 1 1 1 t 1 1 1 1 l f t ! t I 1 1 1 i i i I 1 i 1 1 1 1 1 1 1 f t 1 t 1 1 1 1 1 till 'I... . Ш- 1 1 Г ' 1 1 1 1 k- | 1 | 1 1 t 1 1 1 1 1 1 1 1 1 t 1 1 1 t 1 1 t ( 1 t t 1 1 1 1 1 1 1 1 U. 1. Ы. J L-L 'J" 1 ULi 1 1 -L Рис. 3 70
область В. (колонки 12—72); область идентификации программы (колонки 73—80). Для записи исходной программы используются области А и В. Область номера следования используется для цифровой идентификации каждой карты, которая долж- на быть • протранслирована транслятором КОБОЛа, и содержит шесть цифр номера следования. Использование номеров следования необязательно. Если номера следования указываются, они должны быть в возрастающем поряд- ке. Если при вводе исходной программы этот порядок нарушается, выдается преду- преждающее сообщение. Проверка последовательности номеров следования может не производиться, если в карте CBL задан специальный режим трансляции. Любое предложение или статья, которые требуют более одной строки, могут про- должаться на следующей строке или строках в области В. Эти последующие строки называются строками продолжения. Строка, которая требует продолжения, назы- вается продолжаемой строкой. Если предложение или статья занимают более двух строк, все строки, кроме первой и последней, являются и строками продолжения и продолжаемыми строками. Область продолжения строки используется при продолжении предложения или статьи только тогда, когда строка продолжения содержит часть слова или литерала, начатого в предыдущей строке (т. е. слово или литерал переносятся с одной строки на Другую). При переносе нечисловых литералов с одной строки на другую в 7-ю колонку строки продолжений помещается дефис, а продолжаемая часть литерала начинается с кавычки в любом месте области В. Все пробелы в конце продолжаемой строки и любые пробелы, следующие за кавычкой в строке продолжения и предшествующие кавычке, заключающей литерал, рассматриваются как часть литерала. Когда слово или числовой литерал переносится с одной строки на другую, в 7-ю колонку строки продолжения должен быть помещен дефис, чтобы указать, что первая отличная от пробела литера в области В строки продолжения должна следо- вать за последней отличной от пробела литерой продолжаемой строки без пропусков между ними. Кроме пробела и дефиса, в области продолжения строк транслятор допускает и звездочку. Любая строка в исходной программе, отмеченная звездочкой в колонке 7, рассматривается как строка комментариев. Она может состоять из любого сочетания литер набора ДКОИ в области А и В строки. Строки комментариев будут присут- ствовать в исходной распечатке, но никакой другой цели они не служат. В области А (колонки 8—11) должны начинаться заголовки разделов, заголовки секций, имена параграфов и некоторые номера уровней. Область В (колонки 12—72) используется для записи фраз и операторов КОБОЛа. Заголовок раздела должен быть первой строкой в разделе. Он начинается в области А с имени раздела, за которым следует пробел, слово DIVISION и точка. Если эта программа вызывается другой программой, за словами PROCE- DURE DIVISION могут следовать пробел и фраза USING. В той строке, где располо- жен заголовок раздела, не должно быть никакого другого текста. Имя секции начинается в области А любой строки, следующей за заголовком раз- дела. За именем секции следует пробел, слово SECTION и точка. Если требуется сегментировать программу, за словом SECTION через пробел может следовать номер приоритета. В строке, где расположен заголовок секции, не должно быть никакого другого текста. Имя параграфа начинается в области А любой строки, следующей за заголовком раздела или секции. За ним следует точка и пробел. Параграф состоит из одного или более последовательных предложений. Первое предложение параграфа начинается в любом месте области В той же строки, где и имя параграфа, или непосредственно в следующей строке. Все следующие предложения параграфа должны записываться также в области В. Указатель уровня начинается в области А, за ним в области В следует связанное с ним имя файла и соответствующая описательная информация. Номер уровня 01(77) начинается в области А, за ним в области В следует связанное с ним имя данного и соот- ветствующая описательная информация. Номера уровней от 02 до 49,66 или 88 мо- гут начинаться в любом месте области А или области В. За номером уровня в области В следуют связанные с ним имя данного и описательная информация. Пустая строка — это строка, которая в колонках 7—72 содержит только пробе- 71 л
лы. Пустая строка может появиться в любом месте исходной?программы, только^ не непосредственно перед строкой продолжения/ При написании исходной программы на КОБОЛе должны соблюдаться следующие правила пунктуации: а) если какая-нибудь литера пунктуации указана- в формате, она требуется -в программе; б) перед точкой, точкой с запятой или запятой не должно быть пробела, но про- бел должен следовать за ними; в) пробел не должен непосредственно предшествовать закрывающей круглой скобке; г) по крайней мере один пробел должен появиться между двумя последователь- ными словами и (или) выражениями, заключенными в скобки, и (или) литералами. Два или более последовательных пробела воспринимаются как один пробел, если только они не находятся в нечисловом литерале; д) знаки арифметических операций, знак равенства и знаки условия отношения должны выделяться с двух сторон пробелами. Знаку одноместной операции может предшествовать открывающая круглая скобка; е) запятая может использоваться в качестве разделителя между последователь- ными операндами оператора. Операнд оператора представлен в форматах как слово, напечатанное строчными буквами; ж) Запятая или точках запятой могут использоваться для разделения отдельных фраз. Например, DATA RECORD IS TRANSLACTION, RECORD CONTAINS SO CHARACTER; з) точка x запятойможет использоваться для разделения отдельных операторов. Например, ADD А ТО В; SUBTRACT В FRON S. Транслятор допускает также использование слова THEN для разделения опе- раторов. Например, ADD А ТО В THEN SUBTRACT В FROM С/ Сводка форматов Форматы раздела, идентификации. /IDENTIFICATION DIVISION. I jlD DIVISION. f РАЗДЕЛ ИДЕНТИФИКАЦИИ. PROGRAM-ID. ПРОГРАММА.' [AUTHOR. АВТОР. INSTALLATION. ПРЕДПРИЯТИЕ. DATE-WRITTEN. Д АТА-НАПИСАНИЯ. DATE-COMPILED. ДАТА-ТРАНСЛЯЦИИ. SECURITY. СЕКРЕТНОСТЬ. REMARKS. ЗАМЕЧАНИЯ. имя-программы. имя-программы; [комментирующая-статья]... ] [комментирующая-статья/.. [комментирующая-статья]... J [комментирующая-статья]... комментирующая-статья]... комментирующая.статья]...' комментирующая-статья).. У комментирующая-статья] ... комментирующая-статья]... комментирующая-статья ... комментирующая-статья]... - комментирующая-статья];... Форматы раздела оборудования: ENVIRONMENT DIVISION. РАЗДЕЛ ОБОРУДОВАНИЯ. CONFIGURATION SECTION. СЕКЦИЯ КОНФИГУРАЦИИ. SOURCE-COMPUTER. имя-машины.
ИСХОДНАЯ-МАШИНА. . OBJECT-COMPUTER. РАБОЧАЯ-МАШИНА., имя-машины. имя-машины. имя-машины. /WORDS целое CHARACTERS J MODULES {СЛОВ СИМВОЛОВ ] МОДУЛЕЙ номер-приоритета]. номергПриоритета]. [MEMORY SIZE [РАЗМЕР ПАМЯТИ [SEGMENT-LIMIT IS [ЛИМИТ-СЕГМЕНТА ЕСТЬ SPECIAL-NAMES, [функциональное-имя-l IS мнемоническое-имя].. Дфункцио* нальное-имя-2 [IS у слоеное-имя-1 усшовн©ечимя-2 ' [ON STATUS IS мнемоническое-имя] { (off status is условное-имя- 2] 1 условное-имя-1 ]J [OFF STATUS IS [ON STATUS IS СПЕЦИАЛЬНЫЕ-ИМЕНА» [функциональное-имя-1 ЕСТЬмнемоническое-имя].. • л (ВКЛЮЧЕН ЕСТЬ ' ^сиов- [функциональное-имя-2 [ЕСТЬ мнемоническое ^Имя]< - , ' (ВЫКЛЮЧЕН ЕСТЬ усшов- ное-имя-Г [ВЫКЛЮЧЕН ЕСТЬ условное-имя-2]Г ное-имя-2 [ВКЛЮЧЕН ЕСТЬ условное-имя-1]} [CURRENCY SIGN IS литерал] /ВАЛЮТНЫЙ ЗНАК ЕСТЬ литёрад] DECIMAL-POINT IS СОММА.] ДЕСЯТИЧНАЯ-ТОЧКА ЕСТЬ ЗАПЯТАЯ.] INPUT-OUTPUT SECTTON. СЕКЦИЯ ВВОДА-ВЫВОДА. FILE-CONTROL. УПРАВЛЕНИЕ-ФАЙЛАМИ. {SELECT [OPTIONAL.] имя-файла ASSIGN ТО [целое] системное- имя-TfcHc- темное-имя-2]... ДЛЯ {НЕОБЯЗАТЕЛЬНОГО] имя-файша ПРЕДНАЗНАЧИТЬ Дцелое] /системное имя-1 [системное-имя-2]..» (REEL) [FOR MULTIPLE { И (UNITJ „ (КАТУШЕК) [СО СМЕНОЙ ( ] (пакетов J целое) I ALTERNATE NO J [целое ; ] РЕЗЕРВИРОВАТЬ I 1 (НИ-ОДНОЙ] {ELLE-LIMIT IS 1 [.имя-данногог! Г имя-данного-2) ELLE-LIMITS ARE) (литерал-1 J (литерал-2 J (имя-данного-3) TUDIJ (имя-данного-4) > THRU \ Я' ••• литерал-3 J (литерал-4 J AREA | areasj RESERVE рзон [ЗОНЬГ ДОПОЛНИТЕЛЬНЫХ 73
{ГРАНИЦА-ФАЙЛА1 ЕСть (имя-да иного-11 (имя-данного-2’ ГРАНИЦЫ-ФАЙЛА] (литерал-! ] (литерал-2 ' , !имя-данного-31 (имя-данного-41 литерал-3 ] [литерал-4 ] [SEQUENTIAL] ACCESS MODE IS I } (RANDOM J (ПОСЛЕДОВАТЕЛЬНЫЙ) МЕТОД ДОСТУПА } (ПРЯМОЙ J PROCESSING MODE IS SEQUENTIAL МЕТОД ОБРАБОТКИ ПОСЛЕДОВАТЕЛЬНЫЙ ACTUAL KF YUS имя-данного ФАКТИЧЕСКИЙ КЛЮЧ ЕСТЬ имя-данного NOMINAL KFY IS имя-данного НОМИНАЛЬНЫЙ КЛЮЧ ЕСТЬ имя-данного RECORD KFY IS имя-данного КЛЮЧ ЗАПИСИ ЕСТЬ имя-данного TRACK-AREA IS целое CHARACTERS.)... ОБЛАСТЬ-ДОРОЖКИ ЕСТЬ целое СИМВОЛОВ.}... I-O-CONTROL. УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ. RERUN ON системное-имя [EVERY целое RECORDS OF имя-файла.] ПЕРЕПРОГОН НА системное-имя [ПОСЛЕ целое ЗАПИСЕЙ имя-файла.] имя-файла-1 {имя-файла-2}... same сортировки RECORD , AREA FOR SORT ОБЩАЯ ЗОНа[|™_. MULTIPLE FILE TAPE CONTAINS имя-файла-l [POSITION целое-1] [имя-фай- ла-2 [POSITION целое-2]]... НА ОДНОЙ КАТУШКЕ имя-файла-1 [ПОЗИЦИЯ целое-1] [имя-файла-2 [ПО- . ЗИЦИЯ целое-2]) ... APPLY WRITE-ONLY ON имя-файла-1 [имя-файла-2]... ПРИМЕНИТЬ ОСОБОЕ ПИСАТЬ К имя-файла-1 [имя-файла-2]... APPLY EXTENDED-SEARCH ON имя-файла-1 [имя-файла-2]..; ПРИМЕНИТЬ РАСШИРЕННЫЙ-ПОИСК К имя-файла-1 [имя-файла-2]... APPLY WRITE-VER1FY ON Ж«4айла-1 [имя-файла-2]... ПРИМЕНИТЬ ПИСАТЬ-С-КОНТРОЛЕМ К имя-файла-1 [имя-файла-2]... APPLY CYL-OVERFLOW OF целое TRACKS ON имя-файла-1 [имя-файла-2]... ПРИМЕНИТЬ ПЕРЕПОЛНЕНИЕ-ЦИЛ ИЗ целое ДОРОЖЕК К имя-файла-1 [имя-файла-2]... А т [MASTER-INDEX] ч ж ч , г APPLY { > ТО шифр-устройства ON имя-файла-1 [имя-фаи- (CYL-INDEX J ла-2]... _ [ГЛАВНЫЙ-ИНДЕКС] ПРИМЕНИТЬ < } на шифр-устроиства К имя-фаи- [ИНДЕКС-ЦИЛ J . ла-1 [имя-файла-2]... APPLY CORE-INDEX ТО имя-данного ON имя-файла-1 [имя-файла-2]... ПРИМЕНИТЬ ПАМЯТЬ-ИНДЕКСУ В имя-данного К имя-файла-1 [имя-фай- ла-2] ... ДЛЯ имя-файла-1 {имя-файла-2}... 74
Форматы раздела данных DATA DIVISION. РАЗДЕЛ ДАННЫХ. FILE SECTION. СЕКЦИЯ ФАЙЛОВ FD имя-файла ОМ имя-файла {CHARACTERS' RECORDS СИМВОЛОВ) В БЛОКЕ [целое-1 ДО] целое-2< > (ЗАПИСЕЙ I RECORD CONTAINS [ целое-1 ТО целое-2 CHARACTERS , В ЗАПИСИ [целое-1 ДО] целое-2 СИМВОЛОВ RECORDING MODE IS метод МЕТОД ЗАПИСИ ЕСТЬ метод . [RECORD IS LABELS (RECORDS ARE, OMITTED STANDARD имя-данного-1 [имя-данного-2]... МЕТКИ ОПУЩЕНЫ СТАНДАРТНЫ имя-данногр-1 [имя-данного-2]... (имя-данного-2) литерал-1 J {имя-данного-4), И... литерал-2 J ЗНАЧЕНИЕ имя-данного-1 ЕСТь|ИМЯ данного [литерал-1 J, {имя-данного-4], }]••• литерал-2 J {RECORD IS 1 } имя-данного-1 [имя-данного-2]... RECORDS AREJ {ЗАПИСЬ ] ЖДАННЫХ ЕСТЬ имя-данного-1 [имя-данного-2]... ЗАПИСИ J (имя-данного-1) [имя-данного-1 } номер-уровня < FILLER J [ЗАПОЛНИТЕЛЬ. REDEFINES имя-данного-2 ПЕРЕОПРЕДЕЛЯЕТ имя-данного-2 BLANK WHEN ZERO ПРОБЕЛ КОГДА НУЛЬ [JUSTIFIED) пт^тгп { } RIGHT (JUST j УСТАНОВЛЕНО ВПРАВО [PICTURE) { > IS строка-литер [PIC J ШАБЛОН строка-литер 75
(SYNCHRONIZED [SYNC СИНХРОНИЗИРОВАНО | [LEFT ’ I [right] [ВЛЕВО ВПРАВО [USAGE IS] (INDEX DISPLAY (COMPUTATIONAL 1 ЦСОМР / '/COMPUTATIONAL-П 1С0МР-1 / /COMPUTATIONAL^/ [COMP-2 / f COMPUTATIONAL^! Ocomp-3 / для ИНДЕКСА ВЫВОДА ВЫЧИСЛЕНИЙ ВЫЧИСЛЕНИЙ-1 ВЫЧИСЛЕНИЙ-2 ВЫЧИСЛЕНИЙ-3 Осомр-з j j VALUE IS литерал ЗНАЧЕНИЕ литерал (VALUE IS 1 88 условное-имя { }литерал-l [THRU литерал-2] (VALUES ARE] [литерал-3 [THRU литерал-4]].. . . ' (ЗНАЧЕНИЕ) [88 условное-имя < } литерал-1 [ПО лйтерал-2] (ЗНАЧЕНИЯ) литерал-3 [ПО литерал-4]]... . . ' 66имя-данного-1 RENAMES имя-данного-2 [THRU имя-данного-3]. 66 имя-данного-1 ПЕРЕИМЕНОВЫВАЕТ имя-данного-2 [ПО имя-данного-3]. WORKING-STORAGE SECTION; СЕКЦИЯ РАБОЧЕЙ-ПАМЯТИ- LINKAGE SECTION. СЕКЦИЯ СВЯЗИ Форматы раздела процедур PROCEDURE DIVISION [USING идентификатор-1 [идентлфикатор-2]...] РАЗДЕЛ ПРОЦЕДУР (ИСПОЛЬЗУЯ идентификатор-1 [идентификатор-2]...] (SYSIPT 1 ACCEPT идентификатор (FROM CONSOLE ] мнемоническое-имя] SYSIPT ПРИНЯТЬ идентификатор [С. - CONSOLE ] мнемоническое-имя идентификатор-1] идентификатор-2 _ литерал-2 . .ТО идентификатор-ш [ON SIZE ERROR повелитель- идентификатор-21 ' ... С идентификатор-ш [литерал-2 J [ОКРУГЛЯЯ] [идентификатор-n [ОКРУГЛЯЯ]]... [ПРИ ПЕРЕПОЛНЕНИИ повел ительный-оператор ] {идентификатор-11 (идентификатор-21 идеи тифика тор-31 литерал-1 j (литерал-2 J [ литерал -3 J GIVING идентификатор-m [ROUNDED] [ON SIZE ERROR повелительный-опера- тор] ADD; (литерал-1 [ROUNDED] [идентификатор-п [ROUNDED]], ный-оператор] сложить]^*3701”1 (литерал-1 76
{идентификатор-11 (идентификатор-2) Г идентификатор-31 II Г Т I • •. литерал-1 ] (литерал-2 J [ литерал-3, J ПОЛУЧАЯ идентификатор-m [ОКРУГЛЯЯ] [ПРИ ПЕРЕПОЛНЕНИИ повели- тельный-оператор] [CORRESPONDING] ADD< > идентификатор-1 ТО идентификатор-2 [CORR J [ROUNDED] [ON SIZE ERROR повелительный-оператор] СЛОЖИТЬ СООТВЕТСТВЕННО идентификатор-! С идентификатор-2 [ОКРУГ- ЛЯЯ] [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] ALTER имя-процедуры-4 ТО [PROCEED ТО] имя-процедуры-2 [имя-процедуры-3 ТО [PROCEED ТО] Имя-процедуры-4].. ИЗМЕНИТЬ - имя-процедуры-1 ДЛЯ [ПЕРЕХОДА КГ имя-процедуры-2 [имя- процедуры-3 ДЛЯ [ПЕРЕХОДА К] имя-продедуры-4]... Условие класса [NUMERIC ] идентификатор IS [NOT![ У 4 Н 1 ALPHABETIC] Л. /„-.(ЦИФРОВОЕ 1 идентификатор [НЕ]{ У (буквенное) Условие отношения идентификатор-Г литерал-1 арифметическое- выражение । идентификатор-1 литерал-1 арифметическое- выражение IS [NOT] [НЕ} GREATER THAN LESS THAN < EQUAL TO БОЛЬШЕ* МЕНЬШЕ РАВНО идентификатор-2 литерал-2 арифметическое- выражение идентификатор-2 литерал-2 арифметическое- выражение Условие знака POSITIVE 4S[NOT] NEGATIVE ZERO 7 ПОЛОЖИТЕЛЬНОЕ {HE] ОТРИЦАТЕЛЬНОЕ > НУЛЬ' идентификатор . арифметическое- _ выражение . . \ идентификатор • арифметическое- выражение CALL литерал-1 [USING идентификатор-1 [идентификатор-2]^..] ВЫЗВАТЬ литерал-1 [ИСПОЛЬЗУЯ идентификатор-! [идентйфикатор-2] [reel] UNIT _ [WITH] tw™(N0 REW,n (lock J (no rewind! (lock J • ” * • А, [reel] [имя-файла-2 |_UNIT 77
ЗАКРЫТЬ ГКАТ^ШКУ1 [ПАКЕТ Г КАТУШКУ 1 LПАКЕТ БЕЗ ПЕРЕМОТКИ £ ЗАПРЕТОМ „ (БЕЗ ПЕРЕМОТКИ),, имя-фа ила-2 [< Я]... (С ЗАПРЕТОМ J имя-файла-1 арифметическое-выражение COMPUTE идентификатор-1 [ROUNDED] = « идентификатор-2 литерал-1 ВЫЧИСЛИТЬ идентификатор-1 [ОКРУГЛЯЯ] [ON SIZE ERROR повелительный-оператор] арифметическое-выра жение идеи тифика тор -2 литерал-1 [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] DECLARATIVES имя-секции SECTION, предложение USE. имя-параграфа, {предложение}...}.».}... END DECLARATIVES. ДЕКЛАР АТИВЫ. (СЕКЦИЯ имя-секции. предложение ИСПОЛЬЗОВАТЬ. {имя-параграфа, {предложение}...}...}... КОНЕЦ ДЕКЛАРАТИВ. идентификатор-21 литерал-2 J DISPLAY (идентификатор-!] (литерал-1 J CONSOLE SYSPCH SYSPUNCH SYSLST мнемоническое-имя [UPON ВЫДАТЬ [ идентификатор-1 . литера л-1 [НА CONSOLE SYSPCH SYSPUNCH SYSLST идентификатор-2 литерал-2 мнемоническое-имя DIVIDE (идентификатор-IE^ иде„тификатор.2 [ROUNDED] [ON SI- (литерал-1 J ZE ERROR повелительный-оператор] РАЗДЕЛИТЬ идентификатор-2 ИА(вден1ИФикатоР-1| [ОКРУГЛЯЯ] [ПРИ (литерал-1 J ПЕР ЕПОЛ НЕНИИ повелительный -оператор ] {идентификатор-1]________________ (идентификатор-21 л т н } INTO { } GIVING идентификатор-3 литерал-1 J (литерал-2 J [ROUNDED] [REMAINDER идентификатор-4] [ON SIZE ERROR повелительный-опе- ратор] {идентификатор-2] (идентификатор-11 * F } НА { } ПОЛУЧАЯ идентифи- литерал-2 J (литерал-1 J катор-3 [ОКРУГЛЯЯ] [ОСТАТОК идентификатор-4] [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] 78
DIVIDE< идентиФикатоР"П ву (идентификатор -21 (литерал-! J (литерал-2 ] GEVING идентификатор-3 [ROUNDED] [REMAINDER идентификатор-4] [ON SI- ZE ERROR повелительный-оператор] РАЗДЕЛИТЬ (идентификатор-11 д (идентификатор-21 (литерал-1 J (литерал-2 J ПОЛУЧАЯ идентификатор-3 [ОКРУГЛЯЯ] [ОСТАТОК идентификатор-4] [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] ENTER имя-языка [имя-программы]. ВОЙТИ В имя-языка [имя-программы]. ENTRY литерал-1 [USING идентификатор-1 [идентификатор-2]...] ВХОД лите- рал-1 [ИСПОЛЬЗУЯ идентификатор-1 [идентификатор-2] ...] (UNTIL FIRST EXAMINE идентификатор TALLYING « ALL LEADING литерал-1 [REPLACING BY литерал-2] ДО ПЕРВОГО' ПРОСМОТРЕТЬ идентификатор СЧИТАЯ ВСЕ > литерал-1 [ЗАМЕ- ВЕДУЩИЕ НЯЯ НА литерал-2] fALL LEADING FIRST UNTILFIRST (BCE ПРОСМОТРЕТЬ идентификатор ЗАМЕНЯЯ ПЕРВЫЙ ДО ПЕРВОГО имя-пара графа. EXIT [PROGRAM], имя-параграфа. ВЫЙТИ [ИЗ-ПРОГРАММЫ]. GO BACK. ВЕРНУТЬСЯ* GO ТО имя-процедуры-1 ПЕРЕЙТИ К имя-процедуры-1 GO ТО имя-процедуры-1 [имя-процедуры-2]... DEPENDING ON идентификатор ПЕРЕЙТИ К имя-процедуры-1 [имя-процедуры-2]... В ЗАВИСИМОСТИ ОТ ' идентификатор GO ТО ПЕРЕЙТИ К. ^тт^хЛопеРатор-1 1 (OTHERWISE IF условие THEN] r Н (NEXT SENTENCE] (ELSE {оператор-1 1 > ИНАЧЕ СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ] EXAMINE идентификатор REPLACING^ литерал-1 пу литерал-2 D литерал-1 литерал-2 оператор-2 NEXT SENTENCE. оператор-2 1 СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ] {идентификатор-11 л t > ТО идентификатор-2 [идентификатор-3]... литерал- . j {идентификатор-11 > В идентификатор-2 [идентификатор-3]... литерал J (corresponding! а MOVE < > идентификатор-1 ТО идентификатор-2 (CORR J 79
ПОМЕСТИТЬ СООТВЕТСТВЕННО идентификатор-1 В идентификатор-2 МиЬТ1РЬ¥!ИДеНТИфИКаТ0Р'1!вУ идентификатор-2 [ROUNDED! [ON SIZE (литерал-1 , j ERROR повелительный-оператор] УМНОЖИТь|ИДеНТИфИКаТ°Р1|нА идентификатор-2 [ОКРУГЛЯЯ! [ПРИ ПЕ- (литерал-1 J РЕПОЛНЕНИИ повелительный-оператор] {идентификатор-11 (идентификатора) литерал-1 J (литерал-2 J GIVING идентификатор-3 [ROUNDED] [ON SIZE ERROR повелительный-опера- тор] (идентификатор-11 (идентификатор-21 УМНОЖИТЬ < }НА < > (литерал-1 J (литерал-2 J ПОЛУЧАЯ идентификатор-3 [ОКРУГЛЯЯ] [ПРИ ПЕРЕПОЛНЕНИИ повели- тельный-оператор] - 4 NOTE строка-литер ПРИМЕЧАНИЕ строка-литер , Г REVERSED 1. , OPEN [INPUT {имя-файла-1 }...] [ WITH no REWIND J [OUTPUT {имя-файла-2 [WITH NO REWIND]}...] 1-0 {имя-файла-З}...] _ , • [ОБРАТНО ], , ОТКРЫТЬ [ВВОДНОЙ {имя-файла-1 }...] [без ПЕРЕМОТКИ. [ВЫВОДНОЙ {имя-файла-2 [БЕЗ ПЕРЕМОТКИ]}...] [ВВОДНОЙ-ВЫВОДНОЙ {имя-файла-З}...] PERFORM имя-процедуры-1 [THRU имя-процедуры-2] ВЫПОЛНИТЬ имя-процедуры-1 [ПО имя-процедуры-2] PERFORM имя-процедуры-1 [THRU имя-процедуры-2] (идентификатор-11 mes (целое-1 J г идентифика тоо-11 ВЫПОЛНИТЬ имя-процедуры-1 [ПО имя-процедуры-2] < >РАЗ (целое-1 J PERFORM имя-процедуры-1 [THRU имя-процедуры-2] UNTIL условие-1 ВЫПОЛНИТЬ имя-процедуры-1 [ПО имя-процедуры-2] ДО условие-1 PERFORM имя-процедуры-1 [THRU имя-процедуры-2] . . (имя-индекса-2 s VARYING ИМЯ-ИНДеКСа4 FROM литерал-2 й • (идентификатор-!} Идентификатор-2 BY |литеРал 3 juNTlL условие-1 (идентифика тор-3 J f V (имя-индекса-5 ’ г. имя-индекса-4 I - [AFTER{ 1FR0M литерал-5 [идентификатор-^ [ИдентифЙкатор-5 BY (литерал 6 juNTlL условие-2 {идентификатор-б! «О
?имя -индекса-8 FROM < литерал-8 > идентификатор-8 МЕНЯЯ ОТ I идентификатор- 1J {имя-индекса-7 идентификатор-7; BY Р1ИтераЛ'9 I UNTIL услЪвие-3]] ’ (идентификатор-9) ВЫПОЛНИТЬ имя-процедуры-1 [ПО имя-процедуры-2 имя-индекса-2 литерал-2 идентификатор-2 литерал-3 | . уДО условие-1 ^идентификатор-3) {имя-индекса-4 I _ ОТ идентификатор-4) литерал-6 | > ДО условие-2 ьидентификатор-б) имя-индекса-5 литерал-5 идентификатор-5 (МЕНЯЯ Г ОТ (идентификатор-7) имя-индекса-8 литерал-8 идентификатор-8 {литерал-9 ] >ДО условие-3]] идентификатор-9) (AT END } READ имя-файла RECORD [INTO идентификатор] < > повелитель- (INVALID KEY) ный-оператор (В КОНЦЕ ) ЧИТАТЬ ЗАПИСЬ имя-файла [В идентификатор] < Jno- f > (ПРИ ОШИБКЕ КЛЮЧА) велительный-оператор REWRITE ймя-записи [FROM идентификатор] INVALID KEY повелительный оператор ОБНОВИТЬ имя-записи [ИЗ идентификатор] ПРИ ОШИБКЕ КЛЮЧА повели- тельный-оператор SEEK имя-файла RECORD ПОДВЕСТИ ЗАПИСЬ имя-файла START имя-файла INVALID KEY повелительный-оператор ПРОДВИНУТЬ имя-файла ПРИ ОШИБКЕ КЛЮЧА повелительный-оператор stop(run I (литерал) (РАБОТУ ] ОСТАНОВИТЬ ] 1 (литерал J {идентификатор-1} (идентификатор-2} литерал-1 J (литерал-2 ) FROM идентификатор-m [ROUNDED]; [идентификатор-n [ROUNDED]] [ON SIZE ERROR повелительный-оператор] (идентификатор-1} Г идентификатор-21 11 I * * • литера л-1 J |_ литерал-2 J 81
ИЗ идентификатор-m [ОКРУГЛЯЯ] [идентификатор-п [ОКРУГЛЯЯ]]-.. [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] (идентификатор-!) Г идентификатор-2] । ] I * * * литерал-1 J (_литеРал*2 J {идентификатор-ml 1GIVING идентификатор-п литерал-ш J / [ROUNDED] [ON SIZE ERROR повелительный-оператор] (идентификатор-!) идентификатор-2 литера л-1 J |_литеРал'2 (идентификатор-m) ИЗ > ПОЛУЧАЯ идентификатор-п (литерал-ш ) [ОКРУГЛЯЯ] [ПРИ ПЕРЕПОЛНЕНИИ повелительный-оператор] (CORRESPONDING) SUBTRACT^ > идентификатор-! FROM идентификатор-2 (CORR j [ROUNDED] [ON SIZE ERROR повелительный-оператор] ВЫЧЕСТЬ СООТВЕТ- СТВЕННО идентификатор-! ИЗ идентификатор-2 [ОКРУГЛЯЯ] [ПРИ ПЕРЕПОЛ- НЕНИИ повелительный-оператор] фигура льная-константа-1 TRANSFORM цдентификатор-3 CHARACTERS FROM нечисловой-литерал-1 < ' идентификатор-! то фигуральная-константа-2 нечисловой-литерал-2 идентификатор-2 ПРЕОБРАЗОВАТЬ СИМВОЛЫ идентификатор-3 И3< ’фигуральна я-конст а нта-1 нечисловой-литерал-1 идентификатор-! фигуральная-константа-2 В нечисловой-литерал-2 идентификатор-2 (BEFORE) USE { STANDARD (AFTER J BEGINNING ENDING REEL FILE UNIT LABEL PROCEDURE ON {им я-файла} OUTP ит INPUT 1-0 ИСПОЛЬЗОВАТЬ Д0 ! СТАНДАРТНОЙ процедуры (ПОСЛЕ) "КАТУШКИ " ФАЙЛА ПАКЕТА Г НАЧАЛЬНОЙ] ' л МЕТКИ [КОНЕЧНОЙ J USE AFTER STANDART ERROR PROCEDURE ’{имя-файла}... „(выводных ДЛЯ) вводных вводных-выв одных 82
ON для {имя-файла-1 }... ймя-файла-2 GIVING имя-данного-1 [имя-данного-2] INPUT OUTPUT 1-0 ИСПОЛЬЗОВАТЬ ПОСЛЕ СТАНДАРТНОЙ ПРОЦЕДУРЫ ОШИБКИ {имя-файла-1 }... имя-файла-2 ПОЛУЧАЯ имя-данного-1 [имя-данного-2 ] ВВОДНЫХ ВЫВОДНЫХ 1ВВОДНЫХ-ВЫВОДНЫХ (BEFORE ) WRITE имя-записи [FROM идентификатор-1] [ < >ADVANCING [AFTER J идентификатор-2 LINES целое LINES мнемоническое-имя , _ [END-OF-PAGE] ЦАТ < [повелительный-оператор] (eop J ПИСАТЬ имя-записи [ИЗ идентификатор-1] идентификатор-2 СТРОК целое СТРОК мнемоническое-имя ] [В КОНЦЕ-СТРА- (СПЕРВА|пр0ДВИГАЯ (ЗАТЕМ J НИЦЫ повелительный-оператор] WRITE имя-записи [FROM идентификатор-1] AFTER POSITIONING («™*™P-2)L1NES (целое J (END-OF-PAGE) - , [АТ{ > повелительныи-оператор] (ЕОР J ПИСАТЬ имя-записи [ИЗ идентификатор-1] ПОСЛЕ УСТАНОВКИ |идентификатор-2| строк [В.КОНЦЕ-СТРАНИЦЫ (целое J повелительный-оператор] WRITE имя-записи [FROM идентификатор-1] INVALID KEY повелительный- оператор ПИСАТЬ имя-записи [ИЗ идентификатор-!] ПРИ ОШИБКЕ КЛЮЧА повели- тельный -оператор 1. Сортировка Основные форматы раздела оборудования FILE-CONTROL. УПРАВЛЕНИЕ ФАЙЛАМИ. SELECT имя-файла ASSIGN ТО [целое-1] системное-имя-1 [системное-имя-2]... {REEL 1 И UNIT J [reserveI целое’2 Ultfrnate area ] (no J [areas] ДЛЯ имя-файла ПРЕДНАЗНАЧИТЬ [целое-1] системное-имя-1 [системное- имя-2] ... ИЛИ системное-имя-3 [СО СМЕНОЙ | КАТУШЕК 1i (ПАКЕТОВ J 83
' ( ЗОНЫ зон J [РЕЗЕРВИРОВАТЬ{®еЛОе‘2 (ДОПОЛНИТЕЛЬНЫХ [НИ-ОДН0Й1 u „„„ j SELECT имя-сортируемого-файла ASSIGN TO [целое] сист емное41мя-1 [сйстем- ное-имя-2] ... ДЛЯ имя-сортируемого-файла ПРЕДНАЗНАЧИТЬ [целое] системное-имя-1 [сис- темное-имя-2]... . f 1-O-CONTROL. УПРАВЛЕНИЕ ВВОДОМ-ВЫВОДОМ. RERUN ON системное-имя ПЕРЕПРОГОН НА системное-имя SAME< RECORD IaREA FOR . имя-файла<1 {имя файла-2 L., [SORT J . {ЗАПИСИ -1 } ДЛЯ имя-файла-1 {имя-файла-2 )... СОРТИРОВКИ J Основные форматы раздела данных! FILE SECTION СЕКЦИЯ МАССИВОВ. _ SD имя-сортируемого-файла ОС имя-сортируемого-файла [RECORDING MODE IS метод] [МЕТОД ЗАПИСИ ЕСТЬ метод] [DATA {recORDS1 ARe} имя-данного-1 . [имя-данного-2] ...J гРАПИСЬ) дднщдх ЕСТЬ имя-данного-1 [имя-данного-2]...] (ЗАПИСИ] [RECORD.CONTAINS [целое-1 ТО] целое-2 CHARACTERS] [В ЗАПИСИ [целое-1 ДО] целоет2 СИМВОЛОВ] (RECORD IS ] (STANDARD], [LABEL W }]. (RECORDS AREJ (omitted J [СТАНДАРТНЫ], [МЕТКИ] }] (опущены J Форматы раздела процедур RELEASE имя-сортируемой-записи [FROM идентификатор] ВКЛЮЧИТЬ имя-сортируемой-записи [ИЗ идентификатор] RETURN имя-сортируемого-файла RECORD [INTO идентификатор] AT END повелительный оператор ВЕРНУТЬ ЗАПИСЬ имя-сортируемого-файла [В идентификатор] В КОНЦЕ повелительный-оператор . (DESCENDING) ' , . SORT имя-файла-1 ON{ .} KEY {имя-данвого-1 j . ... [ascending I л [DESCENDING] . о 1 □ [ ON < ? KEY {имятданпого-2 }...]... (ASCENDING J {INPUT PROCEDURE IS имя-секции-l [THRU имя-дакции-2] 1 USING имя-файла-2 J (OUTPUT PROCEDURE iS имя-секции-3 [THRU имя-секции-4] | (GIVING имя-файла-З 84
„ (УБЫВАНИЮ" 1 ГЛТТ1Л1; д СОРТИРОВАТЬ имя-файла-1 ПО . } КЛЮЧА (возрастанию) {имя-данного-1}... (УБЫВАНИЮ 1 глтттлчт, аИ О1 [ПО { Л КЛЮЯ АН имя-дан ного=2Т (ВОЗРАСТАНИЮ)' ПРОЦЕДУРА1 ВВОДА* имя-секчхииЛ/ [ПО имя-секции-2Й ИСПОЛЬЗУЯ имя-файла-2 ) ПРОЦЕДУРА ВЫВОДА имя-секции-3 [ПО- имязсекцииЛр Ъ ПОЛУЧАЯ имя|файла-3 г 2. Составитель отчетов Формат фразы в статье описания файла: REPORT IS I > имя-отчета-1 REPORTS ARE) | имя-отчета-2] ... ОТЧЕТ 1 .ОТЧЕТЫ) ЕСТЬ имя-отчета-F [имя-отчета-2].., Формат статьи описания отчета RD имя-отчета WITH CODE мнемоническое-имя- 00 имя-отчета С КОДОМ мнемоническое-имя [CONTROL IS 1 [controls are! FINAL идентификатору^ [идентификатор^];...: FINAL, идентифркал'оргЕ [идентификатор^] П0} КОНЦУ -идентификатор-1 [идентификатор- 2]..., ПО I КОНЦУ" идёнтйфикатбр-Г [йдентификатор-2] УПР-ЭЛЕМаЕСТЫ t (LlNEdV целое-1 < У (lines) [LIMIT IS I PAGE [limits are ‘ ГРАНИЦА 1 ГРАНИЦЫ HEADING целое-2] ЗАГОЛОВОК целое-2] FIRST DETAIL целое-3] [FOOTING целое-5] ПЕРВАЯ ДЕТАЛЬ целое-3] [ПОДНОЖИЕ целое^р (СТРОКИ V СТРАНИЦЫ ЕСТЬ целоеЛ ( 1 (строк Л [LAST DETAIL целое-4] ПОСЛЕДНЯЯ ДЕТАЛЬ целое-4 р Форматы статьи описаниям группы^ отчета: Формат 1: 01 [имя-данного] LINE NUMBER IS ’целое-1 PLUS целое-2 NEXT PAGE НОМЕР СТРОКИ ЕСТЬ целое-1 ПЛЮС целое-2 СЛЕДУЮЩАЯ СТРАНИЦА
NEXT GROUP IS целое-1 PLUS целое-2 NEXT PAGE целое-1 СЛЕДУЮЩАЯ ГРУППА ЕСТЬ (USAGE IS] DISPLAY ДЛЯ ВЫВОДА TYPE IS [REPORT HEADING^ [RH J PAGE HEADINGS [PH J CONTROL HEADING1 CH [DETAIL [DE CONTROL FOOTING CF [PAGE FOOTING PF REPORT FOOTING RF ПЛЮС целое-2 .СЛЕДУЮЩАЯ СТРАНИЦА, гидентификатор-п] FINAL J идентификатор-п'] FINAL I (ЗАГОЛОВОК ОТЧЕТА ЗАГОЛОВОК СТРАНИЦЫ ЗАГОЛОВОК УПР-ЭЛЕМ ТИП ЕСТЬ ^ДЕТАЛЬ ПОДНОЖИЕ УПР-ЭЛЕМ Формат 2: номер-уровня фраза LINE фраза USAGE Формат 3: номер-уровня BLANK WHEN ПОДНОЖИЕ СТРАНИЦЫ (ПОДНОЖИЕ ОТЧЕТА [идентификатор-п! ПО КОНЦУ J 'идентификатор-//1 ДО КОНЦУ J [ имя-да н но го-1] (см. форма т-1) (см. формат-1) [имя-данного] ZERO ПРОБЕЛ КОГДА НУЛЬ COLUMN NUMBER IS целое-1 НОМЕР СТОЛБЦА ЕСТЬ целоеЛ GROUP INDICATE УКАЗАТЕЛЬ ГРУППЫ фраза LINE (см. формат-1) just,f,ed|Right JUST J УСТАНОВЛЕНО ВПРАВО PICTURE PIC IS строка-литер ШАБЛОН строка-литер 86
{идентификатор-11 FINAL J {идентификатор-1) * У КОНЦУ J (TALLY SOURCE IS I 1 (идентификатора источник ЕСТЬ |СЧЕТЧИК (идентификатор-2. - (TALLY 1 sum! } (идентификатор -3 J ^гхлмл(СЧЕТЧИК СУММА/ (идентификатор-3 TALLY идентифика тор-4 ... [UPON имя-данного] (СЧЕТЧИК (идентификатор-4. НА [имя-данного] VALUE IS литерал-1 ЗНАЧЕНИЕ литерал-1 фраза USAGE (см. формат 1) Формат 4: 01 [имя-данного-1] фраза BLANK WHEN ZERO (см. формат 3) фраза COLUMN (см. формат 3) фраза GROUP (см. формат 3) фраза JUSTIFIED (см. формат 3) фраза LINE (см. формат 1) фраза NEXT GROUP (см. формат 1) фраза PICTURE, (см. формат 3) фраза RESET (см. формат 3) (SOURCE фраза фраза фраза - SUM (см. формат 3) VALUE TYPE (см. формат 1) USAGE (см. формат 1) Форматы раздела процедур: GENERATE идентификатор ГЕНЕРИРОВАТЬ идентификатор INITIATE имя-отчета-1 [имя-отчета-2] ... ИНИЦИИРОВАТЬ имя-отчета-1 [имя-отчета-2]... TERMINATE имя-отчета-1 [имя-отчета-2]... ЗАВЕРШИТЬ имя-отчета-1 [имя-отчета-2]... USE BEFORE REPORTING идентификатор-1 ИСПОЛЬЗОВАТЬ ДО ПЕЧАТИ идентификатор-1 3. Обработка таблиц Форматы фразы OCCURS в разделе данных: OCCURS целое-2 TIMES JASCENNNG j KEY (DESCENDING] IS имя-данного-2 [имя-да нного-3]...].. .[INDEXED BY имя-индекса-1 [имя-индекса-2]... ] ПОВТОРЯЕТСЯ целое-2 РАЗ 87
i - (ВОЗРАСТАНИЮ] „ r , [ПО < } КЛЮЧА имятдацного-2 [имя-данногоёЗ[. ._4]... (УБЫВАНИЮ [ИНДЕКСИРУЕТСЯ имя-индекса:1 [ имя гин декса ^2 ]...] OCCURS [целое-1 ТО] целое-2 TIMES [DEPENDING ОМлимя-да иного-1] (ASCENDING ) л г п [{ у KEY IS имя-данного-2 [имя-данного-3].,...]... (descending) [INDEXED BY имя-индекса-1 [имя-индекса-2], .J ПОВТОРЯЕТСЯ [целое-1 ДО] целое£ РАЗ [В ЗАВИСИМОСТИ ОТ имя- данного-1] „ (ВОЗРАСТАНИЮ) <ТТТТ^Т1А « г о, 1 [ПО < > КЛЮЧА имя-данного-2 [имя-даниовотЗ]...]... (УБЫВАНИЮ !] [ ИНДЕКСИРУЕТСЯ имя-индекса-d |[имяжндекса-2]...] ~ формат фразы USAGE? [USAGE IS] INDEX ДЛЯ. ИНДЕКСА Формат раздела процедур: . ... ((имя-индекеа31 SEARCH идентификатор-1 [VARYING < (идентификатор-2. повелительный-оператор-1] {повелительный-оператор-2) if NEXT SENTENCE J {повелительный-оператор-3) }] NEXT SENTENCE ) {имя-индекса-1 * идентйфикатор-2. [AT END WHEN [WHEN ИСКАТЬ [В. КОНЦЕ повелительный -оператор-1 ] КОГДА [КОГДА SEARCH WHEN ИСКАТЬ оператор-1] КОГДА (повелительный-оператор-2 1 условие-1 л } (СЛЕДУЮЩЕЕ предложение) {повелительный-оператор^З И... СЛЕДУЮЩЕЕЛРЕДЛОЖЕНИЕ) ALL идентификатора [AT lEND повелительный-оператор? Ц {повелительный-оператор ^2] 7 NEXT SENTENCE ;) ПО КЛЮЧУ *-В идентификатор И [В (КОНЦЕ повелительный- { имя-индекса-1 идентификатор-1 {имя-индекса-1 идентификатор-1 (повелительный-опера тор-2 .... СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ. [имя-индекса-2]... [идентификатор -2 ] [имя-индекса-2].. 1 Нд [идентификатору].. г) TO ямя-индекса-З •идентификатор .-3 литерал*! t .88
ймя-индекса -3 идентификатор-3 L литерал-1 SET имя-индекса-4 [имя-индекса-5] I UP BY 1 (идентификатору DOWN BY) , (литерал*-2 ' НА | на/ [УВЕЛИЧИВ УСТАНОВИТЬ имя-индекса-4 [имя.-индекса-5]... { (УМЕНЬШИВ [идентификатор-4 ,литерал-2 4. Сегментация [SEGMENT-LIMIT IS номер-приоритета | [ЛИМИТ СЕГМЕНТА ЕСТЬ номер-приоритета^ имя-секции SECTION [номер-приоритета] СЕКЦИЯ имя-секции [номер-приоритета] 5. Использованиебиблиатеки исходных программ COPY библиотечное-имя [SUPPRESS^ слово-2 литерал-1 идентификатор-1 • [REPLACING слово-1 BY слово-4 ^литерал-2 ] идентификатор-! i КОПИРОВАТЬ библиотечное-имя слово-2 [ЗАМЕНЯЯ слово-! НА {литерал-! \ ' идентификатор-1 BASIS библиотечное-имя ОСНОВА библиотечное-имя INSERT поле-номера-следования ВСТАВИТЬ полегномератследования DELETE поле-номера-следования. УДАЛИТЬ поле-номера-следования [.слово-3 BY [С-ПОДАВЛЕНИЕМ] ['слово-4 литерал-2 идентифика тор-2 [слово-3 НА 1 6. Язык отладки ftAMED? CHANGED NAMED CHANGED идентификатор-2 1 нечисловой?-литера л-2 J' fa ИМЕНЕМ ИЗМЕНЕННЫЙ С ИМЕНЕМ ИЗМЕНЕННЫЙ EXHIBIT ПЕЧАТАТЬ [идентификатор-1 кнечисловой-литерал- 1J [идентификатор-! деечисловой-литера л-1 89Г
идентификатор-2 _ нечисловой-литерал-2 ON целое-1 [AND EVERY целое-2] [UNTIL целое-3] {повелительный-оператор 1 (ELSE 1 (ОПЕРАТОР NEXT SENTENCE J (OTHERWISE J (NEXT SENTENCE^ ПРИ целое-1 [И ЧЕРЕЗ целое-2] [ДО целое-3] повелительный-оператор 1 ИНАЧЕ (опеРатоР СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ) (СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ, (READY)' 1 TRACE RESET j НАЧАТЬ 1 ОТМЕНИТЬ/ СЛЕЖЕНИЕ DEBUG имя-процедуры ОТЛАДКА имя-процедуры СООБЩЕНИЯ ПРИ ТРАНСЛЯЦИИ ILA 00011-D ILA 0002I-D ILA 0003I-D ILA 00041-Е ILA 00051-D ILA 00061-W ILA 10011-Е ILA 1002I-W ILA 1 0031-W ILA 10041-Е NO MORE TABLE SPACE AVAILABLE. COMPILATION. ABAN- DONED. Память, отведенная под таблицы, исчерпана. Трансляция пре- кращается. BASIS LIBRARY NOT FOUND. COMPILATION ABANDONED. Книга, указанная в BASIS, не найдена в библиотеке. Трансляция прекращается. A TABLE HAS EXCEEDED MAXIMUM SIZE. COMPILATION ABANDONED. Превышен максимальный размер таблицы. Трансляция пре- кращается. г ' LINK OPTION RESET-D OR E LEVEL ERROR FOUND. Режим LINK отменен — обнаружена ошибка уровня D или Е. LOGIC OR MACHINE ERROR IN TAMER. COMPILATION ABANDONED. Логическая ошибка или машинный сбой при работе TAMER. Трансляция прекращается. BUFFER SIZE PARAMETER SPECIFIED IS TOO LARGE FOR THIS PARTITION — USING MINIMUM BUFFER SIZE. Указанный параметр размера буфера слишком велик для этого раздела — используется минимальный размер буфера. NUMERIC LITERAL NOT RECOGNISED AS LEVEL NUMBER BECAUSE (*****) ILLEGAL AS USED. SKIPPING TO NEXT LEVEL. SECTION OR DIVISION. Числовой литерал не воспринимается как номер уровня, так как (***♦*) неправильно используется. Пропуск до следующего уровня, секции или раздела. ***** SECTION HEADER MISSING. ASSUMED PRESENT. Пропущен заголовок секции *****. Предполагается, что он при- сутствует. ***** PARAGRAPH NAME MISSING. ASSUMED PRESENT. Пропущено имя параграфа. Предполагается, что оно присут- ствует. INVALID WORD *****. SKIPPING ТО NEXT RECOGNIZABLE WORD. , . Неправильное слово ****** Пропуск до следующего опознан- ного слова. 90
ILA 10051-Е ILA 10061-Е ILA 1007I-W ILA 10081-W ILA 10091-E ILA 10101-W ILA 10311-C ILA 1032I-E ILA 1033I-W ILA 10341-E ILA 1035I-E ILA 10361-C ILA 10371-E ILA 10381-E ILA 10391-W ILA 10401-E ILA 10411-E ILA 10421-E INVALID ORDER IN ENVIRONMENT DIVISION. SKIPPING TO NEXT DIVISION. Неправильная, последовательность в разделе оборудования. Пропуск до следующего раздела. DECLARATIVES SECTION WITHOUT USE SENTENCE. SEC- TION CAN NEVER BE EXECUTED. Декларативная секция без предложения USE. Секция не может быть выполнена. ***** not PRECEDED BY A SPACE. ASSUMED SPACE. Пробел не предшествует *****. Пробел предполагается. RIGHT PAREN SHOULD NOT BE PRECEDED BY SPACE. Правой скобке не должен предшествовать пробел. COPY MUST BE PRECEDED BY PROCEDURE-NAME. IGNO- RED. COPY должно предшествовать имя-процедуры. Оператор игнорируется. LEFT PAREN SHOULD NOT BE FOLLOWED BY SPACE. За левой скобкой не должен следовать пробел. USE SENTENCE NOT PRECEDED BY SECTION-NAME. SECTION-NAME ASSUMED. Предложению USE не предшествует имя-секции. Имя-секция предполагается. ***** INCORRECTLY USED IN USE SENTENCE. SENTENCE IGNORED. * **** неправильно используется в предложении USE. Пред, ложение игнорируется. * **** FILE-NAME ALREADY ASSIGNED THIS ’SAME’ CLA- USE OPTION. USING FIRST ONE. Имя-файла ***** уже использовалось в этом варианте фразы ’SAME’. Используется первая фраза. ....CLAUSE ILLEGAL IN ***** LEVEL. SKIPPING TO NEXT VALID CLAUSE. Фраза ***** недопустима на уровне *****. Пропуск до следую- щей допустимой фразы. INTEGER NOT PRESENT IN MULTIPLE FILE CLAUSE. Во фразе MULTIPLE FILE не указано целое. QUALIFIED. NAME INVALID AFTER LEVEL NUMBER. USING LOWEST NAME. Имя с уточнением недопустимо после номера уровня. Исполь- зуется имя самого низкого уровня. * **** INVALID IN DATA DESCRIPTION. SKIPPING TO NEXT CLAUSE. * **** недопустимо в описании данного. Пропуск до следую- щей фразы. * **** INVALID AFTER LEVEL NUMBER. SKIPPING TO NEXT LEVEL. ** *** недопустимо после номера уровня. Пропуск до следующе- го уровня. DATA-NAME IN ***** CLAUSE NEED NOT BE QUALIFIED. USING LOWEST NAME. Имя-данного во фразе ***** не требуется уточнять. Использу- ется имя самого низкого уровня. IMPROPER LEVEL NUMBER. FOR FILE SECTION. Недопустимый для секции файлов номер уровня. / ** *** INVALID AS USED IN.....SECTION. SKIPPING TO NEXT. LEVEL SECTION OR DIVISION. ** **.* не может использоваться в секции *****. Пропуск до следующего уровня, секции или раздела. ASSIGN CLAUSE MISSING IN SELECT. CONTINUING. Фраза ASSIGN пропущена в SELECT. Трансляция продолжа- ется. 91
ILA 1043 LW ILA 10441-E ILA 10451-E ILA, 1046I-E ILA 10471-W ILA 10481-W ILA 10491-E JLA 1050 ЬС ILA 10511-E ILA 10521-E ILA 10531-E ILA 10541-E ILA 10551-E ILA 10561-E ILA 10571-E ILA 10581-W ILA 1059I-E ILA 10601-E ILA 1061I-E END OF SENTENCE. SHOULD PRECEDE *****. ASSUMED PRESENT. Конец предложения должен предшествовать *****. Предпола- гается, что он присутствует. INVALID OR MISSING USING AND-OR GIVING CLAUSE IN SORT STATEMENT. PROGRAM CANNOT BE EXECUTED. В операторе SORT пропущен или неправильно указан USING и (или) GIVING. Программа не может быть выполнена. INVALID ORDER IN ***** SECTION. < Неправильный порядок в секции ♦♦♦♦♦. MEMBER NOT FOUND IN LIBRARY. IGNORING COPY. -Текст не найден в библиотеке. COPY игнорируется. SYNTAX INCORRECT. TREATED AS COMMENTS. SKIPPING TO NEXT CLAUSE. Неправильный синтаксис. Воспринимается как комментарий. Пропуск до следующей фразы. REEL (UNIT) NOT IN ASSIGN CLAUSE. ASSUMED PRESENT. Во фразе ASSIGN отсутствует REEL (UNIT). Предполагается, что оно присутствует. . ** *** FILE-NAME ALREADY ASSIGNED THIS MULTIPLE FILE CLAUSE OPTION. USING FIRST ONE. Для имени-файла ***** уже был указан этот вариант фразы MULTIPLE FILE. Используется .первая фраза. ** *** FILE ALREADY ASSIGNED THIS APPLY OPTION. FILE-NAME IGNORED. Для файла ***** уже был указан этот вариант фразы APPLY. Имя-файла игнорируется. * NO DATA-NAME IN USE SENTENCE. SENTENCE IGNORED. В предложении USE отсутствует имя-данного. Предложение игно- рируется' ** *** ILLEGALLY USED IN USE SENTENCE. END SENTENCE RESCANNING AT NEXT RECOGNIZABLE WORD. ** *** недопустимо используется в предложений USE. Конец предложения, просмотр со следующего опознанного слова. ** *** CLAUSE INVALID. CLAUSE IGNORED. Неправильная фраза *****. фраза игнорируется. OPERAND FOR INITIATE NOT FOUND OR ILLEGAL. OPE- RAND DROPPED. Опёранд для INITIATE не найден или недопустим. Операнд пропускается. VALID FILE-NAME NOT PRESENT. DESCRIPTION IGNORED. Неправильное имя-файла. Описание игнорируется. FILE-NAME NOT DEFINED IN A SELECT. DESCRIPTION IGNORED. Имя-файла не определено в предложении SELECT. Описание игнорируется. , • ’ FIRST WORD IN REPORT SECTION NOT RD. IGNORED. Первое слово в секции отчетов не RD., Игнорируется. NO REPORTS CLAUSE IN FILE SECTION. REPORT SECTION IGNORED. В секции файлов нет фразы REPORTS. Секция отчетов игно- рируется. NO REPORT CLAUSE FOR RD. RD IGNORED. Нет фразы REPORT для RD. RD игнорируется. INVALID WORD. IN REPORT WRITER STATEMENT. IGNO- RED. Неправильное слово в операторе составителя отчетов. Игнори- руется. DUPLICATE CLAUSE. DROPPED. Повторяется фраза. Пропускается. 92
ILA 1O62PE ILA 1063FE ILA W64M ILA T0651-E ILA 10661-E ILA 10671-E ILA 10681-E ILA 1069 FE ILA 1070I-C ILA 107LI-C ILA 10721-C ILA 10731-C ILA 1074I-C ILA 1075I-C ILA 10761-C ILA 1Q77FC ILA 10781-W **?’** Ж COP¥ REPLACINGSTATEMENT INVALID AS BCD NAME. . *****-в операторе COPY REPLACING недопустимо в качестве буквенно-цифрового имени. DUPLICATE ENTRY IN PAGE CLAUSE. DUPLICATE DROP- PED. Повторяющийся вариант во фразе PAGE. 'Повторение пропуска- ется. NO TYPE CLAUSE SPECIFIED. SKIPPING TO NEXT ©1. He. указана фраза TYPE. Пропуск до следующего 01. . INTEGER MISSING TN/PAGE CLAUSE. ENTRY IGNORED. Пропущено целое во фразе PAGE. Фраза игнорируется. INVALID WORD IN PAGE CLAUSE. SKIPPING TO NEXT RECOGNIZABLE WORD. Неправильное слово, во фразе PAGE. Пропуск до следующего опознанного слова. INVALID HEADER. SKIPPING ТО NEXT RECOGNIZABLE WORD. Недопустимый заголовок. Пропуск до следующего опознанного слова. , , . OPERAND FOR GENERATE iNOT FOUND. STATEMENT DROP- PED. Операнд доя GENERATE не найден. Оператор пропускается. INVALID TYPE CLAUSE. SKIPPING TO NEXT 01. Неправильная фраза TYPE. Пропуск ^следующего 01. FLT-PT LIT MANTISSA EXCEEDS 16 DIGITS. TRUNCATED TO 16. Мантисса литерала с: плавающей точкой превышает 16 цифр. Усекается до 16. FLT-PT LIT EXPONENT EXCEEDS 2 DIGITS .TRUNCATED TO 2. Показатель степени литерала с плавающей точкой превышает 2 цифры. Усекается ДО 2. РЕТ-РТ1ШГ EXPONENT FOLLOWED BY NON-BLANK. RES- CANNING AT NON-BLANK. За паказателем степени.литералам плавающей точкой не пробел. Просмотр продол жаетсяс непробельной литеры. FLT-PT LIT Е FOLLOWED BY INVALIDOIARCATER. SKIP- PING TO NEXT WORD. За E в литерале с. плавающей точкой следует недопустимая ли- тера. Пропуск до следующего слова. FLT-PT LIT SIGN FOLLOWED BY INVALID CHARACTER. RESCANNING AT E. За,знаком литерала м плавающей точкой ^следует недопустимая литера. Просмотр продолжается с Е. , FLT-PT LIT EXCEEDS LIMIT. ASSUME MAX OR MIN PER SIGN OF EXPONENT. Литерал с,плавающей точкой больше допустимого. Предпола- гается максимум или минимум в зависимости от знака показателя степени. NONNUMERJC LIT EXCEEDS 120CHAR ACTE RS. TRUNCA- TED TO 120. В нечисловом литерале больше 120 литер. Усекается до 120. NONNUMERIC LIT CONTINUES Ж AREA A. ASSUME AREA В. Нечисловой литерал продолжается в области А. Предполапаетоя, что в области В. NONNUMERIC МТ OONTINUED WITHOUT HYPHEN OR QUOTE. ASSUMED. Нечисловой литерал шродолженлбевдефиса или кавычки. Дефис или кавычка предполагается. S3
ILA 10791-W ILA 10801-W ILA 10811-W ILA 10821-C ILA 1083 LC ILA 10841-W ILA 10851-C ILA 10861-W ILA 10871-W ILA 10881-E ILA 10891-E ILA 1090 I-E ILA 10911-C ILA 1092 I-E ILA 1093 I-E ILA 1094 I-E ILA 10951-W ILA 1096 I-E NONNUMERIC LIT HAS ZERO LENGTH. ASSUME ONE SPACE. Длина нечислового литерала равна нулю. Предполагается один пробел. PERIOD PRECEDED BY SPACE. ASSUME END OF SENTENCE. Точке предшествует пробел. Предполагается конец предложения. PERIOD NOT FOLLOWED BY SPACE. ASSUME END OF SEN- TENCE. За точкой не следует пробел. Предполагается конец предложения. NUMERIC LIT EXCEEDS 18 DIGITS. TRUNCATED TO 18. В числовом литерале больше 18 цифр. Усекается до 18. ILLEGAL CHARACTER. SCAN RESUMED AT NEXT VALID CHARACTER. Недопустимая литера. Просмотр продолжается со следующей допустимой литеры. СОММА SHOULD NOT BE PRECEDED BY SPACE. Запятой не должен предшествовать пробел. WORD OR PICTURE EXCEEDS 30 CHARACTERS. TRUNCA- TED TO 30 CHARACTERS. В слове или PICTURE больше 30 литер. Усекается до 30 литер. * **** SHOULD BEGIN IN AREA A. * **** должно начинаться в области А. * **** SHOULD NOT BEGIN IN AREA A. * **** не должно начинаться в области А. MISSING FIRST INSERT OR DELETE CARD. PASS CARDS UNTIL FOUND. *****. Отсутствует первая карта INSERT или DELETE. Карты прого- няются, пока нужная не будет найдена. *****. INSERT OR DELETE NUMBER OUT OF SEQUENCE.SKIPPING TO NEXT INSERT CARD OR DELETE NUMBER. **♦**. Номер следования в карте INSERT или DELETE вне последо- вательности. Пропуск до следующей карты INSERT или номера DELETE ♦♦♦♦♦. DELETE THRU NUMBER OUT OF SEQUENCE. PASS CARDS UNTIL NEXT INSERT OR DELETE. *****. Граничный номер в DELETE вие последовательности. Карты про- гоняются до следующей INSERT или DELETE. *****. * **** IN AREA А N0T VALID AS PROC-NM. ASSUME AREA B. * **** в области А недопустимо в качестве имени-процедуры. Предполагается область В. DECLARATIVES DO NOT FOLLOW PROCEDURE DIVI- SION IGNORED DECLARATIVES не следует за PROCEDURE DIVISION. Игнорируется. NO DECLARATIVES SECTION. END DECLARATIVES IG- NORED. Нет декларативной секции. END DECLARATIVES игнориру- ется. INTEGER IN NEXT GROUP CLAUSE DOES NOT CONFORM TO PAGE CLAUSE SPECIFICATIONS. CONTINUING. Целое во фразе NEXT GROUP не согласуется co спецификаци- ями фразы PAGE. Просмотр продолжается. WORD ’SECTION’ OR ’DIVISION’ MISSING. ASSUMED PRE- SENT. Отсутствует слово SECTION или DIVISION. Предполагается, что оно присутствует. DATA-NAME IN UPON OPTION NOT SPECIFIED AS A DATA- NAME FOR A TYPE DETAIL REPORT GROUP IN THIS RE- PORT. UPON OPTION IGNORED. Имя-данного в варианте UPON не. указано в качестве имени- данного для группы отчета типа DETAIL в этом отчете. Вариант UPON игнорируется. . . » 94
ILA 1097 I-E ILA 1098I-C ILA 1099 I-E ILA 1100I-W ILA 1101 I-E ILA 11021-W ILA 11031-E ILA 11041-E ILA 11051-W ILA 1106I-E ILA 1107I-C ILA 1108 I-E ILA 1109 I-E ILA 11101-W ILA 1111I-W ILA 11121-E ILA 1113I-E ILA 11141-C \ - PROGRAM-ID MISSING OR MISPLACED. IF PROGRAM-ID DOES NOT IMMEDIATELY FOLLOW IDENTIFICATION DI- VISION, IT WILL BE IGNORED. PROGRAM-ID пропущен или неправильно расположен. Если PROGRAM-ID не следует непосредственно за IDENTIFICATION DIVISION, он будет игнорироваться. NONNUMERIC LIT NOT CONTINUED WITH HYPHEN AND QUOTE. END LITERAL ON LAST CARD. Нечисловой литерал продолжен без дефиса и кавычки. Конец литерала на последней карте. * **** IS INVALID AS USED. * **** используется неправильно. * **** SEQUENCE ERRORS IN SOURCE PROGRAM. * **** ошибок последовательности в исходной программе. NEXT PAGE NOT IN FIRST LINE CLAUSE. IGNORED. NEXT PAGE не в первой фразе LINE. Игнорируется. INCOMPLETE ELEMENTARY ITEM. ASSUME VALUE SPACES. Неполное описание элементарного данного. Предполагается VALUE SPACES. GROUP TYPE ALLOWED ONCE FOR RD. IGNORED. Этот тип группы допустим для RD только один раз. Игнорируется.. CONTROL NAME NOT SPECIFIED IN RD. SKIPPING TO NEXT 01. Имя управляющего элемента не указано в RD. Пропуск до сле- дующего 01. ELEMENTARY ITEM EXPECTED. ASSUMED. Ожидается элементарное данное. Предполагается. OPERAND FOR TERMINATE NOT FOUND OR ILLEGAL. OPERAND DROPPED. Операнд для TERMINATE не найден или неправильный. Опе- ранд пропускается. ’NEXT GROUP’ CLAUSE IS ILLEGAL FOR THIS REPORT GROUP. IGNORED. Фраза NEXT GROUP недопустима для этой группы отчета. Игнорируется. * **** IS NOT A POSITIVE INTEGRAL NUMBER. ASSUMED ONE. * **** не является положительным целым числом. Предполага- ется единица. DUPLICATE USE OF CONTROL NAME. SKIPPING TO NEXT 01. Повторное использование имени управляющего элемента. Пропуск до следующего 01. INVALID USE OF SUM CLAUSE. CLAUSE IGNORED. Неправильное использование фразы SUM. Фраза игнорируется. ELEMENTARY LEVEL WITHOUT COLUMN OR SUM CLA- USE. ; Элементарный уровень без фразы COLUMN или SUM. * **** ALREADY SPECIFIED IN 2 FILE DESCRIPTION ENT- RIES. IGNORED. * **** уже указано в двух статьях описания файла. Игнори- руется. EXPECTING 6-DIGIT SEQUENCE NUMBER. SKIPPING TO NEXT INSERT OR DELETE NUMBER. *****. Ожидается 6-значный номер, следования. Переход к следующему номеру INSERT или DELETE. *****. EXTRANEOUS СОММА OR HYPHEN ON DELETE CARD. IGNORED. Лишняя запятая или дефис на карте DELETE. Игнорируется. 95
ILA 1'1151-E NO BLANK, COMMA, OR HYPHEN FOLLOWING SEQUENCE NUMBER. ASSUME BLANK- ****** За номером следования не пробел, не запятая и не дефис. Предпо- лагается пробел. ****** ILA 11161-E EXPECTING 6-DIGIT SEQUENCE NUMBER AFTER HYP- HEN. IGNORING DELETE FROM THRU NUMBER. *****. Ожидается 6-значный номер следования после дефиса. Второй номер из диапазона DELETE игнорируется. ***♦*. ILA 1117I-E DELETE NUMBER GREATER THAN LAST SEQUENCE NUMBER. STOP INSERT AND DELETE. *****. Номер DELETE больше последнего номера следования. Обра- ботка INSERT и DELETE прекращается. *****. ILA 11181-E INSERT NUMBER GREATER THAN LAST SEQUENCE NUM- BER. STOP INSERT AND DELETE. ****** Номер INSERT больше последнего номера следования. Обра- . ILA it 191-E ботка INSERT и DELETE прекращается. *****. INTEGER IN ’LINE’ CLAUSE DOES NOT CONFORM TO PAGE CLAUSE SPECIFICATIONS. CONTINUING. Целое- во фразе LINE, не соответствует спецификациям во фразе ILA 11201-W PAGE. Просмотр продолжается. COMMA NOT FOLLOWED BY SPACE. ASSUMED. За запятой не следует пробел. Предполагается. ILA 1121I-E PERIOD OR СОММА INVALID AS USED IN PICTURE CLA- USE. Точка или запятая неправильно используется во фразе PIC- TURE. ILA 1122I-E EXTERNAL-NAME IN RERUN CLAUSE MUST NOT BE THE SAME AS SYSTEM-NAME USED IN ASSIGN CLAUSE. RERUN IGNORED. Внешнее-ймя во фразе RERUN не должно быть таким же, как системное-имя, используемое во фразе ASSIGN. RERUN игно- ILA 1123LE рируется. . - NUMBER IS ZERO OR NEGATIVE SENTENCE IGNORED. Число равно нулю или отрицательное. Предложение игнори- руется. ILA 11241-E NUMBER ТОО LARGE FOR RERUN. CLAUSE IGNORED. Число слишком велико для RERUN. Фраза игнорируется. . ILA 1125I-C ***** FltE-NAME USED ‘ IN PREVIOUS RERUN. USING FIRST ONE. Имя-файла ***** использовалось в предыдущей фразе RERUN. Используется первая фраза. ILA 1127I-C ***** INVALID IN ***** SENTENCE. REST OF SENTENCE IGNORED. ***** недопустимо в предложении *****. Остальная часть предложения игнорируется. ILA 11291-C ID. DIV. HEADER MISSING OR MISPLACED: ASSUMED PRESENT. Заголовок раздела идентификации пропущен, или неправильно расположен. Предполагается, что он присутствует. ILA 11301-E ***** DIV HEADER MISSING. WORDS IN ***** STATE- MENTS ARE INVALID. Отсутствует заголовок раздела ***♦*. Слова в операторах ***** неправильны. ILA 11311-W INVALID PRIORITY NUMBER. ZERO ASSUMED. Недопустимый номер приоритета. Предполагается нуль. ILA 1132I-E INVALID SYSTEM-NAME. SKIPPING ТО NEXT CLAUSE. Недопустимое системное-имя. Пропуск до следующей фразы. ILA 11331- VV MOREL THAN 1 USE ON STANDARD ERROR SPECIFIED FOR SAME FILE OR OPEN OPTION. DUPLICATE USE IGNORED. 96 Более одной USE ON STANDARD ERROR yказано для одного
ILA 11344-Е ILA 1135I-W ILA 1136 I-E ILA 1137I-W ILA 1139I-W ILA 11401-W ILA 11411-C ILA 1142 I-E ILA 1143 I-E ILA 11441-W ILA 1145 I-E ILA 1147 I-E ILA 1148I-C ILA 1149 I-E ILA 1150I-W ILA 1151 I-E и того же файла или варианта OPEN. Повторяющаяся USE иг- норируется. USE SPECIFIED FOR FILE WITH LABEL RECORDS OMITTED OR STANDARD. SENTENCE IGNORED. USE указано для файла c LABEL RECORDS OMITTED или ' STANDARD. Предложение игнорируется. INTEGER-1 OUTSIDE OF ALLOWABLE LIMITS. 1 ASSUMED. ЦелоеЧ вне допустимого диапазона*. Предполагается 1. DATA-NAME ALREADY SPECIFIED FOR A TYPE DETAIL REPORT GROUP. SKIPPING TO NEXT 01, RD OR SECTION. Имя-данного уже указано для группы отчета TYPE DETAIL, Пропуск до следующего 01, RD или секции! MINIMUM NUMBER OF OCCURRENCES IN OCCURS CLAUSE NOT LESS THAN MAXIMUM NUMBER. CONTINUING. Минимальное число повторений во фразе- OCCURS не. меньше максимального числа. Просмотр продолжается. ***** DUPLICATELY DEFINED SECTION. SECTION NAME IGNORED. Секция ***** определена несколько раз; Имя секции игнор и < руется.. NUMERIC LITERAL EXCEEDS MAXIMUM. SUBSTITUTING 32 767. Числовой литерал превышает максимум. Заменяется на 32 767 - FILE ORGANIZATION FIELD INVALID IN SYSTEM-NAME» SEQUENTIAL ASSUMEQ. Недопустимое поле организации файла в системном-имени. Предполагается последовательная. USE STANDARD ERROR OR -LABEL PROCEDURE SPECI- FIED FOR FILE AND FOR OPEN OPTION. USE FOROPEN OP- TION IGNORED. USE -для стандартной процедуры ошибки или метки указан для файла и варианта OPEN. USE для варианта OPEN игнорируй ется. > USE STATEMENTS IMPLY BOTH STANDARD AND NONSTAN- DARD LABELS. USE IGNORED. Операторы USE предполагают и стандартные, и нестандартные метки. USE игнорируется. POSITIONING AND ADVANCING ILLEGALLY USED FOR SAME FILE. POSITIONING и ADVANCING недопустимо используются для одного и того же файла. : ***** DUPLICATELY DEFINED IN SPECIAL-NAMES PA- RAGRAPH. SENTENCE IGNORED. ***** повторно указано в параграфе SPECIAL-NAMES. Предло^ жение игнорируется. SD FILE ILLEGALY SPECIFIED IN SAME AREA CLAUSE. CLAUSE FOR SD IGNORED. Файл SD недопустимо указывать, во фразе SAME AREA. Фраза - для SD игнорируется. INVALID SEGMENT LIMIT.. FIFTY ASSUMED. Недопустимая граница сегментов.; Предполагается 50. FILES IN SAME AREA CLAUSE DO NOT ALL APPEAR IN THE SAME SORT-RECORD AREA CLAUSE. ******* NOT GIVEN SAME AREA NUMBER. 7 . He все файлы фразы. SAME AREA появляются во фразе SAME SORT-RECORD AREA. ******* не дается номер той же области. ILLEGAL CHARACTER IN COL. 7 PRECEDING***** PA- RAGRAPH NAME. Недопустимая литера в. колонке 7 .перед именем параграфа *****. ILLEGAL CHARACTER USE IN CURRENCY SIGN_CLAUSE. CLAUSE IGNORED. ’ 4 Г. А. Дробушевич 9?
, г Во фразе CURRENCY STGN используется недопустимая литера. ' Фраза игнорируется.’ , ILA 11521-Е ON AND-OR OFF STATUS MUST BE SPECIFIED.ON UPSI CLAUSE. SPECIAL NAME IGNORED. : Состояние ON или OFF должно быть указано для фразы UPSI. ' Специальное имя йгнорируется. ILA 11541-Е 2 DIFFERENT LABEL PROCEDURES FOR EOF AND EOV J K WITH ’BEFORE’ OPTION. BOTH LABEL PROCEDURES IG- NORED. ‘ * Две разные процедуры метки для EOF и EOV с вариантом ’BE- FORE’. Обе процедуры метки игнорируются. ILA 11551-Е DEVICE CLASS INVALID IN SYSTEM-NAME. SKIPPING TO . 7 NEXT FIELD. Недопустимый класс устройства в системном-имени. Переход к следующему полю. ILA 11561-Е DEVICE NUMBER INVALID IN SYSTEM-NAME. ’***♦*' ASSUMED. Недопустимый шифр устройства в системном-имени. Предпола- гается ’*****’, ILA 11581-Е ’****** ш ENTRY STATEMENT IS SAME AS PROGRAM-ID. .’*****’ IGNORED FOR ENTRY VERB. ’*****’ в операторе ENTRY совпадает c PROGRAM-ID. ******* игнорируется для глагола ENTRY. ILA 11591-W PAGE LIMIT INTEGER-1 NOT SPECIFIED. ASSUME HIGH- VALUE. В PAGE LIMIT не указано целое-1. Предполагается HIGH- VALUE. ILA 11691-E CONTINUATION OF WORD FOUND IN AREA A. IGNORED. , Продолжение слова обнаружено в области А. Игнорируется. 1LA 11611-W RESERVED WORD MISSING. ASSUMED PRESENT. Отсутствует за!резёрвированное слово. Предполагается, что оно присутствует. 1LA 11621-Е INTEGER IN LINE CLAUSE IS LESS THAN PREVIOUS VA- LUE. IGNORED. Целое во фразе LINE меньше предыдущего значения. Игнори- руется. ILA 11631-Е ABSOLUTE LINE NUMBER IS PRECEDED BY A RELATIVE LINE NUMBER. IGNORED. ' Абсолютному LINE NUMBER предшествует относительный LINE NUMBER. Игнорируется. ILA 1164I-E NO PAGE CLAUSE SPECIFIED. ALL LINE CLAUSES MUST ' < ; ( : BE’LINE PLUS INTEGER’. IGNORED. ' He указана фраза PAGE. Все фразы LINE должны быть ’LINE PLUS целое’. Игнорируется. ILA 11651-Е. . ’HEADING’ EQUALS ’FIRST DETAIL’ IN PAGE CLAUSE. PAGE HEADING IS ILLEGAL. CONTINUING. ’HEADING* равно ’FIRST DETAIL’ во фразе PAGE. PAGE HEADING недопустимо. Просмотр продолжается. ILA 11661-E ’FOOTING’ EQUALS ’PAGE LIMIT* IN PAGE CLAUSE. r PAGE FOOTING IS ILLEGAL. CONTINUING. ’FOOTING’ равно ’PAGE LIMIT’ во фразе PAGE. PAGE FOOT- ING недопустимо. Просмотр продолжается;. ILA 11671-W ’LINE NEXT PAGE’ CLAUSE IS ILLEGAL FOR THIS REPORT GROUP. IGNORED. Фраза ’LINE NEXT PAGE’ недопустима, для этой группы от- чета. Игнорируется. ILA 11681-Е DUPLICATE REPORT NAME. SKIPPING TO NEW, RD. Повторяющееся имя отчета. Пропуск до следующего RD. ILA 11691-E AN OPERAND IN THIS SUM CLAUSE DOES NOT APPEAR AS ‘ A SOURCE ITEM'lN DETAIL ♦****. OPERAND IGNORED. 98
Операнд в этой фразе SUM не указан в качестве источника в DE- , . TAIL *****. Операнд игнорируется. ' JLA 11701-E DETAIL REPORT GROUP SPECIFIED WITH NO DATA-NAME. CONTINUING. Группа отчета DETAIL указана без имени-данного. Просмотр v. продолжается. ILA 11711-Е INTEGERS IN PAGE CLAUSE ARE NOT IN ASCENDING ORDER. CONTINUING. Целые во фразе PAGE не в возрастающей последовательности. Просмотр продолжается. ILA 11721-Е WORD INVALID AS REPORT NAME. RD IGNORED. Слово недопустимо в качестве имени отчета. RD игнорируется. ILA 11731-Е GROUP INDICATE IS ILLEGAL FOR THIS REPORT GROUP. IGNORED. Фраза GROUP INDICATE недопустима для этой группы отчета. Игнорируется. ILA 11741-Е NO LINE CLAUSE SPECIFIED IN PRECEDING REPORT GROUP. NO OUTPUT GENERATED. ; В предыдущей группе отчета не указана фраза LINE. Вывод не генерируется. ILA 11751-Е DATA-NAME FOR THIS REPORT GROUP IS NOT UNIQUE. SKIPPING TO NEW 01, RD, SECTION. Имя-данного для этой группы отчета не. уникально. Пропуск до нового 01, RD, SECTION. ILA 11761-E SYS NUMBER NOT EQUAL TO 001 FOR SORT FILE. ASSUMED PRESENT. Номер SYS не равен 001 для сортируемого файла. Предполагает- ся, что он присутствует. ILA 11781-Е . RESET CLAUSE SPECIFIED, AND IS EITHER ILLEGAL FOR THIS REPORT GROUP, OR ELEMENTARY ITEM DOES NOT CONTAIN A SUM CLAUSE. CLAUSE IGNORED. Указана.фраза RESET, которая недопустима для этой группы отчета, или элементарное данное не содержит фразы SUM. Фра- за игнорируется. ILA 11791-Е COLUMN NUMBER ILLEGAL. ASSUMED COLUMN 1. Недопустимый номер колонки. Предполагается колонка 1. ILA 2001 I-С BLOCK SIZE SMALLER THAN RECORD SIZE. BLOCK CON- TAINS IGNORED. Размер блока меньше размера записи. BLOCK CONTAINS игно- рируется. ILA 20021-Е ORGANIZATION INCORRECT. USING STANDARD SEQUEN- TIAL. Неправильная организация. Используется стандартная после- довательная. ILA 2003I-E RANDOM ACCESS ILLEGAL FOR THIS FILE. USING SEQUEN- TIAL. Прямой доступ недопустим для этого, файла. Используется по- следовательный. ILA 20041-Е RECORDING MODE ILLEGAL FOR ORGANIZATION. RE- CORDING MODE IGNORED. RECORDING MODE недопустима для организации. RECORD- ING MODE игнорируется. ILA 2005 I-E A CARD FILE MUST HAVE FIXED RECORD FORMAT: FIXED ASSUMED. Файл на перфокартах должен иметь фиксированный формат записей. Предполагается фиксированный. ILA 20061-С SPANNED RECORDS INVALID FOR THIS DEVICE. USING , , variable: , ’ ?. Сегментированные записи, недопустимы. ,дл(я этого устройства. Используются переменные. \‘Й9
ILA 20071-C ILA 20081-C ILA 20091-C ILA 20101-E ILA 2011 I-E ILA 2G12I-E ILA 20131-C ILA 20141-C ILA 20151-W ILA 2016I-E ILA 2017 I-E ILA 20181-E ILA 20191-C ILA 20201-C 100 RECORD CONTAINS CLAUSE CONFLICTS WITH RECORD DESCRIPTION. CLAUSE IGNORED. Фраза RECORD CONTAINS противоречит описанию записи. Фраза ^игнорируется. APPLY MASTER-CYLINDER INDEX VALID ONLY FOR INDE- XED FILES. CLAUSE IGNORED. APPLY MASTER-CYLINDER INDEX допустима только для индексных файлов. Фраза игнорируется. SYNCHRONIZED ITEM NOT ON PROPER BOUNDARY. NO ALIGNMENT PERFORMED BECAUSE STARTING. ADDRESS OF THE REDEFINED ITEM WOULD HAVE TO BE CHANGED Данное c SYNCHRONIZED не на подходящей границе. Вырав- нивание не выполняется, так как пришлось ,бы изменить началь- ный адрес переопределенного данного. OBJECT OF REDEFINES CLAUSE IS OCCURS DEPENDING ON SUBJECT. REDEFINES .CLAUSE IGNORED. Объект фразы REDEFINES является субъектом OCCURS DE- PENDING ON. Фраза REDEFINES игнорируется. AN INDEX DATA ITEM MAY NOT BE A CONDITIONAL VAR I ABLE.88 (S) DISCARDED. Индексный элемент данных не может быть условной переменно!. Все 88 пропускаются. INDEX NAMES AND-OR KEYS IGNORED FOR TABLE WITH ILLEGAL SUBJECT. Имена: индексов- и (или) ключи игнорируются для таблицы* с не- допустимым субъектом. BLOCK CONTAINS CLAUSE IMPROPERLY WRITTEN. CLA- USE IGNORED. Фраза BLOCK CONTAINS неправильно написана. Фраза игно- рируется. 1 BLOCK CONTAINS CHARACTERS MUST BE USED FOR SPAN- NED RECORDS. USING VARIABLE. BLOCK CONTAINS CHARACTERS должна использоваться для сегментированных записей. Используются переменные. CONFLICTING 'SPECIFICATIONS FOR RECORD FORMAT’ ***** ASSUMED. ‘Противоречивые спецификации для формата записи. Предпола- гается ***** " DATA RECORD SIZE IS VARIABLE. ’RECORDING MODE F\ IGNORED. Размер, записи данных переменный, ’RECORDING MODE F’ игнорируется. IF THE SUBJECT OF AN INDEX ED^Y'CLAUSE IS AN ELE- MENTARY ITEM ONLY THAT ITEM MAY BE SPECIFIED JN THE KEY CLAUSE RESTOF KEYS DISCARDED. Если субъект фразы INDEXED BY является элементарным дан- ным, только: это данное может быть указано во фразе KE Y. Остальные ключи игнорируются. OBJECT OF RENAMES CLAUSE WAS NOT FOUND OR NON- UNIQUE IN LOGICAL RECORD. Объект фразы RENAMES не найден или неуникален в логической записи. BLOCK CONTAINS CLAUSE INVALID FOR UNDEF RECORD FORMAT. CLAUSE IGNORED. Фраза BLOCK CONTAINS недопустима для неопределенного формата записей. Фраза игнорируется. . : TRACK-AREA CLAUSE ILLEGAL FOR THIS ACCESS METHOD. CLAUSE IGNORED. Фраза TRACK-AREA недопустима для этого метода доступа. Фраза игнорируется.
ILA 20211-C ' PICTURE DUPLICATION FACTOR TRUNCATED TO5 SIG- NIFICANT DIGITS,. Коэффициент повторения в PICTURE усекается до 5 значащих цифр. ! 1LA 20221-Е THE OBJECT OF THE RENAMES OR RENAMES THRU CLAU- SES CANNOT BE AN 01, 66, 77 OR 88. STATEMENT DISCAR- DED. Объект фразы RENAMES или REN AMES THRU'не может быть уровня 01, 66,77 или* 88. Оператор игнорируется. ILA 20231-Е ***** KEY MISSING. FILE IGNORED. Отсутствует ключ **♦♦*.: Файл игнорируется. ILA 20241-Е ***** KEY IS ILLEGAL FOR THIS ORGANIZATION. CLAUSE IGNORED. ***** ключ недопустим для этой организации. Фраза игнори-* руется. ILA 20251-Е FILE-NAME NOT UNIQUE. FILE IGNORED. Имя-файла не уникально. Файл игнорируется. ILA 2027I-C APPLY CORE-INDEX ILLEGAL FOR THIS ACCESS METHOD. CLAUSE IGNORED. ' APPLY CORE-INDEX недопустима для этого метода доступа.’ Фраза игнорируется. , ILA 2028I-W RECORD CONTAINS CLAUSE IMPROPERLY WRITTEN. CLAUSE IGNORED. Фраза RECORD CONTAINS неправильно написана.1 Фраза иг-1 норируется. ILA 2029I-C FIRST NON 77, 88 ITEM IN SECTION IS NOT AN 01. THIS ITEM WAS CHANGED TO 01. Первое данное уровня не 77, 88 в секции не является данным уровня 01. Заменяется на 01. ILA 2030I-C 77 ITEM PRECEDED JBY AN 01—49 ITEM OR 77 IN FILE SECTION. 77 CHANGED TO 01. Данному 77 предшествует данное 01—49 или 77 в секции файлов. 77 заменяется на 01. , ILA 20311-C 88 ITEM MUST BE PRECEDED BY 01—49 OR 77 ITEM. 88 CHAN- GED TO 01. . Данному 88 должно предшествовать данное 01—49 ., ил и 77. 88 заменяется на 01. 1LA 20321-Е 88 ITEM CONTAINED A CLAYSE OTHER THAN VALUE CLAUSE. CLAUSE DELETED. Данное 88, содержит фразу, > отличнук? от фразы VALUE. Фраза удаляется. ILA 20331-С ITEM’S USAGE. INCOMPATIBLE WITH USAGE OF GROUP IT BELONGS TO. USAGE CHANGED TO GROUP’S USAGE. USAGE данного несовместима, c USAGE группы, к которой оно. принадлежит. Заменяется на USAGE группы. ILA 20341-Е GROUP ITEM HAS PICTURE CLAUSE. CLAUSE DELETED. Групповое данное имеет фразу PICTURE. Фраза удаляется. ILA 2035I-E GROUP ITEM HAS BLANK WHEN ZERO CLAUSE. CLAUSE DELETED. Групповое данное имеет фразу BLANK WHEN ZERO. Фраза удаляется. ' ILA 2036I-E GROUP ITEM HAS JUSTIFIED CLAUSE. CLAUSE DELETED. Групповое данное имеет фразу JUSTIFIED. Фраза удаляется/ ILA 2037I-E BLANK WHEN ZERO CLAUSE USED INCORRECTLY. CLAUSE IGNORED. Фраза BLANK WHEN ZERO используется неправильно. Фраза игнорируется. ILA 2038 I-E ACTUAL KEY MUST BE GREATER THAN 4 AND LESS THAN 259 BYTES IN LENGTH. USING 5. ACTUAL KEY должен быть больше 4 и меньше 259 байтов в длину. Используется 5.' 101
ILA 20391-С ' Ci: I , : ILA 20401-E ILA 20411-E ILA 20421-E ILA 20431-E ILA 20441-E ILA 20451-E ILA 20461-E ILA 20471-E ILA 2049I-C ILA 20501-C ILA 20511-C ILA 20521-E ILA 20531-C ILA 20541-C ILA 20681-C • < ILA 20691-C ILA 2070 Ю 102 PICTURE CONFIGURATION ILLEGAL. PICTURE CHANGED TO 9. Недопустимая конфигурация PICTURE. PICTURE заменяете! на 9. JUSTIFIED CLAUSE SPEC’D FOR NON-ALPHABETIC OR NON-ALPHANUMERIC ITEM. CLAUSE; DELETED. Фраза JUSTIFIED указана не для буквенного или буквенно- цифрового данного. Фраза удаляе1ся. . CONDITION NAME UNDER GROUP HAS VALUE CLAUSE THAT IS NUMERIC. 88 DISCARDED. Условное имя в группе имеет цифровую фразу VALUE. 88 про- пускается. 4 THIS ITEM CAUSES OVER 3 LEVELS OF SUBSCRIPTING OCCURS CLAUSE DROPPED FOR THIS ITEM. Это данное требует более 3 уровней индексирования. Фраза OCCURS для этого данного пропускается. 01 OR 77 LEVEL HAS AN OCCURS CLAUSE. CLAUSE DELE- TED: Уровень .01 или 77 имеет фразу OCCURS. Фраза удаляется. DUPLICATE SD. IGNORED. Повторяющееся SD. Игнорируется. REPORT CONTROL NAME UNDEFINED. Имя управляющего элемента отчета не определено. REPORT CONTROL NAME NOT FIXED LENGTH. Имя управляющего элемента отчета не фиксированной длины. MORE THAN 12 INDEX NAMES SPECIFIED FOR TABLE. FIRST 12 ACCEPTED. Более 12 имен индексов указано для таблицы. Воспринимаются первые 12. NO VALID OPEN FOR FILE. FILE IGNORED. Нет правильного OPEN для файла. Файл игнорируется. BLOCK SIZE ТОО LARGE. USING MAXIMUM FOR DEVICE: RECORD TRUNCATED. Слишком большой размер блока. Используется максимальный для устройства. Запись усекается. APPLY EXTENDED SEARCH VALID ONLY FOR DIRECT FILES. CLAUSE IGNORED. - APPLY EXTENDED SEARCH допустима только для произ- вольных файлов. Фраза игнорируется. MORE THAN 12 KEYS SPECIFIED FOR TABLE. FIRST 12 ACCEPTED. Более 12 ключей указано :для таблицы. Воспринимаются пер- вые 12. 77 ITEM WITHOUT PICTURE CLAUSE. ASSUME PICTURE 9. ,Данное 77 без фразы PICTURE. .Предполагается PICTURE 9. PICTURE LENGTH WOULD CAUSE OVERFLOW FROM RE- PORT LINE AT SPECIFIED COLUMN. TRUNCATED TO AVAI- LABLE SIZE. PICTURE вызовет переполнение строки отчета при указанной колонке. Усекается до допустимого размера. ' ONLY THE RENAMES CLAUSE MAY BE SPECIFIED FOR A LEVEL 66 ENTRY. CLAUSE IGNORED. Только фраза RENAMES может быть указана для статьи уров- ня 66. Фраза игнорируется. NUMERIC PICTURE — SIGN IN ILLEGAL POSITION. PICTU- RE REPLACED BY 9 (I). Цифровой PICTURE — знак в недопустимой позиции. PICTURE заменяется на 9 (1). • !: NUMERIC PICTURE —Р IN ILLEGAL POSITION. PICTURE REPLACED BY 9 (1). ;
Цифровой PICTURE—Р в недопустимой позиции. PICTURE заменяется на 9(1). ILA 2071 1-C NUMERIC PICTURE — V IN ILLEGAL POSITION. PICTURE REPLACED BY 9 (1). Цифровой PICTURE — V в недопустимой позиции. Заменяется на 9 (1). ILA 2072ЬС NUMERIC PICTURE — NO 9 IN PICTURE. PICTURE REPLA- CED BY 9 (1). Цифровой PICTURE — нет 9 в PICTURE. PICTURE заменяет- ся на 9 (1). ILA 20731-C NUMERIC PICTURE — P ENCLOSED BY 9’S. PICTURE RE- PLACED BY 9 (1). Цифровой PICTURE — P находится между литерами 9. PICTU- RE заменяется на 9(1). ILA 20741-D COMPILER ERROR — MINOR CODE FOR RENAMES ENTRY IS ILLEGAL. Ошибка. транслятора — младший код для статьи RENAMES недопустим. ILA 2075I-G NUMERIC PICTURE — DIGIT LENGTH GT 18. PICTURE REPLACED BY 9(1). Цифровой PICTURE — длина цифрового данного больше 18. PICTURE заменяется на 9(1). ILA 20761-С NUMERIC PICTURE — DIGIT LENGTH + SCALE GT 18. PICTURE REPLACED BY 9(1). Цифровой PICTURE г-длина цифрового данного, включая масштабные позиции, больше 18. PICTURE заменяется на 9(1). ILA 2077I-C EXTERNAL FLOATING-POINT PICTURE — USAGE NOT DISPLAY. PICTURE CHANGED TO 9. Внешний с плавающей точкой PICTURE — USAGE не DISPLAY. PICTURE заменяется на 9. ILA 20781-W EXTERNAL FLOATING-POINT PICTURE - MORE THAN 1 SIGN. CHANGED TO 1. Внешний с плавающей точкой PICTURE— больше одного знака.' Заменяется на 1. ILA 20791-C EXTERNAL FLOATING-POINT PICTURE — SIGN IN ILLE- GAL POSITION. PICTURE CHANGED TO +9. E+ 99. Внешний с плавающей точкой PICTURE — знак в недопустимой позиции. PICTURE заменяется на 4-9. Е 4- 99. ILA 20801-C EXTERNAL FLOATING-POINT PICTURE — SIGN MISSING. ASSUME MINUS SIGN. Внешний с плавающей точкой PICTURE — пропущен знак. Предлагается знак минус. ILA 20811-C EXTERNAL FLOATING-POINT PICTURE — REQUIRED CHA- RACTER BEFORE EXPONENT MISSING. PICTURE CHANGED TO+9.E+99. Внешний с плавающей точкой PICTURE— пропущена литера, требуемая перед показателем степени, PICTURE заменяется на 4-9. Е 4- 99. , ILA 20821-W EXTERNAL FLOATING-POINT PICTURE — NO DECIMAL PO- INT IN MANTISSA. ASSUME IMPLIED V. Внешний с плавающей точкой PICTURE — нет десятичной точки в мантиссе. Предполагается неявная V. ILA 20831-C EXTERNAL FLOATING-POINT PICTURE — MANTISSA LENGTH GT 16. PICTURE CHANGED TO 4-9. E-f- 99. , Внешний с плавающей точкой PICTURE — длина мантиссы боль- ше 16. PICTURE заменяется на+9. Е4- 99. ILA 20841-C EXTERNAL FLOATING-POINT PICTURE — TOTAL LENGTH GT 22. PICTURE CHANGED TO+9. E +99. * ’ < = Внешний с плавающей точкой PICTUR Eобщая длина боль- ше 22. PICTURE заменяется на 4"9. Е + 99. 103
ILA 20851-C ILA 20861-C ILA 20891-C ILA 20901-C ILA 20911-C ILA 2092 ЬС ILA 20931-C ILA 2094 ЬС ILA 20961-C ILA 20971-C I ILA 20981- C ILA 2099ЬС ILA 2100 LC ILA 2101I-C EXTERNAL FLOATING-POINT PICTURE — EXPONENT LENGTH NOT 2 DIGITS. ASSUME 2 DIGITS. Внешний с плавающей точкой PICTUREдлина показателя степени не 2 цифры. Предполагается 2 цифры. NUMERIC EDITED PICTURE — TWO FIXED CURRENCY SIGNS, +, — OR FIXED AND FLOATING CURRENCY SIGN. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE —два фиксированных зна- ка денежной единицы, +, — или фиксированный и плавающий знак денежной единицы. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — 9, Z OR * PRECEDES FLOA- TING STRING. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE—9, Z или * предшеству- ет плавающей строке. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — Р IN ILLEGAL POSITION. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — P в недопустимой по- зиции. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — TWO DIFFERENT FLOATING STRING CHARACTERS. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — две разные литеры пла- вающей вставки. PICTURE заменяется 9(1). NUMERIC EDITED PICTURE — Z AND * IN PICTURE. PICTURE REPLACED BYK 9(1). Цифровой редактируемый PICTURE — Z и * в PICTURE. PIC- TURE заменяется на 9(1). NUMERIC EDITED PICTURE —9 PRECEDES * OR Z. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE —9 предшествует * или2. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — FLOATING STRING PRE- CEDES * OR Z. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — плавающая строка пред- шествует * или Z. PICTURE заменяется на'9(1). DECIMAL POINT MAY ONLY APPEAR ONCE IN A PICTURE CHARACTER STRING. PICTURE REPLACED BY 9(1). Десятичная точка может появиться только один раз в строке- литер PICTURE. PICTURE заменяется па 9(1). J NUMERIC, EDITED PICTURE — DECIMAL POINT OR V CONTRADICTORY TO P. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — десятичная точка или V противоречит Р. PICTURE заменяется на 9(1). INDEXED BY AND-OR KEY CLAUSE IS ILLEGAL FOR ITEM SUBORDINATE TO GROUP THAT HAS OCCURS BUT NO IN- DEXED BY CLAUSE. CLAUSE IGNORED. Фраза INDEXED BY и (или) KEY недопустима для данного, подчиненного группе, которая имеет фразу OCCURS, но не имеет фразы INDEXED BY. Фраза игнорируется. NUMERIC EDITED PICTURE —CR OR DB AND SIGN BOTH USED. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — CR или DB и знак ис- пользуются одновременно, PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — CR OR DB NOT LAST TWO CHARACTERS IN PICTURE. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE-г-CR или DB не послед- ние две, литеры в PICTURE. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — SIGN IS NOT FIRST OR LAST CHARACTER IN PICTURE. PICTURE REPLACED BY 9(l)j Цифровой редактируемый PICTURE— знак не является первой или последней литерой в PICTURE. PICTURE заменяется на 9(1)- 104
ILA 2102I-C ILA 21031-C ILA 2104I-C ILA 2105I-E ILA 2106I-E ILA 21071-W ILA 21081-E ILA 21Ш1-С ILA 21131-W ILA 2114I-E ILA 2115I-E ILA 2116I-E ILA 2117I-E ILA 21181-C ILA 21191-E NUMERIC EDITED PICTURE — NUMERIC CHARACTERS. AFTER DECIMAL POINT ARE NOT ТЙЕ SAME.’ RICTURE REPLACED. BY 9(1). Цифровой редактируемый PICTURE — цифровые литеры после десятичной точки не такие же. PICTURE, заменяется на 9(1:); NUMERIC EDITED PICTURE— TOTAL. LENGTH GT 127. PICTURE REPLACED BY 9(1). . / Цифровой редактируемый PICTURE —общая длина больше 127. PICTURE заменяется на 9(1). NUMERIC EDITED PICTURE — NUMERIC LENGTH GT 18. PICTURE REPLACED BY 9(1). Цифровой редактируемый PICTURE — количество цифр боль- ше 18. PICTURE заменяется на 9(1). ONLY ONE KEY MAY BE SPECIFIED IF THE SUBJECT OF TABLE IS A KEY. REST OF KEY DISCARDED. Только один ключ может быть указан, если субъект таблицы яв- ляется ключом. Остальные ключи пропускаются. THE RENAMES CLAUSE MUST BE ТНД LAST ENTRY IN A LOGICAL RECORD. SKIPPING TO NEXT LEVEL,/ SECTION OR DIVISION; Фраза RENAMES должна быть в последней статье описания записи. Пропуск до следующего-уровня, секции или раздела. NUMERIC EDITED PICTURE— USAGE NOT DISPLAYS PICTURE CHANGED TO 9. Цифровой редактируемый^ PICTURE —USAGE не DISPLAY PICTURE заменяется на 9; KEYS IGNORED FOR ITEM WITH NO INDEXED BY CLAUSE. Ключи для данного без фразы INDEXED BY игнорируются. APPLY WRITE-ONLY VALID ONLY FOR VARIABLE BLOCKED RECORDS CLAUSE. IGNORED. APPLY WRITE-ONLY допустима только, для блокированных записей переменного формата. Фраза; игнорируется. ITEM WITH USAGE OF COMPUTATIONAL-1 OR COMPU- TATIONAL-2 HAS PICTURE CLAUSE. CLAUSE IGNORED- DaHHoeic USAGE COMPUTATIONAL-1* идагCOMPUTATIONAL-2 имеет фразу PICTURE. Фраза игнорируется. ONLY THE SYNCHRONIZED- CLAUSE IS ALLOWED FOR A USAGE JS INDEX ITEM. CLAUSE IGNORED. Только фраза SYNCHRONIZED допустима для данного с USAGE IS INDEXVФраза игнорируется. LENGTH OF VARIABLE GROUP GT,. 32K. ACCEPTED AS WRITTEN,. < Л Длина переменной группы больше 32К. Воспринимается, как написано. . ? FIXED LENGTH GROUP ITEM IN. WORDING-STORAGE’ OR linkage section is gt i3i к: : t Групповое данное фиксированной длины в секции рабочей па- мяти или связи больше 131 К. INVALID NUMERIC EDITED CHARACTER. PICTURE CHAN- GED TO 9. Недопустима- цифровая редактирующая лидера. PICTURE за- меняется на 9. ' ’ LENGTH OF REDEFINES SUBJECT GREATER THAN LENGTH OF REDEFINES OBJECT. SUBJECT LENGTH USED. Длина субъекта REDEFINES больше длины объекта REDEFI- NES. Используется длина субъекта. VALUE CLAUSE SPECIFIED FOR AN ITEM.IN A REDEFINES group: clause ignored/ Фраза VALUE указана для? данного в. группе REDEFINES, Фраза игнорируется. 105
ILA ?i20I.E, I 1 • . ILA 21211-W ILA 21221-E ILA 21231-W ILA 21241-E ILA 212SI-W ILA 21261-C ILA 21271-C ILA 21281-C ILA 21291-C ILA 21301-E ILA 21321-E ILA 21331-C ILA 21341-C ILA 21351-C ILA 21361-E 106 OBJECT OF REDEFINES CLAUSE UNDEFINED OR ILLEGAL. CLAUSE IGNORED. , ' Объект фразы REDEFINES не определен или недопустим. Фраза игнорируется. SUBJECT OF REDEFINES IS VARIABLE LENGTH. Субъект REDEFINES переменной длины. . REDEFINES SUBJECT LEVEL NUMBER NOT EQUAL TO REDEFINES OBJECT LEVEL NUMBER OR OBJECT NOT IMMEDIATELY PRECEDING SUBJECT. CLAUSE IGNORED. Номер уровня субъекта REDEFINES не равен номеру уровня объекта REDEFINES или объект не предшествует субъекту непо- средственно. Фраза игнорируется. OBJECT OF REDEFINES IS SUBSCRIPTED. Объект REDEFINES индексируется. • OBJECT OF REDEFINES IS VARIABLE LENGTH GROUP ITEM. REDEFINES CLAUSE IGNORED. Объект REDEFINES — групповое данное переменной длины. Фраза REDEFINES игнорируется. VALUE CLAUSE TREATED AS COMMENTS FOR ITEMS IN FILE AND LINKAGE SECTIONS. Фраза VALUE для данных в секциях файлов и связи рассматри- вается как комментарий. VALUE CLAUSE LITERAL ТОО LONG. TRUNCATED TO PICTURE SIZE. Слишком длинный литерал во фразе VALUE. Усекается до размера PICTURE. NUMERIC VALUE CLAUSE SPECIFIED FOR GROUP ITEM. CLAUSE IGNORED. Для группового данного определено числовое VALUE. Фраза игнорируется. VALUE CLAUSE LITERAL DOES NOT CONFORM TO PICTU- RE. CHANGED TO BLANKS. Литерал во фразе VALUE не соответствует PICTURE. Заменя- ется на пробелы. VALUE CLAUSE LITERAL DOES NOT CONFORM TO PIC- TURE. CHANGED TO ZERO. Литерал во фразе VALUE не соответствует PICTURE. Заме- няется на нуль. ITEM CANNOT HAVE VALUE CLAUSE. CLAUSE IGNORED. Данное не может иметь фразу VALUE. Фраза игнорируется. RECORD KEY LENGTH GREATER THAN 255 BYTES. ACCEP- TED AS WRITTEN. Длина RECORD KEY больше 255 байтов, Воспринимается, как написано. LABEL RECORDS CLAUSE INVALID OR MISSING. ***** ASSUMED. Ф'раза LABEL RECORDS неправильна или отсутствует. Предпо- лагается *****. VALUE FOR SCALINGCHARACTER SHOULD BE ZERO. CHAN* GED TO ZERO. Значение для масштабной позиции должно быть нулем. Заменя- ется на нуль. RECORDS IN ISAM FILE CANNOT. BE VARIABLE LENGTH. ASSUMED FIXED AT MAXIMUM SIZE. Записи в индексно-последовательном файле не могут быть пере- менно й длины. Предполагаются фиксированные максимального В>а. . NAL KEY LENGTH FOR INDEXED FILE GREATER THAN 255 BYTES, KEY IGNORED. .. Длина NOMINAL KEY для индексного файда больше 255 байт: тбв. Ключ игнорируется.
ILA 21371-E THEjOBJE€T OF THE RENAMES THRU CLAUSES IS SUBOR-. DINATE TO THE SUBJECT. STATEMENT DISCARDED. Объект фразы RENAMES THRU подчйнен субъекту. Оператор / ’ ’ пропускается. \ ' ILA 21391-W APPLY WRITE-VERIFY, VALID ONLY FOR MASS STORAGE ’ : DEVICES. STATEMENT DISCARDED. APPLY WRITE-VERIFY допустима только: для дисков. .One-, ; ратор пропускается. ILA 2140 I-E VALUE CLAUSE SPECIFIED ON BOTH GROUP AND ELEMEN- TARY ITEM OR ON SUBORDINATE GROUP. SECOND. ITEM’S VALUE CLAUSE IGNORED. Фраза VALUE указана для группы и элементарного данного или для подчиненной группы. Фраза VALUE для второго данного.. игнорируется. ILA 2141 I-C LENGTH OF LITERAL IS MORE OR LESS THAN LENGTH OF ' GROUP. LENGTH OF LITERAL ASSUMED. Длина литерала больше или меньше длины группы. Предполага- ется длина литерала. ILA 21421-W ALPHABETIC OR ALPHANUMERIC ITEM HAS ILLEGAL USAGE. PICTURE CHANGED TO 9. Буквенное или буквенно-цифровое данное имеет недопустимую ф^азу USAGE. PICTURE заменяется на 9. , ILA 2144I-C NUMERIC PICTURE —’ MORE THAN ONE V OR S: ASSUMED ONE. . - ' Цифровой PICTURE — более одной V или S. Предполагается одна. ILA 2145ЬЕ ALPHABETIC OR ALPHANUMERIC ITEM LENGTH GREATER THAN 32 767. TRUCATED TO "32 767. Длина буквенного или буквенно-цифрового данного больше 32 767. Усекается до 32 767. ILA 21461-W RECORD CONTAINS DISAGREES WITH COMPUTED МАХЬ Л' MUM. USING COMPUTED MAXIMUM. k' ; RECORD CONTAINS не соответствует вычисленному максимуму. : Используется вычисленный максимум. ILA 21471-W BLOCK CONTAINS CLAUSE FOR UNIT-RECORD DEVICE IS INVALID. CLAUSE IGNORED. Фраза BLOCK CONTAINS для устройства одиночных записей недействительна. Фраза игнорируется. ILA 21481-W ON AN 01 (77) COPY LIBRARY-NAME CLAUSE, LIBRARY DID NOT HAVE AN 01 (77) AS FIRST CARD: Фраза COPY библйотечное-ймя на, уровне 01 (77), а в библиотеке первой картой не является 0Г(77). ILA 2149 I-E VALUE CLAUSE SPECIFIED FOR ITEM WITH OCCURS OR FOR ITEM SUBORDINATE TO AN ITEM WITH OCCURS. CLAUSE IGNORED. Фраза VALUE указана для данного c OCCURS или для данного, подчиненного данному х OCCURS. Фраза игнорируется. ILA 21501-Е VALUE CLAUSE SPECIFIED FOR ITEM IN VARIABLE LENGTH PORTION OF A WORKING-STORAGE RECORD. CLAUSE IGNORED., Фраза VALUE указана для данного в переменной части записи из раббчей-'памяти. Фраза игнорируется. ILA 2151 I-C ELEMENTARY ITEMS NOT. INTERNAL FLOATING-POINT MUST HAVE PICTURE, PICTURE ASSUMED 9. Элементарные данные, не являющиеся внутренними с плавающей точкой, должны иметь PICTURE. Предполагается PICTURE 9. 1LA 21521-D COMPILER ERROR-PHASE 2 INPUT UNRECOGNIZABLE. SKIPPING TO NEXT PHASE. , . Ошибка транслятора — не опознана входная информация фа- зы 2. Переход к следующей фазе. ILA 2153I-C ‘ APPLY CYL-OVERFLOW VALID ONLY FOR INDEXED FI- w
ILA 21541-C ILA 21561-W ILA 21571-W ILA 21581-D ILA .21591-C ILA 21601-E ILA 2175I-C ILA 21761-C ILA 21771-W ILA 21781-E ILA 21791-E ILA 21801-E ILA 21811-C ILA 2182I-B 108 LES. CLAUSE IGNORED. APPLY CYL-OVERFLOW допустима только для индексных файлов. Фраза ^игнорируется. THE AREA BEING REDEFINES IS NOT IMMEDIATELY PRE- CEDING THE ENTRY WHICH R EDEFINES IT OR THE LEVEL NUMBERS OF JHE SUBJECT AND OBJECT OF THE REDE- FINES ARENOT THE SAME. THE OBJECT OF THE REDE- FINES IS ASSUMED TO BE THE LAST ENTRY WITH SAME LEVEL NUMBER AS SUBJECT OF REDEFINES. Переопределяемая область не предшествует непосредственно статье, которая ее переопределяет, или номера уровней субъекта и объекта REDEFINES неодинаковы. Предполагается, что объ- ектом REDEFINES является последняя статья с тем же номером уровня, что и у субъекта REDEFINES. PICTURE DOES NOT CONTAIN A SIGN. SIGN DROPPED FROM VALUE CLAUSE LITERAL. PICTURE не содержит знака. Знак удаляется из литерала фра- зы VALUE. RESERVE CLAUSE TREATED AS COMMENTS FOR . THIS FILE ORGANIZATION. Фраза RESERVE рассматривается как комментарий для этой организации файла. t OCCURS DEPENDING ON VARIABLE IS IN VARIABLE POR- TION OF A RECORD. PROGRAM INTERRUPT WILL OCCUR. Переменная OCCURS DEPENDING ON находится в переменной части записи. Произойдет прерывание программы. OBJECT OF REDEFINES CLAUSE NOT DEFINED. PREVIOUS 01 ASSUMED TO BE OBJECT. Объект фразы REDEFINES не определен. Предполагается, что объектом является предыдущая 01. • THE OBJECT OF THE RENAMES OR RENAMES THRU CLAU- SES CANNOT CONTAIN AN OCCURS OR OCCURS DEPEND- ING ON CLAUSE NOR MAY IT BE SUBORDINATE TO AN ITEM THAT HAS ONE OF THESE CLAUSES. STATEMENT DISCARDED. Объект фразы RENAMES или RENAMES THRU не может со- держать фразу OCCURS или OCCURS DEPENDING ON или быть подчиненным данному, которое имеет одну из. этих фраз. Оператор пропускается. TRACK-AREA EXCEEDS 'AND IS REDUCED TO 32 767 BYTES. TRACK-AREA превышает 32 767‘байтов и уменьшается до 32 767. MULTIPLE FILE ТАРЕ CLAUSE APPLIES ONLY TO TAPE FILES.,CLAUSE IGNORED. Фраза MULTIPLE FILE TAPE применима только для файлов на ленте. Фраза игнорируется. ZERO SUPPRESSION CHARACTER WILL OVERRIDE BLANK WHEN ZERO CLAUSE. CLAUSE IGNORED. Литера замещения нулей подавляет фразу BLANK WHEN ZERO. Фраза игнорируется: RECORD KEY IS NOT WITHIN FILE RECORD. RECORD KEY нев записи файла. RECORD KEY IS NOT FIXED LENGTH. -RECORD KEY не фиксированной длины. RECORD -KEY FOR UNBLOCKED FILE INCLUDES FIRST BYTE OF RECORD. RECORD KEY для неблокированного файла включает, первый байт записи. TRACK-AREA VALID ONLY FOR ADD FUNCTION. CLAUSE IGNORED. TRACK-AREA допустима только для функции добавления. FILE MAY BE OPENED-OUTPUT ONLY. FILE IGNORED
► ILA 21831-W ILA 2184I-E i | ILA 2185 I-E ILA 2186 I-C ILA 2187I-E ILA 2188I-C ILA 2190I-W ILA 2191 I-C ILA 2192I-E ILA 2193I-C ILA 2194I-C ILA 2196I-C ILA 2199 I-C ILA 22001-E ILA 2201 I-E . Файл может быть открыт только < как OUTPUT. Файл игнори- руется. NO LEVEL 01 FOR FD OR SD. Нет уровня 01 для FD или SD. ' VALUE CLAUSE LITERAL DOES NOT CONFORM TO PICTU- RE. CLAUSE IGNORED. Литерал фразы VALUE не соответствует PICTURE. Фраза иг- норируется. : > . - DATA-NAME-3 EITHER PRECEDES DATA-NAME-2 OR IS DATA-NAME-2 IN THE RENAMES THRU CLAUSE. STATE- MENT DISCARDED. Имя-данного;3 или предшествует имени-данного-2 или является именем-данного-2 во фразе RENAMES THRU. Оператор пропус- кается. PICTURE DUPLICATION FACTOR IS ZERO. ASSUMING ONE OCCURRENCE OF PICTURE CHARACTER. Коэффициент повторения в PICTURE равен нулю. Предпола-, гается одно появление литеры в PICTURE; OBJECT OF RENAMES CLAUSE OR RENAMES THRU CLAUSE IS NOT IN THE SAME LOGICAL!RECORD. STATEMENT DIS- CARDED. Объект фразы RENAMES или фразы RENAMES THRU невид- ной и той же логической записи. Оператор пропускается. EXTERNAL’FLOATING-POINT PICTURE ILLEGAL WHEN CURRENCY SIGN IS E. PICTURE CHANGED TO 9. Внешний jc плавающей-точкой PICTURE.’недопустим,- когда CURRENCY, SIGN IS E. PICTURE заменяется на 9. PICTURE CLAUSE IS SIGNED. VALUE CLAUSE UNSIGNED. ASSUMED POSITIVE. Фраза PICTURE co-знаком, фраза VALUE без знака. Предпола- гается положительный. THE SYNCHRONIZED CLAUSE SHOULD NOT BE SPECIFIED WHEN 88S ARE UNDER GROUP. STATEMENT ACCEPTED AS WRITTEN. Фраза SYNCHRONIZED не должна указываться, когда в группе . есть 88. Оператор! воспринимается, как -написан. ONLY USAGE IS DISPLAY SHOULD BE SPECIFIED WHEN VALUE CLAUSE, IS ASSOCIATED WITH A GROUP ITEM. VALUE CLAUSE DROPPED. Только USAGE IS DISPLAY: может быть! указана, когда фраза VALUE относится к групповому данному. Фраза VALUE игно- рируется. ‘ LITERAL-1 IS GREATER THAN OR EQUAL TO LITERAL-2 IN THE VALUETHRU CLAUSE. Литерал-1 больше или равен литералу-2 во фразе VALUE THRU. CHARACTERS OPTION IN BLOCK CONTAINS CLAUSE NOT LEGAL FOR INDEXED "FILE. CLAUSE IGNORED. Вариант CHARACTERSs во фразе BLOCK CONTAINS недопус- тим для индексного «файла. Фраза .игнорируется. NO VALUE CLAUSE GIVEN FOR CONDITION NAME; VALUE ASSUMED ZERO OR SPACES DEPENDING ON PICTURE. Нет фразы VALUE для условного имени. Предполагается VALUE ZERO нли SPACES в зависимости*от PICTURE. TRACK-AREA ТОО SMALL. CLAUSE IGNORED. TRACK-AREA слишком мала^ Фраза игнорируется. ТАРЕ RECORD MUST CONTAIN AT LEAST 18 CHARACTERS. FILE IGNORED. Запись на ленте должна содержать не менее 18 символов. Файл игнорируется. NOMINAL KEY OR’CORE-INDEX DATA-NAME MUST BE DEFINED IN' WORKING-STORAGE SECTION. W09
, , . Имя-данного в NOMINAL^KEY или CORE-INDEX дрлжнр быть определено в секции рабочей-памяти. ILA 2202I-E NOMINAL KEY OR CORE-INDEX DATA-^AME MUST BE DEFINED IN THE FIXED PORTION QF RECORD. A Имя-данного в NOMINAL KEY или CORE-INDEX должнохбыть определено в фиксированной части запйси. \ ILA 2203I-E INVALID DEVICE TYPE FOR SD. DISK ASSUMED. Неправильный тип устройства для SD. Предполагается диск. ILA 2204 I-E RECORD KEY AND NOMINAL KEY MUST BE SAME LENGTH. RECORD KEY и NOMINAL KEY должны быть одинаковой длины. ILA 22051-Е ORGANIZATION ILLEGAL FOR ACCESS. FD IGNORED. Недопустимая для данного доступа организация. FD игнори- руется. ILE 22061-Е REWRITE ILLEGAL FOR ORGANIZATION. STATEMENT IGNORED. REWRITE недопустим для организации. Оператор игнорируется. ILA 2207I-C APPLY CORE-INDEX LEGAL ONLY FOR INDEXED ORGANI- ZATION. CLAUSE IGNORED. APPLY CORE-INDEX допустима только для индексной органи- зации. Фраза игнорируется. ILA 22081-Е ***** KEY INVALID, UNDEFINED, OR NOT UNIQUE. CLAUSE IGNORED. Ключ ***** неправилен, . не определен или неуникален. Фраза игнорируется. ILA 22091-C CORE-INDEX DATA-NAME INVALID, UNDEFINED, OR NOT UNIQUE. CLAUSE IGNORED. Имя-данного в CORE-INDEX неправильно, не определено или неуникально. Фраза игнорируется. ILA 22101 Е ACTUAL KEY MUST BE GT THAN 8 AND LESS THAN 264 BYTES. ACTUAL KEY должен быть больше 8 и меньше 264 байтов. ILA22111-C CYLINDER OVERFLOW ТОО LARGE. CLAUSE IGNORED. Слишком большая область переполнения цилиндра. Фраза иг- норируется. ILA 2212I-C INVALID ALPHANUMERIC EDITED CHARACTER. ACCEPTED AS WRITTEN. Недопустимая буквенно-цифровая редактируемая литера. Вос- принимается, как написано. ILA 22131-W USER LABEL RECORD NOT DESCRIBED UNDER FD. USER LABEL IGNORED. Метка пользователя не описана в FD. Метка пользователе игно- рируется. ILA 30011-Е . ***** NOT DEFINED. ***. * **** не определено; ***. ILA 30021-Е ***** NOT UNIQUE. ***. * **** неуникально. ***. ILA 30031-Е HIGHEST LEVEL QUALIFIER ***** NOT DEFINED. **\ Уточнитель высшего уровня ***** не определен. ***. ILA 30041-W QUALIFYING NAME ***** NOT UNIQUE. DISCARDED. Уточняющее имя ***** нёуникально. Пропускается. ILA 30051-Е ***** NOT A VALID QUALIFIER. ***. * **** неправильный уточнитель. ***. ILA 30061-Е ***** NOT DEFINED AS PART OF ****** ♦♦*. * **** не определено как часть *****. **♦, ILA 30071-W ***** NOT UNIQUELY QUALIFIED BY '*♦***. DISCARDED. J ***** неуникально уточняется. посредством ****** Игнориру- ется. ’ ILA 30081-Е ***** NOT VALID AS IDENTIFIER-1 IN ***** CORRESPOND- ING STATEMENT. STATEMENT DISCARDED. * **** неправилен в качестве идентификатора-1 в операторе ПО
ILA 30091-Е ILA 30101-W ILA 30111-W ILA 30121-D ILA 30131-D ILA 30141-D ILA 30161-D ILA 30171-D ILA 30181-E ILA 30191- E ILA 30201-E ILA 30211-C ILA 30221-E ILA 30231-W ILA 30241-E ILA 30251-E ILA 30261-E ILA 30271-W .***«* CORRESPONDING.(Оператор пропускается. * **** NOT VALID AS IDENTIFIER-2 IN ***** CORRESPON- DING STATEMENT.'DISCARDED. . , > ***** неправиленвкачестве идентификатора-2 в операторе ***** CORRESPONDING. Пропускается. SUPERFLUOUS ’ТО’ IGNORED IN ***** CORRESPONDING STATEMENT. . , ...... . , Лишнее ’TO’ игнорируется в операторе ***** CORRESPON- , DING.. NO CORRESPONDENCE FOUND BETWEEN IDENTIFIER AND *****. He найдено соответствия между идентификатором и ***♦*, COMPILER ERROR-LAST ITEM REFERENCED BY ACCESS WAS ELEMENTARY ITEM. Ошибка транслятора — последнее данное, к которому обращались; по ACCESS, было элементарным. DICT PTR LESS THAN QVAR ENTRY FOR ELEMENTARY ITEM. . Словарный указатель меньше QVAR для элементарного данного. NO MATCH FOUND IN QVAR FOR ***** ELEMENTARY ITEM. He найдено соответствие в QVAR для элементарного данно- pQ***C* IMPOSSIBLE *»***. COMPILER ERROR. Невозможный *****. Ошибка транслятора. COMPILER ERROR. ***** MINOR CODE ILLEGAL. Ошибка транслятора. Младший код ***** недопустим.,. . SPECIAL REGISTERS TIME-OF-DAY OR CURRENT-DATE MAY ONLY BE USED IN THE MOVE STATEMENT. STATEMENT DISCARDED. Специальные регистры TIME-OF-DAY или CURRENT-DATE могут использоваться только в операторе MOVE. Оператор пропускается. ILLEGAL LEVELFOR **•**. Недопустимый,уровень для *****. REPORT NAME ILLEGAL AS USED. DISCARDED. Недопустимое । использование имени-отчета., Пропускается. .....Not unique in its group, discarded. * **** неуникально в. своей группе. Пропускается. * **** NOT VALID AS IDENTIFIER-L IN SEARCH STATE- MENT. STATEMENT DISCARDED. * **** неправилен в качестве идентификатора-1 в операторе SEARCH. Оператор пропускается. ITEMS CONTAINING THE USAGE IS INDEX. REDEFINES, RENAMES, OR OCCURS CLAUSES DO NOT QUALIFY AS . COR- RESPONDING IDENTIFIERS. Данные, содержащие фразы USAGE IS INDEX, REDEFINES, RENAMES или OCCURS, не квалифицируются как соответствую- щие- идентификаторы. NO keys were Specified for *****. statement dis- carded. He были указаны ключи для *****. Оператор пропускается., AN ERROR WAS EETECTED PROCESSING THE KEY FOR «***♦ *** При обработке ключа для ***** была.обнаружена ошибка. ***. IDENTIFIER OMMITTED IN ***** CORRESPONDING STA- TEMENT. . Идентификатор пропущен в операторе ***** CORRESPONDING. DATA-NAME UNDER LABEL RECORD IS NON-UNIQUE. LAST DATA DESCRIPTION OF ***** ASSUMED. ,, . Имя-данного в LABEL RECORD неуникально. Предполагается последнее описание данного **♦**.
ILA 40011-C OUTCOME OF A PRECEDING CONDITION LEADS TO NON- EXISTENT’ NEXT SENTENCE’, ’GOBACK’ INSERTED. Выход из, предыдущего условия ведет к несуществующему ’NEXT SENTENCE*. Вставляется ’GOBACK’. ILA 4002I-E ***** STATEMENT INCOMPLETE. STATEMENT DISCARDED. Оператор ***** не закончен. Оператор пропускается. ILA 4003I-E EXPECTING NEW STATEMENT. FOUND *****. DELETING TILL NEXT VERB OR PROCEDURE-NAME. Ожидается новый оператор. Найден ****♦, Удаляются все элементы до следующего глагола или имени-процедуры. ILA 40041-Е ***** ***** IS ILLEGALLY USED IN ***** STATEMENT. DISCARDED. ***** ***** недопустимо используется в операторе *♦***, Про- пускается. ILA 40051-Е ***** AND ***** VIOLATE RULE ABOUT LENGTH OF TRANSFORM OPERANDS. STATEMENT DISCARDED. ***** и ***** нарушают правило о длине, операндов TRANS- FORM. Оператор пропускается. ILA 4006I-C ***** STATEMENT CONTAINS UNPAIRED LEFT PAREN- THESIS. OUTERMOST IGNORED. - / Оператор ***** содержит непарную левую скобку. Самая внеш- няя игнорируется. ILA 4007I-C ***** MISSING OR MISPLACED IN ***** STATEMENT. ASSUMED IN REQUIR ED POSITION. В операторе ***** пропущено или неправильно расположено *****. Предполагается в требуемой позиции. ILA 40081-W SUPERFLUOUS ***** FOUND1 JN ****? STATEMENT; IGNO- RED. : Лишнее ***** найдено в операторе ****** Игнорируется. ILA 40091-Е EXAMINE STATEMENT REQUIRES FIGURATIVE CONS- TANT, SINGLE NONNUMERIC LITERAL; OR 1-DIGIT UN- SIGNED NUMERIC INTEGRAL LITERAL. FOUND ****** STATEMENT-DISCARDED. Оператор EXAMINE требует фигуральную константу, нечисло- вой литерал из одной литеры- или целый числовой литерал • из , одной цифры и без знака. Найден *****. Оператор пропус- кается. ’ " ILA 40101-C ***** STATEMENT CONTAINS UNPAIRED RIGHT PAREN- THESIS. OUTERMOST IGNORED. / Оператор ***** содержит непарную правую скобку. Самая внеш- няя игнорируется. ILA 40111-Е ***** IS NOT AN. ALLOWABLE CHARACTER FOR *****. STATEMENT; DISCARD ED. , ***** является недопустимой литерой для *****, Оператор пропускается. ILA 40121-Е COMPARISON BETWEEN TWO LITERALS IS ILLEGAL. TEST DISCARDED. Сравнение двух литералов недопустимо. Проверка пропус- кается. ILA 40131-С RELATIONAL MISSING IN IF STATEMENT. ’EQUAL’ ASSU- . t MED. . 2 В операторе IF пропущен знак отношения. Предполагается ’EQUAL’. ILA 40141-Е EXAMINE STATEMENT REQUIRES IDENTIFIER WHOSE USAGE IS DISPLAY. FOUND ***** »****. STATEMENT DISCARDED. V, Оператор EXAMINE требует идентификатор, c USAGE IS DIS- PLAY. Найден ***** *****,. Оператор пропускается. ILA 4015I-E ’GO TO’. ILLEGAL UNLESS ALTERED. STATEMENT DIS- CARDED. 112
ILA 40161-Е ILA 40171-Е ILA 40181-Е ILA 40191-Е ILA 4020 I-C ILA 40211-W ILA 40221-W ILA 4023 I-E ILA 40241-E ILA 4025I-E ILA 4026 I-E ILA 4027 I-C ILA 4028I-C ILA 4029 I-E ILA 4030I-E ’GOTO’ недопустим, если для него не указан ALTER. Оператор пропускается. OPERAND OF ***** APPEARS IN WRONG SEGMENT OF PROGRAM. ACCEPT EDAS WRITTEN. , Операнд оператора ***** появляется в недопустимом сегменте ' программы. 'Воспринимается; как написано. ELSE UNMATCHED BY CONDITION IS DISCARDED. ELSE, не связанное с условием;-пропускается. SET STATEMENT HAS AN ILLEGAL OPERAND BEFORE ’TO’ OR INCOMPATIBLE OPERANDS. OPERAND BEFORE . ’TO’ DISCARDED. Оператор SET -имеет недопустимый .операнд перед ’ТО’ или не- совместимые операнды. Операнд перёд ’ТО’ пропускается. ***** ***** MAY NOT BE USED AS ARITHMETIC OPERAND IN ***** STATEMENT. ARBITRARILY SUBSTITUTING *»***. ***** ***** не может использоваться в качестве арифметичес- кого операнда в операторе *****. Заменяется на **»**. SIGN BEFORE ***** IS DISCARDED. -Знак перед ***** пропускается. . MINUSSIGN FOLLOWED BY SPACE ACCEPTED AS REVERS- ING SIGN OF FOLLOWING LITERAL. Знак минус, за которым следует пробел, воспринимается как реверсирующий знак -следующего литерала. < . . - EXIT MUST BE SIN GL-WORD PARAGRAPH PRECEDED BY A PROCEDURE-NAME. STATEMENT -DISCARDED. EXIT должен .быть .параграфом изодного слова, которому пред- шествует имя-процедуры. Оператор пропускается. STORE-FIELD WHEN USED IN COMPUTATION MUST-BE NUMERIC ITEM. OTHERWISE IT MUST '.BE NUMERIC EDIT- ED ITEM OR NUMERIC ITEM. FOUND...........»*»*. STATE- MENT DISCARDED. -Прле-запоминания, если используется в вычислениях, должно быть цифровым редактируемым,,или цифровым данным. Найде- но **»*» *»*,»• .Оператор пропускается. TWO ’ OPERANDS ARE REQUIRED BEFORE ’GIVING’. STATEMENT DISCARDED. Перед ’GIVING’ требуются два операнда. Оператор пропус- - кается. ' ’ ’ POSITIONING AND ADVANCING ILLEGALLY USED FOR SAME FILE. ADVANCING ASSUMED. . Использование‘POSITIONING й ADVANCING недопустимо для одного и того жефайла. Предполагается ADVANCING. ' * **** ***** IS ILLEGALLY'USED. IN ***** TEST. TEST DISCARDED. * **** ***** неД0пуСТИМ0 используется в проверке*****. Про- верка пропускается. ' RIGHT TERM OF A CONDITION MAY NOT BE NEGATED. NEGATION IS APPLIED TO THE RELATIONAL. Правый терм условия не может отрицаться. Отрицание относится' к знаку отношения'. ' TWO ’NOT’S’ IN SUCCESSION ILLEGAL. ACCEPTED AS CAN- CELLING EACH OTHER. Два последовательных ’NOT’ недопустимы. Воспринимаются как аннулирующие друг друга. * **** ***** may N0T be COMPARED WITH ***** •••••, TEST DISCARDED. - ' . * **** ***** не может сравниваться с ***** *»»»*. Проверка пропускается. FOUND ***»? AFTER CONDITION. EXPECT ’OR’, ’AND’, OR VERB TO IMMEDIATELY FOLLOW CONDITION. DELET- ING TILL ONE OF THESE IS FOUND. 113
ILA 40311-E ILA 40321-C ILA 4033ЬС ILA 40341-C ILA 40351-W ILA 40361-W ILA 4037I-E ILA 4038I-E ILA 4039I-E ILA 40401-E ILA 4041 I-E ILA 4042 I-E ILA 40431-W П,4 , Найдено ***** после условия. Ожидается OR, AND или глагол непосредственно за условием. Пропуск, пока не встретится один из перечисленных элементов.; г PROCEDURE-NAME NOT THAT OF A SINGLE GO PARAG- RAPH MAY ,NOT BE ALTERED. STATEMENT DISCARDED. Для процедуры, не являющейся параграфом из единственного GO, не может быть указан ALTER. Оператор пропускается. NO ACTION INDICATED IF PRECEDING CONDITION IS TRUE. NEXT SENTENCE ASSUMED. He указано никакого действия, если предшествующее условие истинно. Предполагается NEXT SENTENCE. PROCEDURE-NAME WHICH IS THE END-OF-RANGE OF A PERFORM STATEMENT MAY NOT BE ALTERED. STATE- MENT DISCARDED. ’ f Имя-процедуры, которое является концом области действия опе- ратора PERFORM, не может изменяться. Оператор пропуска- ется. GO DEPENDING ON MUST BE FOLLOWED BY INTEGRAL IDENTIFIER LESS THAN OR EQUAL TO 4 DIGITS IN , LENGTH. FOUND *****. STATEMENT DISCARDED. 3a GO DEPENDING ON4 должен следовать идентификатор целого, содержащего меньше 4 или 4 цифры.'Найден *****. Опе- ратор пропускается. NO MORE THAN 3 INDEX-NAMES OR IDENTIFIERS SHOULD BE VARIED IN PERFORM STATEMENT. ACCEPTED AS WRITTEN. He более 3 имен-индексов или идентификаторов могут изменяться в операторе PERFORM. Воспринимается, как написано. PERFORM RANGE IS FROM ***** ТО *****, WHICH.PRE- CEDES IT. ACCEPTED AS WRITTEN. Область действия PERFORM, от ***** до.. ♦♦♦♦♦, которое пред- шествует ему. Воспринимается, как написано. SYNTAX REQUIRES PROCEDURE-NAME ТО FOLLOW ’THRU’. FOUND ****».. **»'** OPTION DISCARDED. Синтаксис требует, чтобы за ’THRU’ следовало имя-процедуры. Найдено *****. Вариант ***** пропускается. VARYING OPTION REQUIRES INDEX^NAME OR IDEN- TIFIER. FOUND LITERAL. ARBITRARILY SUBSTITUTING ***** у Вариант VARYING требует имя-индекса или идентификатор. Найден литерал. Заменяется на *****. * **** ***** IN VARYING OR TIMES OPTION IS NOT NU- MERIC. ARBITRARILY SUBSTITUTING •****. * **** ***** в варианте VARYING или TIMES не является циф- ровым. Заменяется на *****. * **** FILE ***** may NOt BE OPENED ***** AND IS DISCARDED. * **** файл ***** не может быть открыт как ***** и пропус- кается.- . ' , SYNTAX REQUIRES ’INPUT’, ’OUTPUT’, OR ’I-O’ AFTER OPEN. FOUND *****. DELETING TILL ONE OF THESE IS FOUND. Синтаксис требует ’INPUT’, ’OUTPUT’ или ’I-O’ после OPEN. Найдено ****♦, Все пропускается, пока не встретится один из перечисленных элементов. SYNTAX REQUIRES FILE-NAME IN ***** STATEMENT. FOUND *****. DELETING TILL LEGAL ELEMENT FOUND. Синтаксис требует имя-файла в операторе *****. Найдено ****,*.. Удаляется, пока не будет найден допустимый элемент. ADVANCING AND POSITIONING ILLEGALY USED FOR SA- ME FILE. ACCEPTED AS WRITTEN,
' -' ' ' ADVANCING и POSITIONING недопустимо используются для 4 * одного и того же файла/Воспринимается, как написано. ILA 40441-C ***** ***** SHOULD NOT BE MOVED TO NUMERIC FIELD. SUBSTITUTING ZERO. y vh— , : ***** ***** не может быть помещен в цифровое поле. Заменя- ется на нуль. ILA 40451-Е CODE CLAUSE ILLEGAL FOR ON-LINE DEVICE. CLAUSE DELETED. " Фраза CODE недопустима для неавтономного устройства. Фраза удаляется. ILA 40471-Е WRITE ILLEGAL FOR LABEL RECORDS. STATEMENT DIS- CARDED. WRITE недопустим для записей меток. Оператор пропускается. ILA 40481-E USE VERB MAY NOT APPEAR EXCEPT IN DECLARATIVES SECTION. STATEMENT DISCARDED. Глагол USE не может появляться не в секции декларатив. Опе- ратор пропускается. ILA 40491-W INAPPROPRIATE OPTIONAL COBOL WORDS PRECEDING ***** IGNORED. Неподходящие необязательные слова КОБОЛа, предшествую- щие игнорируются. ILA 40501-Е SYNTAX REQUIRES *****. FOUND *****. STATEMENT DISCARDED. Синтаксис требует ****** Найден ****** Оператор пропускается. ILA 40521-Е ***** ***** MAY NOT BE TARGET FIELD FOR ***** ***** IN ***** STATEMENT AND IS DISCARDED. ********** не может быть принимающим полем для***** ***** в операторе ***** и пропускается. ILA 40541-Е SINTAX REQUIRES SORT-FILE-NAME. FOUND *****. STATEMENT DISCARDED. Синтаксис требует имя-сортируёмого-файла. Найдено ****** Оператор пропускается. . > ILA 4055I-C SORT SEQUENCE NOT SPECIFIED. ASCENDING ASSUMED. He указана последовательность сортировки. Предполагается • ‘ ASCENDING. . ILA 40561-Е SYNTAX REQUIRES *****. FOUND ****** DISCARDED. Синтаксис требует ****** Найден *****. Пропускается/ ILA 40571-Е , NUMBER OF SORT KEYS EXCEEDS MAXIMUM OR TOTAL KEY LENGTH EXCEEDS 256 BYTES. ***** DISCARDED. Количество ключей сортировки превышает максимум, или общая длина ключей превышает 256 байтов. ***** пропускается. ILA 40591-Е SORT-KEY MUST BE NON-SUBSCRIPTED OR NON-INDEXED FIXED-LENGTH DATA-NAME DEFINED UNDER AN SD. FOUND *♦***. DISCARDED. Ключ сортировки должен быть неиндексируемым именем-дан- ного фиксированной длины, определенным в SD. Найдейо ****** Пропускается. 1LA 4060I-C ***** IS NOT A,POSITIVE NUMERIC INTEGRAL LITERAL OF REQUIRED LENGTH. ***** OPTION DISCARDED. ***** не является положительным целым числовым либералом требуемой длины; Вариант ***** пропускается. ILA 40611-W NEITHER NAMED NOR CHANGED SPECIFIED. STATEMENT ACCEPTED. NAMED ASSUMED. He указан ни NAMED, ни CHANGED. Оператор воспринимается. Предполагается NAMED. ' TLA 40621-W ’NAMED CHANGED’ ACCEPTED AS ’CHANGED NAMED’. 1 . ’NAMED CHANGED’ воспринимается как 'CHANGED NAMED’. ILA 40631-W PREVIOUS DEBUG PACKETREFERSTOSAME PROCEDURE- ... NAME. CARD DELETED AND FOLLOWING STATEMENTS ATTACHED TO IMMEDIATELY PRECEDING PACKET. Предыдущий отладочный 'Пакет относится1 к тому же имени- TI5
\ процедуры. Карта удаляется; иг следующие операторы, пр исоеди- L . няются- к предыдущему пакету. 4 ILA, 4064 РЕ ***** ISaNOT A POSITIVE NUMERIC INTEGRAL-LITERAL' OF REQUIRED LENGTH; SUBSTITUTING *♦♦**. ****;* не. является положительным целым числовым литералом требуемой.длины. Заменяется на **♦**. ILA 40651-W NUMERIC LITERAL IN EXAMINE STATEMENT SHOULD BE; UNSIGNED. SIGN IGNORED. Числовой литерал в операторе EXAMINE.должен быть без знака. Знак игнорируется. ILA 40661-Е SYNTAX REQUIRES 01 LEVEL SDDATA-NAME IN RELEASE STATEMENT. FOUND ****** STATEMENT DISCARDED. Синтаксис, требует в операторе RELEASE имя-данного из SD ; с уровнем 0k-Найденог*****: Оператор пропускается. ILA 40671-W ALL CHARACTER SHOULD NOT BE USED AS LITERAL IN EXAMINE STATEMENT. ACCEPTED AS WRITTEN. ALL не может- использоваться в качестве литерала в операторе / EXAMINE:. Воспринимается-, как написан-. ILA 4068I-D COMPILER ERROR. PHASE 4TRYINGTGGETDATA ATTRI- BUTES FOR *♦♦**. Ошибка транслятора.. Фаза 4- пытается получить атрибуты дан- . • ' ных для *♦*♦♦%. у . ; ; : ILA 40691-C SYNTAX REQUIRES DEVICE-NAME;/FOUND ***** IN ***** - STATEMENT. SYSTEM UNIT ASSUMED. Синтаксис требует имя-устройства. Найдено ♦ ****«-& операторе Предполагается! системное устройство. ILA 40701-Е. ***** STATEMENT. REQUIRES IDENTIFIER WHOSE USAGE IS DISPLAY. FOUND SPECIAL. REGISTER. STATEMENT DISCARDED. В операторе * * * ** требуется/ идентификатор, описанный с USAGE IS DISPLAY. Найден спениальный регистр/. Оператор пропускает- ся. ILA 407ЬЬВ ***** EXCEEDS LEGAL LENGTH'. DISCARDED. 1 Длина ***** превышает допустимую^ Пропускается. ILA 40721-W EXIT FROM ***** PROCEDURE ASSUMED BEFORE ****** Выходиз процедуры-♦♦***'предполагается’перед ♦****. ILA 4078UW ***** SHOULD NOT APPEAR IN DECLARATIVE SECTION, i ACCEPTED AS WRITTEN. - *****: не может; появляться декларативной секции. Восприни- мается, как написано. ь . ILA 4074-ЬД STATEMENT CONTAINS FLOATING-POINT DATA ITEMS. л « REMAINDER IGNORED. Оператор содержит, данные с плавающей'точкой, REMAINDER игнорируется^ ILA 40751-C 'NEXT SENTENCE’ ILLEGAL AND DISCARDED. BOTH ***** AND NOT *W* WILL CAUSE EXECUTION OF NEXT VERB. *NEXT SENTENCE’ недопустимо* и пропускается. И ***** и не ***** вызывает выполнение: следующего глагола. ILA 40761-Е ***** RAQUIRES ***** LEVELS OF SUBSCRIPTING OF INDEXING. SUBSTITUTING. FIRST OCCURRENCE OF ****** ***** требует ***** уровней индексирования. Заменяется на первое: повторение > ****** ILA 4077Г-Е ***** MAY NOT BE USED AS A SUBSCRIPT SINCE IT RE- QUIRES SUBSCRIPTING ITSELF. SUBSTITUTING FIRST OCCURRENCE OF ***** , ^ ***** не может использоваться’в качестве индексам так как оно . само требует индексирования; Заменяется на первое повторе- Jj Jjg н» я* -I. - 1LA 40781-Е SUBSCRIPT, MUST BE- INTEGRAL DATA-NAME OR LITERAL. ' ‘ FOUND NON-INTEGER *»***., SUBSTITUTING FIRST OC- CURRENCE OF *****.,. 116
ILA 40791-Е ILA 40801-W ILA 4081 I-C ILA 4082I-E ILA 4083 I-E ILA 4084I-C ILA 4085I-E ILA 4086 I-C ILA 4087I-E ILA 40881-D ILA 40891-W ILA 4090 I-E ILA 4091 I-E ILA 40921-W ILA 4094I-W Индекс должен быть именем целого данного или литералом. Най- дено нецелое ****** Заменяется на первое повторение ****** ***** FOUND AMONG SUBSCRIPTS. SUBSTITUTING FIRST OCCURRENCE OF ♦****. Среди индексов найден ****** Заменяется на первое повторение ***** , DEBUG CARD MAY NOT REFER TO A PROCEDURE-NAME WHICH ITSELF IS IN DEBUG PACKET. CARD DELETED AND FOLLOWING STATEMENTS ATTACHED TO IMME- DIATELY PRECEDING PACKET. Карта DEBUG не может относиться к имени-процедуры, которое само находится в отладочном пакете. Карта удаляется, а следую- щие операторы присоединяются к предыдущему пакету. * **** EXCEEDS ***** CHARACTERS. UP ТО 255 ACCEPTED. * **** превышает ***** литер. Воспринимается не более 255. * **** IS N0T DEFINED AS SUBSCRIPTED OR INDEXED. SUBSCRIPTS DISCARDED. ***** не определено как требующее индексирования. Индексы пропускаются. , j < OCCURS DEPENDING ON VARIABLE MUST BE INTEGRAL NONSUBSCRIPTED DATA-NAME. FOUND ****** ARBITRA- RILY SUBSTITUTING ****** Переменная OCCURS DEPENDING ON должна быть целым неиндексируемым именем-данного. Найдено *****. Заменяется на ***** . . ,. ILLOGICAL USE OF PARENTHESES ACCEPTED WITH DOUBTS AS TO MEANING. Нелогичное использование, скобок. RECORD DESCRIPTION FOR FILE.***** MISSING OR ILLE- GAL. STATEMENT DISCARDED. . Описание записи для файла ***** пропущено или неправильно. Оператор пропускается. . • • .....CONDITION USED WHERE ONLY IMPERATIVE STATE- MENTS ARE LEGAL MAY CAUSE ERRORS IN PROCESSING. Использование условия ***** там, где допускаются только по- велительные операторы, может вызвать ошибки при выполнении. ’END DECLARATIVES’ MISSING OR MISPLACED. PROGRAM CANNOT BE EXECUTED. ’END DECLARATIVES’ пропущен или неправильно размещен. Программа не может быть выполнена., COMPILER ERROR. L-C TEXT COUNT FIELD О. SKIPPING TO PHASE 5. Ошибка транслятора. Поле счетчика текста-10 нулевое. Переход к фазе 5. **********. SHOULD NOT BE TARGET FIELD FOR ***** IN ***** STATEMENT. STATEMENT ACCEPTED AS WRITTEN. ***** ***** He может быть принимающим данным для ***** в операторе' *****. Оператор воспринимается, как написан. SORT KEY MUST BE IN FIXED POSITION NOT MORE THAN 4092 BYTES FROM START OF RECORD. *****.DISCARDED. Ключ сортировки должен находиться на фиксированном месте не далее, чем на 4092 байта от начала записи. ***** пропускается. SYNTAX REQUIRES OPERAND. FOUND *****. TEST DIS- CARDED. По синтаксису требуется операнд. Найдено *****.. ’Проверка пропускается. EXTERNAL DECIMAL ITEM USED IN TRANSFORM STATE- MENT. ACCEPTED AS WRITTEN. В операторе TRANSFORM используется внешнее десятичное дан- ное. Оператор воспринимается, как написан. ***** iS ш А RECORD OF AN APPLY WRITE-ONlY FILE, 117
AND REFERRING TO IT MAY CAUSE ERRORS IF FILE IS : OPENED AS: OUTPUT WHEN ***** * STATEMENT 1$: EXE- CUTED. « :•* ‘ r - — ♦****' находится в записи файла APPLY WRITE-ONLY, и об- ращение к нему может вызвать ошибки, если файл открыт как " OUTPUT, когда выполняется оператор ****** •"- 1LA 40951-Е WRITE FROM IDENTIFIER REQUIRED FOR *****, TO WHICH WRITE-ONLY IS APPLIED. STATEMENT DISCARDED. WRITE-FROM идентификатор требуется для *****, к которому \ , относится WRITE-ONLY. Оператор пропускается. ILA 4096I-W ***** STATEMENT WILL NEVER BE EXECUTED. Оператор ***** никогда не будет выполнен.; ILA4097I-C UNIT (REEL) OPTION ILLEGAL FOR ****** DISCARDED. Вариант UNIT (REEL) недопустим для *♦***. Пропускается. ILA 4098I-E ’ALTER’ STATEMENT VIOLATES RULE ABOUT REFEREN- CES TO A GO TO IN A DIFFERENT INDEPENDENT SEGMENT. IGNORED. Оператор ALTER нарушает правила ссылок на GO ТО в другом независимом сегменте. Игнорируется. ILA 41001-W IDENTIFIER FOLLOWING INTO (FROM) IN READ (WRITE) STATEMENT SHOULD NOT BE DEFINED UNDER SAME FD AS RECORD-NAME. ACCEPTED AS WRITTEN. _ Идентификатор, следующий за INTO (FROM) в операторе READ (WRITE), не должен быть определен в том же FD, что и имя-за- писй. Воспринимается, как написано. 1LA 41011-Е SET STATEMENT REQUIRES OPERAND AFTER ’UP’ OR ’DOWN’ TO BE NUMERIC INTEGRAL DATA-NAME OR PO- SITIVE INTEGRAL NUMERIC LITERAL. FOUND *****. STATEMENT DISCARDED. Оператор SET требует, чтобы операнд после *UP’ или ’DOWN’ был именем цифрового целого данного или положительным це- лым числовым литералом. Найден ****** Оператор пропускается. ILA 41021-Е SET STATEMENT REQUIRES OPERAND AFTER ’TO’ TO BE INDEX-NAME, INDEX DATA ITEM, NUMERIC INTEGRAL DATA-NAME, OR INTEGRAL NUMERIC LITERAL GREATER THAN ZERO, FOUND *****. STATEMENT DISCARDED, ': • Оператор SET требует, чтобы операнд после ’ТО’ был имёнем- индекса, индексным элементом данных, именем цифрового целого •\ : данного илй целым числовым литералом больше нуля. Найдено *****. Оператор пропускается. ILA 4103I-C ’ALL’ MUST BE FOLLOWED BY NONNUMERIC LITERAL. • FOUND ****** DISCARDING ’ALL’. 3a ’ALL’ должен следовать нечисловой литерал. Найден *****, ’ALL’ пропускается. * ILA 41041-Е SEARCH OR SEARCH ALL STATEMENT HAS EITHER SVBS- CRIPTED OR INDEXED IDENTIFIER-1 OR ILLEGAL OPE- RAND. SCANNING TILL ’AT END’ OR ’WHEN’. DELETING TILL ONE OF THESE IS FOUND. Оператор SEARCH или SEARCH ALL имеет индексированный идентификатор-1 или .недопустимый операнд. Пропуск до ’АТ END’ или ’WHEN’. ILA 41051-Е . DATA-NAME CANNOT BE BOTH INDEXED AND SUBSCRIP-: TED IN ***** STATEMENT. SUBSCRIPTS DISCARDED. Имя-данного не может быть одновременно индексируемым и субскрипируемым в операторе ****** Субскрипты пропускаются. ILA 41061-Е DATA-NAME MUST BE INDEXED BY INDEX-NAME OR INDEX-NAME PLUS OR MINUS AN INTEGRAL NUMERIC’ LITERAL. SUBSTITUTING FIRST OCCURRENCE OF ****** Имя-данного Должно индексироваться именём-индекса или име- нем-индексд плюс или минус целый числовой литерал. Замена-., Л ,/ . \ ’ ,ется-:на первое повторение ****** 118
ILA; 41081-Е ' ILA 4109 I-E ILA 4110I-E ILA 4111 I-E ILA 41121-W ILA 4113 I-C ILA 41141-C ILA 4115 I-C ILA 4116 I-E ILA 4117I-C ILA 4118I-C ILA 41191-C ILA 4120 I-C ILA 50011-D ILA 50021-Ь CALLED PROGRAM MAY NOT BE SEGMENTED. ENTRY STATEMENT IGNORED. . Вызываемая программа не может быть сегментированной. Опе- ратор ENTRY игнорируется. > KEY IN SEARCH-ALL FLOATING POINT. STATEMENT CHANGED TO SEARCH STATEMENT. ’ Ключ в SEARCH-ALL с плавающей точкой. Оператор заменяется на оператор SEARCH. CONDITION IN SEARCH ALL STATEMENT TESTS KEY WITHOUT TESTING ALL PRECEDING KEYS. STATEMENT' DISCARDED. Условие в операторе SEARCH ALL проверяет ключ без проверки всех предшествующих ключей. Оператор пропускается. INVALID CONDITION OR INVALID FORMULA IN CONDI- TION IN SEARCH ALL STATEMENT. STATEMENT DISCAR- DED. Неправильное условие или неправильная формула в условии в операторе SEARCH ALL. Оператор пропускается. SET UP OR DOWN SHOULD NOT INCREMENT INDEX-NAME BY INDEX DATA ITEM. ACCEPTED AS WRITTEN. Оператор SET UP или SET DOWN не должен увеличивать имя- индекса на индексный элемент данных. Воспринимается, как написано. ' BEFORE OR AFTER ADVANCING OR AFTER POSITIONING REQUIRED FOR *****. ASSUMING *****. BEFORE, или AFTER ADVANCING, или AFTER POSITION- ING требуется для *♦*-**. Предполагается *****. INVALID ADVANCING OR POSITIONING OPTION. 1 LINE ASSUMED. Неправильный вариант ADVANCING или POSITIONING. Предполагается 1 строка. ’AFTER POSITIONING’ EXPECTED BUT NOT FOUND. ASSU- MED PRESENT. . . , Ожидается ’AFTER POSITIONING’, но не найден. Предпола- гается, что присутствует. ILLEGAL ТО ***** ***** FILE *****„ STATEMENT DIS- CARDED. Недопустимо ***** для ***** файла ♦♦♦*♦, Оператор пропус- кается. ***** CLAUSE MISSING. ***** NEXT SENTENCE USED. > Пропущена фраза ****** Используется ***** NEXT SENTEN- CE. NO REWIND IS AN INVALID OPTION FOR FILE *****. IGNORED. NO REWIND является недопустимым вариантом для файла *****. Игнорируется. INVALID FILE TYPE FOR START VERB. STATEMENT DIS- CARDED. Недопустимый тип файла для глагола START! Оператор пропус- кается. REWRITE LEGAL ONLY FOR ’U’ AND ’W* DIRECT FILE. ACCEPTED AS ’WRITE’. REWRITE допустим только для произвольного файла ’U’ й ’W’., Воспринимается как ’WRITE’. . ч ERROR OCCURRED WHILE TRYING TO ASSIGN A DOUBLE < REGISTER. COMPILATION ABANDONED, j Произошла. ошибка при попытке назначить двойной регистр. Трансляция прекращается. ERROR OCCURRED WHILE PROCESSING A SUBSCRIPTED OR INDEXED DATA-NAME. COMPILATION ABANDONED. 119
ILA 5003 I-C ILA 5004I-W ILA 5005I-D ILA 5006I-D ILA 5007I-D ILA 5008I-D ILA 50091-D ILA 5010 I-C 4 ILA 50111-Й ILA 50121-D । ILA 5013I-E ILA 5014I-E ILA5015I-E ILA 50161-E ILA 50171-C ILA 5018I-C " 120 Произошла ошибка при обработке субскрибированного или .ин- дексированного ймёни-даннб’гб. Трансляций прекращается.' DIVISOR IS ZERO. RESULT WILL BE ALL 9’S. Делитель равен нулю. Результатом будут все 9. ALPHANUMERIC SENDING FIELD ТОО BIG. 18 LOW ORr DER BYTES USEDJ \ Слишком большое буквенно-цифровое посылаемое поле. Исполь- зуются 18 младших байтов. ERROR OCCURRED WHILE PROCESSING A MOVE. COMPI- LATION ABANDONED. Произошла ошибка при обработке'MOVE. Трансляция прекра- щается. UNEXPECTED INPUT ТО THE MOVE OR STORE PROCES- SOR. COMPILATION ABANDONED. Непредвиденная входная информация для процессора MOVE или STORE. Трансляция прекращается. UNEXPECTED INPUT ТО THE ARITHMETIC CODE GENE- RATOR. COMPILATION ABANDONED. Непредвиденная входная информация для генератора арифмети- ческого кода. Трансляция прекращается. UNEXPECTED INPUT ТО THE FLOATING-POINT ARITH- METIC ROUTINE ’FBCVBH’. COMPILATION ABANDONED. • Непредвиденная входная информация для арифметической про- граммы с плавающей точкой ’FBCVBH’. Трансляция прекращаем- ся. ' LOST SUBSCRIPT OR INDEX ID IN TABLE ‘XSSNT’. COMPI- LATION ABANDONED. • Потерян субскрипт или индекс идентификатора в таблице. ’XSSNT’. Трансляция прекращается. HIGH ORDER TRUNCATION OF THE CONSTANT DID OCCUR. Произошло усечение старших разрядов-константы. HIGH ORDER TRUNCATION MIGHT OCCUR. Может произойти усечение-старших разрядов. LOST INTERMEDIATE RESULT ^ATTRIBUTES IN ’XINTR1 TABLE. COMPILATION ABANDONED. Потеряны атрибуты промежуточного результата в таблице ’XINTR*. Трансляция прекращается. ILLEGAL COMPARISON OF TWO NUMERIC LITERALS. STATEMENT DISCARDED. Недопустимое сравнение двух числовых литералов. Оператор пропускается. KEY IN SEARCH ALL AT INVALID OFFSET. STATEMENT DISCARDED. Ключ в SEARCH ALL имеет недопустимое смещение. Оператор пропускается. INVALID USE OF SPECIAL REGISTER. SUBSTITUTING TALLY. Неправильное использование специального регистра. Заменяется на TALLY. , MORE THAN 255 SUBSCRIPT ADDRESS CELLS USED. PROGRAM CANNOT EXECUTE CORRECTLY. Используется более 255 адресных ячеек для субскриптов. Про- грамма не может выполняться правильно. INVALID ADVANCING OPTION FOR DTFCD FILE. USING STACKER 1., . . t Неправильный вариант ADVANCING для файла DTFCD. Ис- пользуется карман 1. INTEGER IN POSITIONING OPTION NOT BETWEEN О AND 3. 1 ASSUMED. Целое в варианте POSITIONING вне диапазона 0—3. Предпола- гается 1.
ILA 50191-C ' ILA 50201-C ILA 50211-C ILA 5022 LC ILA 50231-E ILA 50241-E ILA 5025LC ILA 5026LC ILA 6003LD ILA 6005LD ILA 6006I-E ILA 6007I-D ILAC 1001 ILAC 1011 ILAC 1021 ILAC 1031 ILAC 1041 PUNCH STACKER SELECT SPECIFIED FOR A DTFPR FILE. USING ’SKIP TO CHANNEL 1’. . Выбор кармана указан для файла DTFPR. Используется ’про- гнать.до кода Т. IDENTIFIER IN EXHIBIT EXCEEDS MAXIMUM. TRUNCA- TED TO 120 CHARACTERS. Идентификатор в EXHIBIT превышает максимум. Усекается до 120 литер. INTEGER IN ADVANCING OR POSITIONING NOT POSI- TIVE. POSITIVE ASSUMED. Неположительное целое в варианте ADVANCING или POSI- TIONING. Предполагается положительное. MORE THAN 2-DIGLT INTEGER IN ADVANCING OPTION. USING INTEGER1 1. В варианте ADVANCING целое содержит больше 2 цифр. Исполь- v зуется целое- Г. ' - EOP INVALID FOR DOU BLE-BUFFERED FILE. IGNORED. EOP недопустим для файла с двумя буферами: Игнорируется. END-OF-PAGE OPTION REQUESTED FOR NON-DTFPR FILE. IGNORED. Вариант END-OF-PAGE указан не для файла DTFPR. Игно- рируется. ADVANCING OR POSITIONING OPTION ILLEGAL FOR NON- SEQUENTIAL FILE4. IGNORED. Вариант ADVANCING или POSITIONING недопустим для не- последовательного файла. Игнорируется. • EXHIBIT OPERAND GREATER THAN 256: BYTES: LENGTH OF 256 ASSUMED. Операнд EXHIBIT больше 256; байтов. Предполагается дли- на 256. ERROR FOUND PROCESSING F4 TEXT. UNKNOWN DATA A-TEXT CODE. Обнаружена ошибка при обработке текста F4. Неизвестный^ код A-текста данных^ COMPILER ERROR. COMPILATION WILL NOT’ BE COMP- LETE; Ошибка транслятора. Трансляция не будет закончена. MAP SUPPRESS SPECIFIED AND E-LEVEL DIAGNOSTIC HAS OCCURRED. LISTX AND CLIST WILL BE SUPPRESSED. Указан MAP SUPPRESS и встречена ошибка уровня-Е. LISTX и CLIST будут подавляться: TABLE HAS EXCEEDED MAXIMUM SIZE. LISTX, OBJECT MODULE AND DECK WILL-BE INCOMPLETE. INCREASE PARTITION. Таблица превысила максимальный < размер. LISTX, объектный модуль и DECK будут неполными. Увеличить раздел. BACKGROUND AREA IS LESS THAN 54K.S Фоновый раздел меньше 54K. DEVICE NOT ASSIGNED — SYSnnn. / He назначено устройство. SYSnnn. UNSUPPORTED DEVICE TYPE —SYSnnn. Неправильный тип устройства SYSnnri. END OF:;EILE>ON SYSIPT. Конец файла на SYSIPT. WARNING. SYS001 FILE IS TAPE. Предупреждение. Файл SYSCO 1 — лента. . 121
ПЛ/1 В рамках ДОС/ЕС реализуется подмножество языка ПЛ/1, куда не включены концепции полного языка, которые не поддерживаются работой ДОС (например, передача данных на расстояние, асинхронная обработка). В дальнейшем под ПЛ/1 (или подмножеством ПЛ/1) будем понимать реализованное в ДОС/ЕС подмножество языка ПЛ/1. ПЛ/1 по своим возможностям превосходит другие языки программирования и предоставляет разнообразные возможности более производительно использовать современные системы данных, в. том числе: а), выбор способа ввода-вывода, ориентированного на поток или записи; б) работу с внутренним представлением данных; в) сегментацию программы; г) связь с программой, написанной на языке АССЕМБЛЕР; д) динамическое распределение памяти; е) использование библиотеки программ; ж) трансляцию и отладку программы по частям; з){ обработку программных прерываний. Если стандартное внутреннее представление данных в системе не удовлетворяет требованиям разрабатываемой проблемы, программист может определить другое внутреннее представление (из возможных в машине) путем указания определенных характеристик (атрибутов) для этих данных. Тем самым про- граммист имеет возможность обрабатывать их в нужной форме (числа с фик- сированной и плавающей точкой, десятичные и двоичные числа, строка битов,;строка знаков) и с желаемой разрядностью. В язык включен в качестве встро- енных, функций ряд часто используемых функций для обработки переменных типа «строка знаков» и типа «массив», для математических вычислений и др. Все операторы записываются на бланках, начиная со 2-й позиции (рис. 4). ОПЕРАТОРЫ ЯЗЫКА PL/1 [префикс-ситуация] имя- входа: PROCEDURE OPTIONS (MAIN [, ONSYSLOG]); префикс-ситуация имя- входа: PROCEDURE % ' [(параметр-1 [, параметр-2]...)]; [префикс-ситуация] имя- входа: PROCEDURE [(параметр-1 [, параметр-2]...)] [RETURNS (атрибуты-функции)! s [атрибуты-функции J BEGIN; END [константа-типа-метка]; ENTRY [(параметр-1, [параметр-2]...)] [RETURNS (атрибуты-функции)], [атрибуты-функции ]> DO [WHILE (скалярное-выражение)]; DO переменная- спецификация-1 [, спецификация-2, ...]; Каждая спецификация есть: go [WHILE Г скалярная-переменная) [псевдопеременная J =скалярное выражение; 122
ЕС ЭВМ ПЛ/L Программа . ПРЕОБРАЗОВАНИЕ МАТРИЦ Программист Соколов , Дата 1s.12.7e Лист 1 Листов 1 ОПЕРАТОР Иаеипюикация j 5 10 15___________________20 25 30 35 40 45_______50 55 60 65 70 75_ |/л >П,(Р|ЕДБ.р'|А|3|0Да|н|И,Е, ,М|А|Т1Р,И<Ц|М1..|^.1/в । । । । t j । . 1 1 j t 1 t 1 j 1 i 1 1 j 1 1 1 t } I 1 1 1 j I 1 I г 1 111I 1 i 1 t„i 1 t iPJ^tQ.CiEtDiUtRiEj iQiPtTil^NtS, t6|M,A|I8N|)|>t > 1 । । 1 1 1'1 |_. -i t i| i_li i । i -i_i. 1 । 1 1 1 l. [ 1 1 1..1 |. 1—1 1 1 ,i..l i i |D|EtCiL|\Mi *(|AG3i.i3])i)i 1^|ХЛД i(pJi>i 1 1 1 i_i-L.|_i_i i । 1 11.1x4 i .i .l-i-i-j-i-i 1 {.j 1 1 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 AR>GX„^ tKlt , 1 11 1 111 1 1 1 1 j—i_t_ 11 j 1111 1 i_l 1 1 j i—1.1 । 1 1 1 1 i 1 1 t 1 1 1 1—1 1 1 1..1J l. |DiE|C,L|A,R,E.t (,3t> ,3|) i, ty i)t |F|I|X|£|D| 1 1 । । 1 1 1 1 । । 1 1 1 । 1 1 1 । । । > 1 t । 1 1 1 1 । 1 1 1 < । 1 । । < । 1_____________________________1 1 1 1 1 1 1 .AQpj£ri*i |ТД 1Ч11 I 1 I t I 1 I I I I l_ I 1 I I I III I .L.L,L-L-| I I I I |.l I I I |..l 1'1 I I I I 1.1 |.l-1 I 1 .1-1,. 1. L. |УгЛ(|1Лм |li)|ii |X| (ililiti^.lt^Xt (ДДм |Jj)i ,i iX|61i2ly ^j)i-iYt >1 |£iNjDpi j 1 1 1 1 j iti 1 j । । 1 1 |-i i 1 1 1 1 1 t 1 1 I—1 1 1 1 i 1 1 . |й|Е^Ц|в|Ч *> t 1 1 1 1 1 f 1 j 1 1 1 . j 1 1 1 1 j 1 1 1 1 j 1 1 1 1 1 t 1 1 1 j 1 1 1 » j 1 1 1 1 j 1 1 । i j 1 t 1 1 j । « i । 1 1_1 । ,1.1., 1 j .1 ДЕД, iWJi 1 (Л)i iGf«(<4i)i)|>> 1 । 1 1 1 1 1 1 1 i t 1 < 1111 i.j-1 1 1 1 1 1 1 1.1.1i_i 1 1 1 1..1 1 1 1 1 1 i 1 1 1 1 । 1 1 1 I 1 1 РЦТ, ^лс^одндя; ПА.тР|И|Ц.А/л; |(дк<1;?„.с|о|1;идч , , , p , . , j . I . . p . , I i , I . I. . I |РДЛ, |/|Д)» ।(pXiI |P,>|G|O|L|VJ4|N| t((5J |H3|F| (61);),;, t j t t _i_i_| 1 1 1 1 । 1 1 11 | i 1 । 1 ^ । i < 1 । t « । > । i_i i .i_x.i i 1 _ .GiAiUL. ДЦД [(.A,, 3» гЗ,я2|йЗ|),и j; , .U_H . it t 1 । l 1 t 1 1 1-lj_L| i 1 1 t 1 i.l.i < 1 1 1 1 i [..t t 1 i 1 1 1—1 1 .i.,i,.i. 1.1. Р.ЦТ, ЕДГ.Т, (,гЛР^^дн;ад.(Дк.1Дп ciQ^n.Gi^jLaj,;, , , , L , , I t , , , . . ,I..I 1 |Pi4L (ЕРДЛ |(|A,), .(.ДКДР^ t AFJfiJuf 1 1 1 i 1 1 1 t 1 1 । [ f » t 1 1 .t..i_j-.L.|_i 1 t 1 1 1 1 < 1 1 1—i.j_l_i_i 1 1 -1-W, 1.l_L.x..l..|-l I I I | II I t j I I I I |, I .lJJ.|..LLLl^l,l...l,..p-lJ-l..|.l tll| I-LI i I 1 . ll | I I I I I 1 I I I I I-1 I I 1.1 I I -I 1 I. I I 1 l.l.|.l Lx4_i..ua| I I I 1 1 1 it I t 1 t I.L-I-I. I 1 I I I II 1 I II I I 1 1 .1. > . 1 I I 1 . 1 1 1. |..|.I I I 1 I—1.1, ll.l 1 I • I 1 1 I I 1 1 I 1| I 1 I I I I 1 1 I 1 I I I |-1 1. I I j 1.1.1-1-| I. 1 I I I I I I I I I I I I j 1 I I I I I I I I I I I I I I 1 I I I I I-t-L.J.J-l II . I I I l | I..I..1..1.1.1 I 11 I I I tit I I I I 1 |-I_LJ-J-|-I_l_t I I I 1 I I . I .1.,.1-lJ- I I I I I I I I I I I I I 1 I I I I t I I I I I r I I-1 I I 1 I I 1 - I-» I i f I t I 1 I 1 1 <« I » I l-l. j, 1, t_i_t_|_LJ-I I I I Я 1.1 l- l.t-l-l^t-f-L I I I 1 I I 1 I I 1 I I I I I I 1 I 1 I I I I i t I 1 1 I I I l 1 t I it I I I—L-l—L..| . t.J_L.J_|-.l-l_L_1 I I I I 1 I I I ll| I I f I j I i I Г I I t II j j I I i..|..L|..l..i_|_L1_1_L.|.. I. I ‘I I I t I i 1 j I t I I I I I i - 4-t I I I I 4,I_L+I I I i:.|:^..,L..U...|.-I,1_I_I_|_I_LI 1 | U,l.l.|-L I I I I 1 I I I I I I 14 I I I 1 I I I I I I I r I f I I I I I t I I--I—L.L.I.. I I I - 4-1 I I I I. l-l. I.|.l. 1..1-к.|_1_1_и I I I I.L.|—t—l-l Г | I I I. I | 1 I, I l.,p,ULJ. I I I I-I I I I I I t I I I I I I 1 I 1 I I 1 I I I I -LLJ-1,1 I 1 - W-I Nl 1 'J-4-1 1 1 1 I 11 11 1 » 11 I.|..p-.| I I I I LI I 1 1 I Г| I ,lLl.| I.l I l.|^.„l,.l..|.-L.L-.l,l.-|. I I I I I 1 I I I } I—f I I 1 li I I 1.1 1.1-1 .1J t, 1 ri I I I j I I I I I I I i I -1.1 I I I I 1 I t 1 i 1 I у 1 1 i. I 1:1 1 I I j Ui.1.1,1.1 I I I I I I 1 I I I I I I I I I I I I I I ^1 ri 1 I 1д..к1.1 1 11 г й 1-Г1 I 1 .1 .1...1,X I I i 1.1.1 l .i 1 I 1 i. rfi I I. 1 I i-1-j. I I I I I I t I I I 11:1 I I I I I I 1 I I 1 1 ! I I . 1 1 . - i Puc. 4
массив-типа -метка= переменная-типа-массив= Г выражение-над-массивами). [скалярное-выражение ,’ переменная-типа-структура = (выражение-над-структурами) . [скалярное-выражение , ’ скалярная-переменная-типа-метка = [константа-типа-метка ] (скалярная -переменная -типа -метка /’ константа-типа-метка скалярная-переменная-типа-метка ; массив-меток переменная-,типа-указатель = выражение-над-указателями; . массив-типа-указатель- =(“Р”ке™®-&^зателями|; J [массив-указателей , ’ /GO ТО). (константа-типа-метка ) [GOTO / (скалярная-переменная-типа-метка , ’ IF скалярное-выражение THEN элемент-1 [ELSE элемент-2] Элемент — это обычный блок, группа DO или один оператор. Элемент всегда заканчивается точкой с запятой. ? CALL имя-входа [(аргумент-1, ...)]; RETURN [(выражение)]; [Метка-1:] [Метка-2:]....; STOP; ', ON ситуация-ON SYSTEM; оператор GO ТО или пустой оператор SIGNAL ситуация-ON; REVERT ситуация-ON; DECLARE [номер-уровня] идентификатор [атрибут] ... , [номер-уровня] иденти- фикатор [атрибут] ...; OPEN FILE (имя-файла) группа режимов [, FILE (имя-файла) группа-режи- мов] ...; где группа-режимов [INPUT | OUTPUT] [PAGESIZE (скалярное-выражение)]; (выражение) (выражение) ,... , CLOSE FILE /FILE [STRING PUT STRING PUT [PILE (имя-файла)] /PAGE [LINE SKIP LINE (имя-файла) [, FILE (имя-файла) ] ...; (имя-ЙроТи-символов)} ' спецификация-данных; (переменная-типа-строка-знаков) спецификация-данных; IPAGE [LINE SKIP (LINE метка: [метка :] ... FORMAT READ FILE (ймя-файла) /SET [INTO спецификация-данных спецификация -данных спецификация-данных (скалярное-выражение) ] [ (ска лярное-выра жение) ] . [(скалярное-выражение)] спецификация -данных (скалярное- выражение)] [(скалярное-выражение) ] [(скалярное-выражение)] (список элементов формата); (переменная-типа-указатель) (переменная) Г/KEYTO (переменная))]) [(KEY , (выражение),],’ WRITE FILE (имя-файла) FROM (переменная) [KEYEROM (выражение)]; REWRITE FILE (имя-файла) [FROM (переменная)] [KEY (выражение)]; LOCATE базированная-переменная FILE (имя-файла) SET (переменная-ти- _ па-указатель); DISPLAY (скалярное-выражение) [REPLY (символьная-переменная типа строка знаков)]; 124
СОКРАЩЕННОЕ НАПИСАНИЕ КЛЮЧЕВЫХ СЛОВ BIN BINARY CHAR CHARACTER DEC DECIMAL DCL DECLARE DEF DEFINED ENV ENVIRONMENT EXT EXTERNAL PIC PICTURE PTR POINTER PREC PRECISION PROC PROCEDURE АТРИБУТЫ ПРОБЛЕМНЫХ ДАННЫХ Тип данных Атрибуты Максималь- ная разряд- ность. Разряд- ность по умолчанию . Внутреннее представление Арифметический: DECIMAL Упакованный десятичный десятичное с фи- ксированной точ- кой FIXED (p,q) 15 цифр 5 цифр формат (2 цифры в бай- те; знак занимает пра- вый полубайт последне- го байта), двоичное' с фик- BINARY 31 бит Двоичное число с фикси- сированной точ- кой , десятичное с пла- FIXED1 (p) DECIMAL 15 бит рованной точкой (всег- да отводится полное слово) Короткая (если р < 6) или вающей точкой FLOAT (p) 16 цифр 6 цифр длйнная (если р > 6) форма числа с плаваю- двоичное с пла- BINARY 53 бита г 21 бит щей точкой, т. е. 1или 2 слова * Короткая (если р 21) вающей точкой FLOAT (p) или длинная (если р > >21) форма числа с пла - вающей точкой, т. е. 1 Цифровая строка PICTURE 32 знака ;; или; 2 слова* знаков специфика- — Распакованный десятич- Строка знаков \ ция-шаблона CHARAC- 255 знаков ный формат Знаковое представление, TER (n) PICTURE специфика- ция-шаблона т. е. один знак занимает 1 байт Строка бит BIT (n) 64 бита — По 8 бит в байте; вырав- нено на границу байта * Нормализованное шестнадцатеричное. представление. 125
Сообщения об ошибках во время трансляции Номер со- общения Степень грубос- ти Текст сообщения. Перевод и (или) пояснение 1 2 3 ; 5A001I Т NO COMPILER OUTPUT SPECIFIED 5A002I Т Не задан вывод для транслятора NOT THE SAME OR WRONG MEDIUMTYPFS FOR SYS001, SYS002, SYS003 He один и тот же или недопустимый тип устройства использо- ван для SYS001, SYS002, SYS003 5A003I Т PARTITION SIZE ТОО SMALL FOR THE } К VARIANT. Размер раздела слишком мал для варианта транслятора, рас- считанного на К 5A004I w. ASTERISK IS NOT FOLLOWED BY BLANK. CARD IGNORED За звездочкой не следует пробел. \ Карта игнорируется. ASTERISK AND BLANK(S) NOT FOLLOWED BY KEYWORD PROCESS За звездочкой и пробелом (пробелами) не следует ключевое слово PROCESS 5A005I w 5A006I w OPTION имя-режима UNKNOWN. FOLLOWING TEXT IGNORED Режим имя-режима неизвестен. Последующий текст игнориру- ется 5A007I w KEYWORD PROCESS NOT FOLLOWED BY BLANK. CARD IGNORED ; За ключевым :словом PROCESS не следует пробел. Карта иг- норируется 5A008I w PROCESS LIST ТОО LONG. IGNORED IS имя-режима Список в операторе PROCESS слишком длинный. Игнорируется имяфежима 5A009I w PROCESS LIST ТОО LONG. Список оператора PROCESS слишком длинный. 5A010I w СОММА NOT FOLLOWED BY OPTION За запятой не следует имя-режима 5А01 |I w OPTION NOT FOLLOWED BY COMMA За режимом не следует запятая 5A0I2I T NO SOURCE PROGRAM FOUND. JOBSTER TERMINATED Исходная программа не найдена. Трансляция прекращается 5A014I W WRONG PROGRAM-MODULNAME. FOLLOWING TEXT IGNO- RED ; . Неправильное имя программного модуля. Последующий текст 5A015I w игнорируется WRONG FILE-MODULNAME. FOLLOWING TEXT IGNORED Неправильное имя файлового модуля. Последующий текст игно- 5C003I E L^V&LNUMBER OF STRUCTURE ITEM TOO HIGH. ASSUMED TO BE 00000255 . , Номер уровня элемента структуры слишком большой. Пред- полагается равным 255 5C004I s NO OPTIONS LIST WITH ENVIRONMENT ATTRIBUTE , В атрибуте ENVIRONMENT отсутствует список режимов 5C005I E OPTIONS LIST NOT CLOSED BY. PARENTHESIS INSERTED AT END OF STATEMENT. ’ "' 'A ; ^Список режимов не закрыт, скобкой. В конце оператора встав- ляется круглая скобка
Продолжение 1 I 2 6C006I s 6C007I S 5C008I S 5C009I S 5C010I S 5C011I E 6C012I S 6C013I S 5C014I E 5C015I e 5C016I s 5C017I e S 5C019I ,, e 5C020J ; E 45QQ21I _ , s 3 NO POINTER SPECIFIED FOR BASED ITEM Для базированной переменной не задан указатель ERROR IN SPECIFICATION OF POINTER FOR BASED ITEM IGNORED IS недействительный элемент указателя Ошибка в спецификации указателя для базированной перёмёи- ной. Недействительный элемент указателя игнорируется NO BASE SPECIFIED FOR DEFINED ITEM 5 - Для определяемого идентификатора не задан идентификатор базы ERROR IN SPECIFICATION OF BASE FOR DEFINED ITEM. IGNORED IS определяемая переменная Ошибка в спецификации идентификатора базы для определяем мой переменной. Определяемая переменная игнорируется ERROR IN RETURNS LIST. IGNORED IS недействительные элементы Ошибка в списке RETURNS. Недействительные элементы иг- норируются NO LENGTH SPECIFIED FOR STRING. LENGTH ASSUMED TO BE MAX. VALUE. и . Для строки не задана длина. Предполагается равной макси- мальному значению ERROR IN STRING LENGTH SPECIFICATION. IGNORED IS недействительный элемент : г Ошибка в спецификаций длины строки. Недействительный элемент игнорируется ERROR IN PRECISION ATTRIBUTE. IGNORED IS недействи- тельный элемент Ошибка в атрибуте разрядности. Недействительный элемент игнорируется VALUE OF ARRAY BOUND MUST NOT BE O. ASSUMED TO.BE 1. Величина границы измерения массива не, должна быть равной 0. Предполагается равной ! VALUE OF ARRAY BOUND TOO HIGN. ASSUMED TO BE 00032767 ..... Величина границы измерения массива слишком велика. Пред- полагается, равной 32767 >• ERROR IN DIMENSION ATTRIBUTE. IGNORED IS недействи- тельный элемент , • , - .. .x, ,;r Ошибка в атрибуте размерности. Недействительный элемент игнорируется , RIGHT PARENTHESIS MISSING. CORRESPONDING LEFT ONE IGNORED BEFORE объявляемый элемент Отсутствует закрывающая скобка. Соответствующая открыва- ющая скобка игнорйруется перед объявляемым элементам л. NESTING OF ATTRIBUTE FACTORIZATIONS TOO DEEP. DECLARATIONS FROM NESTING LEyEL 9 ON IGNORED Слишком большой уровень вложенности при объединении атри- бутов. Объявления, начиная с уровня 9, игнорируются INVALID ATTRIBUTE(S) IGNORED .. недействительный атри- бут [, недействительный атрибут ...] Недействительный.атрибут(ы) игнорируется ;.и , SYNTACTICALLY ILLEGAL CHARACTERS) IGNORED ... игнорируемый знак(и) Синтаксически неверный ,знак(и) игнорируется DECL. ТОО LONG. ITEMS EXCEEDING LIMIT ARE IGNORED BEGINNING WITH «элемент оператора DECLARE»
’ . Продолжение „ ' i- 1 2 ~ ' 3 Объявление слишком длинное, Элементы, которые выходят за допустимые для оператора DECLARE пределы, игнорируют-* . , ся, начиная с «элемента оператора DECLARE» 5C022I S NO NAME OR FACTORIZATION FOR LEVELNUMBER... номер уровня с Нет имени или скобок объединения для номера уровня номер - уровня 5C023I S NO INITIALIZATION WITH INITIAL ATTRIBUTE Нет списка в атрибуте INITIAL 5C024I- S LEVELNUMBER MUST NOT BE 0. ASSUMED TO BE I Номер уровня не должен быть 0. Предполагается равным 1 ' ' 5C025I > Ё STRINGLENGTH MUST NOT BE 0. MAXIMUM VALUE AS- SUMED Длина строки не должна быть равна 0. Предполагается мак- симальная длина 5C026I Е PRECISION ТОО'LARGE. SET ТОО 00000053 Разрядность слишком велика. Устанавливается равной 53. 5C027I Е SCALEFACTOR ТОО GREAT. ASSUMED ТО BE 00000015 . Количество дробных разрядов слишком велико. Предполагается равным 15 J 5C028I Е STRINGLENGTH ТОО GREAT. ASSUMED ТО BE 00000255 f 1 Длина строки слишком велика. Предполагается равной 255 1 - * 5C029I Е . LIST OF INITIALIZATIONS NOT CLOSED BY. PARENTHES ' IS INSERTED AT END OF STATEMENT i Список атрибута INITIAL не оканчивается закрывающей- скоб- < ’ кой. Скобка вставляется 5C030I . Е NUMBER OF DIGITS IN PRECISION ATTRIBUTE MUST NOT ’ " BE 0. DEFAULT VALUE ASSUMED t Значения, задаваемые в атрибуте разрядности, не должны быть нулевыми. Предполагаются значения:по умолчанию ’ 5С044Г S SYNTAX ERROR IN INITIALLIST. NO INITIALIZATION OF • имя переменной, : Синтаксическая ошибка в списке INITIAL. Переменная не ини- 1 диализируется , 500451 S NESTING DEPTH EXCEEDS 8. NO INITIALIZATION OF имя . , переменной Глубина вложенности превышает 8. Переменная не инициали- ‘ зйруется - 5C046I s ITERATION FACTOR NOT ALLOWED FOR SCALAR VARLA- J ( BLE. NO INITIAL. OF имя-переменной „ > ! Коэффициент повторения нельзя указывать для скалярной пе- * •* ‘ ’ ременной.’ Переменная не инициализируется ? 5C047I s ITERATION FACTOR" GREATER THAN 32K. NO INITIALIZA- TION OFZ имя-переменной Коэффициент повторения больше 32К. Переменная не инициа- “ • лизируется 5C048I s WRONG DATA TYPE. NO INITIALIZATION OF имя-перемен- i ~ , ной Нёправильный тип данных. ^Переменная не инициализируется 5C049I s INITIAL VALUE IS NOT A LABEL CONST. WITHIN THE i . SCOPE OF LABEL VARIABLE, NO INITIALIZATION OF имя-переменной i , “ Начальное значение не является константой типа метка из с области действия переменной типа метка; переменная не ини- | j циализируется ’ ..... л .. 5C050I s ' MORE. THAN ONE CONST; FOR SCALAR VARIABLE. NO : INITIALIZATION OF.1 имя-переменной 128
Продолжение 1 | 2 з 5C051I 5C052I 5C053I 5C054I 5C055I 5C056I 5C057I. 5C058I 5С0591 5C060L 5C061I 5С0621: 5G063I 5С064Г 5C065I 5C066I 5C067I 5C068I Для скалярной переменной в списке атрибута INITIAL указано более одной константы. Переменная не инициализируется W ТОО MANY CONSTANTS FOR ARRAY. EXCESS ONES IGNO- RED FOR имя-массива Слишком много констант для массива. Лишние игнорируются для имя-массива S INITIALLIST ТОО LONG. INITIAL ATTRIBUTE IGNORED FOR имя-переменной Список атрибута INITIAL слишком длинный. Атрибут INITIAL игнорируется . Т SYMBOL TABLE ERROR FOR INITIALIZED ELEMENT имя Ошибка ,в таблице символических - имен для элемента с атри- бутом INITIAL Е ERROR IN F-OPTION OF FILE имя-файла Ошибка в режиме F для файла имя-файла Е LEFT PARENTHESIS INSERTED IN FILE имя-файла Левая скобка вставляется в объявление файла имя-файла Е ILLEGAL ELEMENT IGNORED IN FILE имя-файла у Игнорируется недействительный элемент в объявлении файлам , Е RIGHT PARENTHESIS INSERTED? IN FILE имя-файла В объявление файла вставляется правая скобка -- S ILLEGAL USAGE OF REGIONAL OPTION. OPTION IGNORED IN FILE имя-файла , Неправильное использование режима REGIONAL. Режим иг- норируется для файла имя-файла ' - W KEYED ATTRIBUTE INSERTED" FOR; DIRECT AND/OR INDE- XED'FILE имя-файла*. . . _ , Добавлен атрибут KEYED для файла DIRECT и(или) INDEXED Т KEYLENGTH SPECIFICATION MISSING IN FILE имя-файла' Для файла имя-файла не задана спецификация длины ключа Т ERROR IN KEYLENGTH SPECIFICATION FOR FILE имя- x 7 файла ' " Ошибка в спецификации длины ключа для файла имя-файла Т ERROR IN BLOCKSIZE SPECIFICATION FOR FILE имя-файла Ошибка в спецификации размера блока в объявлении файла имя-файла7 / ' ~ " Е ERROR IN BUFFERS OPTION. BUFFERS (1) ASSUMED FOR FILE имя-файла Ошибка в режиме BUFFERS. Предполагается BUFFERS. (1) для файла имя-файла Е ERROR IN OFLTRACKS SPECIFICATION. OFLTRACKS IG- NORED FOR FILE имя-файла Ошибка в спецификации режима OFLTRACKS. Режим OFLT- RACKS игнорируется для файла имя-файла Т ERROR IN MEDIUM OPTION FOR FILE имя-файла Ошибка в режиме MEDIUM в объявлении файла имя-файла Т INVALID LOGICAL DEVICE NAME IN FILE имя-файла Недопустимое имя логического устройства в объявлении файла - имя-файла . Т INVALID DEVICE TYPE SPECIFICATION IN FILE имя-файла ......Неправильная Спецификация типа устройства в объявлении файла имя-файла Т DEVICE TYPE OR FUNC. ATTR. CONFLICTS WITH LOG- ’ DEVICE NAME TN FILE имя-файла Имя логического устройства в объявлении файла имя-файла* про- тиворечит заданному типу устройства или атрибутам 5 Г. А. Дробушевич 129
Продолжение 1 2 1 3 5C069I 5C070I 5C071I 5С0721 5C073I 5C074I 5C075I 6C076I 5C077I 5C078I 5C079I 5C080I 5C081I 5С0821 5C084I 5C085I 5C086I • Т CONFLICTING ATTRIBUTES AND/OR OPTIONS IN FILE имя-файла ... . , ; В объявлении файла имя-файла противоречивые атрибуты и (или) режимы Т INPUT, OUTPUT, OR UPDATE ATTRIBUTE MISSING IN FILE имя-файла В объявлении файла имя-файла отсутствует атрибут INPUT, OUTPUT или UPDATE Е DIRECT ATTRIBUTE INSERTED FOR REGIONAL FILE имя-файла Для регионального файла имя-файла добавляется атрибут DI- RECT 1 Е NOLABEL OPTION INSERTED FOR UNBUFFERED TAPE FILE имя-файла . ' Для ленточного файла имя-файла с атрибутом UNBUFFERED добавляется режим NOLABEL Т ENVIRONMENT ATTRIBUTE MESSING IN FILE имя-файла Отсутствует атрибут ENVIRONMENT в, объявлении файла имя-файла Т MEDIUM OPTION MISSING IN FILE имя-файла В объявлении файла имя-файла отсутствует режим MEDIUM Т BLOCKSIZE NOT DIVISIBLE BY RECORDSIZE IN FILE имя-файла Размер блока файла имя-файла не делится на размер записи W RECORDSIZE OF RECORD NOT DIVISIBLE BY 8 IN FILE имя-файла .. , Размер записи файла имя-файла не делится на 8 W DIVISION OF BLOCKSIZE BY 8 DOES NOT YIELD REMA- INDER OF 4 IN FILE имя-файла Деление размера блока'на 8 не дает в остатке 4 для файла имя-файла Т BLOCKSIZE BEYOND DEVICE DEPENDENT LIMITS IN FILE имя-файла Размер блока файла имя-файла превышает допустимые для указанного устройства пределы Т F, U OR V OPTION MISSING IN FILE имя-файла Отсутствует режим F, U или V в объявлении файла имя-файла Т MORE ERROR(S) IN FILE имя-файла В объявлении файла имя-файла слишком много ошибок Е INVALID ATTRIBUTE IGNORED IN FILE имя-файла Неправильный атрибут игнорируется в объявлении файла имя- файла Е PRINT ATTRIBUTE ASSUMED FOR PRINTER AS PHYSICAL DEVICE IN FILE имя-файла Для файла имя-файла, использующего устройство печати, по умолчанию подразумевается атрибут PRINT Т ERROR IN EXTENTNUMBER SPECIFICATION FOR FILE имя-файла Ошибка в спецификации режима EXTENTNUMBER для файла имя-файла Е EXTENTNUMBER SET ТО 3 IN DECLARATION OF FILE имя-файла ттиппп В объявлении файла имя-файла режим EXTENTNUMBER устанавливается равным 3 * „ , 5 INVALID DEVICE TYPE SPECIFIED FOR HIGHINDEX IN FILE имя-файла 130
Продолжение 1 | 2 з 5C087I 5C088I 5C089I 5C090I 5C091I 5C092I 5C093I 5C094I 5C095I 5C096I 5C097I 5C098I 5C099I 5C100I В режиме HIGHINDEX для файла имя-файла задан неправиль- ный тип устройства S NUMBER OF OFLTRACKS EXCEEDS DEVICE DEPENDENT LIMITS IN FILE имя-файла Количество дорожек переполнения, указанное в объявлении файла имя-файла, превышает допустимый максимум S KEYLOC BEYOND RECORDSIZE LIMITS IN FILE имя-файла Позиция ключа, заданная в режиме KEYLOC для файла имя- файла, выходит за пределы записи S ADDBUFF AREA LESS THAN MINIMUM OR GREATER THAN MAXIMUM IN FILE имя-файла Размер буфера, который задан в режиме ADDBUFF для фай- ла имя-файла, меньше допустимого минимума или больше допустимого максимума S RECORDSIZE NOT GREATER THAN KEYLENGTH IN FILE имя-файла В объявлении файла имя-файла длина ключа больше размера записи W RECORDSIZE EXCEEDS LIMIT FOR OVERFLOW RECORD IN FILE имя-файла . Размер записи файла имя-файла превышает максимально до- пустимый для дорожек переполнения размер записи Е INDEXAREA, ADDBUFF, HIGHINDEX OR KEYLOC OPTION IGNORED IN FILE имя-файла Игнорируется режим INDEXAREA, ADDBUFF, HIGHINDEX или KEYLOC в объявлении файла имя-файла S INDEXAREA LESS THAN MINIMUM OR GREATER THAN MAXIMUM IN FILE имя-файла В объявлении файла имя-файла количество байтов в режиме INDEX AREA меньше допустимого мимимума или больше допустимого максимума S MAX. NUMBER OR EXPL. DECLARED VARIABLES PER BLOCK REACHED WITH имя Объявлением переменной.«имя» превышено максимально допус- тимое количество явных объявлений в блоке Е MORE THAN ONE INITIAL ATTRIBUTE FOR имя-переменной Для переменной имя-переменной задано несколько атрибутов INITIAL Е MORE THAN ONE DIMENSION ATTRIBUTE FOR VARIA- BLE имя-переменной Для переменной имя-переменной указано более одного атрибута размерности Е MORE THAN ONE LEVELNUMBER FOR STRUCTURE ITEM имя элемента структуры Для элемента структуры имя элемента структуры указано бо- лее одного номера уровня Е MORE THAN ONE PRECISION OR STRING LENGTH SPECI- FIED FOR имя-переменной Для переменной имя-переменной указано более * о дно го атрибу- та разрядности или для строковой переменной несколько раз указана длина строки Е MORE THAN ONE PICTURE ATTRIBUTE SPECIFIED FOR имя-переменной Для переменной имя-переменной указано несколько атрибутов PICTURE Е MORE THAN ONE BASE OR POINTER SPECIFIED FOR имя-переменной J31
1 I 2 Продолжение 3 5C10.1I 5C102I 5G103I 5C104I 5C105I 5СЮ61 5C107I 5C108I 5C109I 5C110I 5C111I 5C113I 5C115I 5C116I Для переменной имя-перемённой задано несколько указателей или идентификаторов базы Е STRUCT. NOT START. WITH LEVELNUMBER 1, ASS. TO BE MAJOR STRUCT. NAME IS имя-структуры Структура не начинается с номера у ровня 1. В качестве имени старшей структуры предполагается имя-структуры Е NON-FILETYPE ATTRIBUTES IGNORED FOR FILE имя-файла Нефайловый атрибут игнорируется в объявлении файла имя- файла Е NON-APPLICABLE ATTRIBUTED) IGNORED FOR STRUC- TURE имя-структуры Игнорируется атрибут(ы), который не должен указываться f для. старшей структуры S INVALID INITIALIZATION IGNORED FOR имя-переменной Атрибут INITIAL игнорируется в объявлении переменной имя- переменной Е ALIGNMENT PERFORMED FOR BITSTRING имя-перёменн ой типа строка битов Для строки битов выполнено выравнивание Е MORE THAN 12 DIFF. PARAMETERS TO BE PASSED TO OR FROM BLOCK NUMBER номер блока y Более 12. различных параметров передаются, в блок или из блока номер номер блока Е ТОО MANY DIGITS SPECIFIED IN PR EG. ATTR. DEFAULT VALUE ASSUMED FOR ймя-переменной Слишком много цифр определено для переменной в атрибуте разрядности. Для имя-переменной предполагается значение по умолчанию Е NO SCALE ALLOWED WITH FLOAT OR BIN FIXED. DFLT. PRECIS. ASSUMED FOR имя-переменной Место точки нельзя указывать для переменных с плавающей точкой и двоичных переменных с фиксированной точкой Для имя-переменной подразумевается атрибут разрядности по умолчанию Е ENTRY INTO EXT. PROG. IS OF TYPE EXTERNAL. INTER- • NAL ATTR. IGN. FOR имя входа Вход во внешнюю процедуру имеет атрибут EXTERNAL. Для имя-входа атрибут INTERNAL игнорируется Т MORE THAN 32К BYTES STORAGE REQUIRED FOR ARRAY имя-массива Для массива имя-массива требуется более 32К байтов основной памяти Т POINTERAND/OR BASE IDENT. NOT OR INCORR DECL. FOR ARRAY имя-массива Для массива имя-массива не задан или задан неправильно ука- затель и (или) индентификатор базы Т REF. VARIABLE OR RELATED BASE/POINTER IN CORR. FOR ARRAY имя-массива Переменная или связанный с ней указатель или идентификатор базы задан неправильно для массива имя-массива Е REPLICATION FACTOR OF ZERO INCORED IN INITIAL LIST OF имя-переменной Коэффициент повторения, равный нулю, игнорируется в списке INITIAL для имя-переменной Е STRING CONSTANTS TRUNCATED ON RIGHT IN INITIAL LIST OF имя-переменной 132
Продолжение 1. 2 1 3, 5С1171 5C118I 5C119I 5C120I 5C122I 5C123I 5С124Г 5Е00П . 5E002I 5E003I 5E004I 5E005I 5E006I 5E007I 5E008I 5E009I 5EG10I Е Е Е Е Е Е Е Т Т Т т т т т т т т В списке .INITIAL для имя-переменной строковые константы усекаются справа EXPONENTS TRUNCATED ON RIGHT IN INITIAL LIST OF имя-переменной В списке INITIAL для имя-переменной экспоненты усека- ются справа FLOAT CONSTANTS TRUNCATED ON RIGHT IN INITIAL LIST OF имя-переменной В списке INITIAL для имя-переменной константы с плавающей точкой усекаются справа ZERO ASSUMED FOR INVALID FLOAT CONSTANTS IN INITIAL LIST OF имя-переменной В списке INITIAL для имя-переменной ошибочные константы с плавающей точкой заменяются нулями. MAX. VALUE ASSUMED^ FOR INVALID FLOAT CONSTANTS IN INITIAL LIST OF ймя-переменной В списке INITIAL для имя-переменной. ошибочные константы с плавающей точкой заменяются максимально допустимыми значениями ... > . . ' BINARY FIXED CONSTANTS TRUNCATED ON RIGHT IN INITIAL LIST OF. имя-переменной r ' В списке INITIAL для имя-переменной ошибочные константы ; . BINARY FIXED усекаются справа DECIMAL FIXED, CONSTANTS TRUNCATED ON RIGHT IN INITIAL LIST OF имя-переменной в В списке INITIAL для имя-переменной ошибочные константы DECIMAL FIXED усекаются справа . RESULT OF CONST. CONV. UNDEF. DUE TO SIZE ERROR. CHECK INITIAL LIST OF имя-переменной Результат, преобразования константы не определен вследствие возникновения ситуации SIZE. Проверьте список INITIAL для имя-переменнои ILLEGAL CHARACTER IN LABEL PREFIX OR STATEMENT BEGINNING Первый знак префикс-метки; или оператора— не буквенный знак. STATEMENT TYPE CANNOT BE IDENTIFIED He опознается тип. оператора NESTING OF BLOCKS EXCEEDS 3 LEVELS Уровень вложенности блоков превышает 3 NUMBER OF BLOCKS EXCEEDS 63 Количество блоков превышает 63 ILLEGAL CHARACTER FOUND IN IF-STATEMENT BEFORE ‘THEN* В операторе IF перед фразой THEN обнаружен запрещенный знак < NO LABEL IS PERMITTED BEFORE AN ELSE-CLAUSE Перед фразой. ELSE метка запрещена ELSE FOLLOWED BY INVALID: UNIT За фразой ELSE следует недействительный элемент DO-GROUP NESTING EXCEEDS 12 LEVELS У ровень, вложенности группы: DO превышает 12 INVALID END-STATEMENT Недействительный оператор END LOGICAL END QF PROGRAM, DETECTED BEFORE END OF SQURSE TEXT Логический, конец программы обнаружен: раньше конца исход- ного текста 133
Продолжение " ‘ I 2 5E011I Т 5E012I Т 5E013I Т 5E014I Т 5Е0151 Т 5E016I Т 5E017I Т 5EO18I Т 5E020I Т 5E021I Т 5E022I Т 5E023I Т 5E025I , Т 5E026I Т 5E027I Т 5E028I Т 5E029I Т 5E034I Т 5E040I Т 5E041I Т MORE THAN ONE LABEL BEFORE PROCEDURE OR ENTRY STATEMENT ' Перед оператором PROCEDURE или ENTRY несколько меток NO LABEL BEFORE PROC. OR ENTRY STATEMENT. LABEL В INSERTED .' ' Перед оператором PROCEDURE или’ENTRY нет метки. Встав- ляется метка В FIRST STMNT NOT PROCEDURE STMNT; FOLLOWING TEXT IGNORED Первый оператор не PROCEDURE. Последующий текст игнб- STATEMENT ТОО LONG. STATEMENT TRUNCATED. Оператор слишком длинный. Усекается ' END OF SOURCE MODULE FOUND BEFORE LOGICAL END OF PROGRAM Конец исходного текста встретился до появления логического' конца транслируемой внешней процедуры RIGHT PARENTHESIS MISSING IN THIS STATEMENT В этом операторе опущена правая скобка END OF SOURCE MODULE FOUND IN PARENTHESIZED LIST " В списке, заключенном в скобки, найден конец исходного модуля ILLEGAL CHARACTERS IGNORED IN THE PROGRAM Запрещенные знаки в программе игнорируются ELEMENT IN PREFIX LIST IS NOT A LEGAL CONDITION NAME ' В списке префикса задано недействительное имя ситуации NAME IN PREFIX LIST NOT FOLLOWED BY COMMA OR PARENTHESIS За именем в списке префикса не следует запятая или круглая скобка CONFLICTING CONDITION NAMES IN PREFIX LIST В списке префикса противоречивые имена ситуации COLON AFTER PREFIX LIST IS MISSING После списка префикса отсутствует двоеточие RIGHT PARENTHESIS IS MISSING IN DATA OR FORMAT LIST В списке данных или в списке элементов формата отсутствует правая скобка MAIN PROCEDURE HAS INCORRECT OPTION LIST Главная процедура имеет неправильный список режимов NESTING OF ATTRIBUTES EXCEEDS 8 LEVELS Вложенность атрибутов превышает 8 уровней INVALID DEFINED ATTRIBUTE IGNORED Неверный атрибут DEFINED игнорируется ILLEGAL FACTORIZATION OF FILE ATTRIBUTES Неправильное объединение атрибутов файла TWO OR MORE IDENTICAL IDENTIFIERS IN ONE PARA- METER LIST В одном списке параметров два или более* одинаковых иденти- фикатора FIRST ARGUMENT IN SUBSTR PSEUDO-VAR I ABLE IS NO STRING-VAR. Первый аргумент псевдопеременной ,SUBSTR не является пе- ременной строкового типа MAJOR OR MINOR STRUCTURE IN IF STATEMENT В операторе IF старшая или младшая структура 134
Продолжение 2 5E042I 5E043I 5E044I 5E045I 5E046I 5E047I 5E049I 5E050I 5E051I 5E053I 5E055I 5E056I 5E057I 5E058I 5E059I 5E060I 5E062I 5E063I 5E064I Т ARRAY IN ELEMENT-EXPRESSION OF IF OR DO STATE- MENT Массив в скалярном выражении оператора IF или DO W NO DATA' FORMAT ITEM IN FORMAT LIST В. списке элементов формата отсутствуют элементы формата данных Т ARRAY DECLARATION INCORRECT. FIRST BOUND OF ARRAY IS ZERO Неправильное объявление массива. Граница первого измерения массива равна нулю Т EXTERNAL NAME(S) OF THIS PROGRAM LONGER THAN 8 CHARACTERS Длина внешнего имени (имен) в этой программе больше 8 знаков Е EXTERNAL NAME(S) OF THIS PROGRAM LONGER THAN 6 CHARACTERS Длина внешнего имени (имен) в этой программе больше 6 знаков Т ТОО MANY IDENTIFIERS IN THIS STATEMENT В этом операторе слишком много идентификаторов Т POINTER AND/OR BASE IDENTIFIER NOT OR INCOR- RECTLY DECLARED Указатель и (или) идентификатор не объявлен или объявлен неправильно Т ATTRIBUTE TABLE OVERFLOW. ТОО MANY VARIABLES IN THIS STMNT. Переполнение таблицы атрибутов. Слишком много переменных в этом операторе . . , Т INVALID DEFINING .Неправильное использование атрибута DEFINED Т OPERAND IN A GO ТО STATEMENT IS NOT A LABEL ' Операнд в операторе GO TO не метка . S ZERO-REPLICATION-FACTOR FOR STRING. CONSTANT IGNORED Коэффициент повторения для строки равен нулю. Константа игнорируется S STRING CONSTANT ТОО LONG. TRUNCATED Строковая константа слишком длинная. Усекается Е EXPONENT ТОО LONG. TRUNCATED Экспонента слишком длинная. Усекается Е FLOATING-POINT CONSTANT ТОО LONG. TRUNCATED Константа с плавающей точкой слишком длинная. Усекается Е FLOATING-POINT CONSTANT ТОО SMALL. SET ТО ZERO кКонстанта с плавающей точкой слишком мала. Устанавлива- ется в нуль Е FLOATING-POINT CONSTANT ТОО LARGE. MAXIMUM VALUE ASSUMED Константа с плавающей точкой слишком большая. Предпола- гается максимальное значение Е BINARY FIXED-POINT CONSTANT ТОО LONG. TRUNCATED Двоичная константа с фиксированной точкой слишком длинная, сек ается Е DECIMAL FIXED-POINT CONSTANT ТОО LONG. TRUNCA- TED Десятичная константа с фиксированной точкой слишком длин- ная. Усекается Е RESULT OF CONSTANT CONVERSIO N UNDEFINED DUE TO SIZE ERROR 135
Продолжение з 5E065I БЕ0671 6E068I 5E069I 5E070I 5E071I 6E072I 5E073I 5E074I 5E075I БЕ0771 5E080I 5Е08П 5E082I 5E083I БЕ0841 5E085I 5E086I 5E087I 5E088I 136 Результат преобразования константы не определен вследствие возникновения ситуации SIZE Т ТОО MANY CONSTANTS IN THIS COMPILATION Слишком много констант в транслируемой процедуре Е INVALID CHARACTER STRING. ONE BLANK ASSUMED Неправильная строка знаков. Подразумевается один пробел Т QUALIFIED NAME NOT DECLARED Уточненное имя не объявлено ' Т REFERENCED VARIABLE OR RELATED BASE/POINTER INCORRECT Используемая переменная или связанный с ней указатель или идентификатор базы ошибочны Е A HAS BEEN INSERTED IN ARGUMENT OF FORMAT PARAMETER LIST В список аргументов или параметров вставлена закрывающая скобка Т UNSPECIFIED SYNTACTICAL ERROR Неопределенная синтаксическая ошибка Т INTERNAL BUFFER OVERFLOW. (PROBABLY TOO MANY PARENTHESES) Внутреннее переполнение буфера. Возможно, слишком много скобок Е ONE OR MORE ) INSERTED TO OBTAIN. A VALID EXPRES- SION _ В выражение вставлена одна или несколько закрывающих скобок Е ACTION FOR 5E073I MAY CAUSE ADDITIONAL ERROR MESSAGES Действие для 5E073I может вызвать дополнительные сообще- ния об ошибках Т 2ND OPERAND IN DISPLAY STATEMENT INVALID Неправильно задан второй операнд в операторе DISPLAY Т ERROR IN PARAMETER-, OR SUBSCRIPT-, OR ARGUMENT LIST Ошибка в списке параметров, индексов или аргументов Т 1 ST OPERAND IN DISPLAY STATEMENT INVALID Неправильно задан первый операнд в операторе DISPLAY Т INVALID OR MISSING CONDITION OR FILE NAME Имя ситуации или имя файла задано неправильно или отсут- ствует Т INVALID OR MISSING OPERAND AFTER GO TO IN ON STATEMENT В операторе ON операнд после GO TO задан неправильно или отсутствует Т UNSPECIFIED ERROR IN ON STATEMENT Неопределенная ошибка в операторе ON Т INVALID CALL STATEMENT .Неправильный оператор CALL Т ERROR IN CLOSE LIST Ошибка в списке оператора CLOSE Т ERROR IN FILE OPTION Ошибка в режиме FILE T ERROR IN OPEN LIST Ошибка в списке OPEN T WRONG FILE OPTION IN READ, WRITE, OR REWRITE ‘ STATEMENT
Продолжение 1 2 з 5E089I 5E090I 5E091I 5E092I 5E093I 5E096I 5E097I 5E098I 5E099I БЕ 1001 5E101I 5E102I 5E103I 5E104I 5E105I 5E108I 5E109I 5E110I 5E111I 5E112I 5E113I Неправильный* режим FILE в операторе READ, WRITE или REWRITE Т INVALID OR MISSING OPERAND IN PAGESIZE OPTION, Операндов режиме PAGESIZE задан неправильно или отсутст- вует . ' Т NO SET OPTION IN LOCATE STATEMENT В операторе LOCATE отсутствует режим SET Т INVALID OR MISSING OPERAND IN KEY OPTION Операнд в режиме KEY задан неправильно или отсутствует Т INVALID FROM, FILE, OR .INTO OPTION Неправильно задан режим FROM, FILE или INTO T INVALID OR MISSING OPERAND IN "SET-, STRING- OR KEYTO OPTION . Операнд н*режиме SET, ‘STRING или KEYTO задан неправиль- но или отсутствует -Т ERROR TN FORMAT LIST Ошибка выписке элементов'формата Т MISSING ;) INSERTED Ж ^FORMAT LIST В список -элементов формата ’-вставлена ^отсутствующая закры- вающая скобка - Т 'MISSING IOR INVALID CONTROL VARIABLE IN DO-STATE- MENT Управляющая ' переменная в операторе ‘DO задана неправильно или отсутствует Т INVALID *L1NE, COLUMN, "OR X FORMAT ITEM Неправильно‘Задан элемент1 формата LINE, COLUMN или X Т_ INVALID S FORMAT ITEM Неправильно' задан * элемент формата R Т MISSING Д IN Е OR F FORMAT ITEM 'В элементе формата Е или ^Ё отсутствует ‘открывающая скобка Т MISSING INTEGER IN .E OR F_FORMAT ITEM В элементе формата ЧЕ или'F отсутствуетщелое число Т MISSING;)TN AN E OR T TORMATTTEM В элементе формата “Е лили F .отсутствует 'закрывающая скобка Т COMMA MISSING AFTER TST INTEGER IN E FORMAT ITEM После первого целого числа в; элементе формата Е отсутствует запятая Т BULLT-1N FUNCTION AS ’ARGUMENT 1OF PSEUDO-VARI- ABLE ;В качестве аргумента псевдоперемепной использована встроен- ная функция ’Т INVALID OPTION LIST IN READ OR "WRITE STATEMENT В операторе READ или WRITE неправильно задан список -ре- жимов S MAIN PROCEDURE MUST NOT RETURN AN EXPRESSION VALUE 1 Главная процедура не должна возвращать .значение -выражения S VCHARACTER-OR BIT EXPRESSION IS ТОО LONG Результат вычисления выражения над строками знаков или строками битов слишком длинный Т DATA-, OPTION- OR FORMAT LIST CONTAINS INVALID ^Неправильно задан список жданных, список режимов или спи- сок элементов формата Т INVALID rDATA "ELEMENT Неправильно задан элемент;данных Т INVALID ^REPETITIVE SPECIFICATION Д37
Продолжение з 5E114I 5E116I 5E117I 5E118I 5E119I 5E120I 5E121I 5Е122 5E123I 5E124I 5E126I 5E127I 5E128I 5E129I 5E130I 5E131I БЕ 1321 5E133I 5E134I 5E135I Неправильно задана спецификация повторения S ENTRYPOINT IN THIS STATEMENT INVALIDLY DECLARED Неправильное объявление имени входа Т MISSING OR WRONG BASED VAR. OR FILE OPTION IN LOCATE STMNT В операторе LOCATE отсутствует или неправильно задана ба- зированная переменная или режим FILE Т INVALID EXPRESSION Неправильное выражение Е WARNING FOR INCORRECT PREFIX IN ENTRY STATEMENT Предупреждение о том, что неправильно задан префикс опера- тора ENTRY Т ТОО NAMY ENTRY POINTS AND/OR ON CONDITIONS IN BLOCK В блоке слишком много точек входа и (или) ситуаций ON S ILLEGAL NULL STATEMENT IN ON-UNIT Недопустимое использование пустого оператора в операторе ON Т END OF INVALIDLY NESTED DO GROUP. NESTING EXCE- EDS 12 LEVELS Конец неправильно вложенной группы DO. Уровень вложен- ности этой группы превышает 12 S ILLEGAL FILE NAME IN ON CONDITION Недействительное имя файла в ситуации ON S ILLEGAL LABEL IDENTIFIER IN ON UNIT В спецификации действия оператора ON неправильно задана метка Е REVERT STATEMENT WITHOUT CORRESPONDING ON STATEMENT Оператор REVERT использован без соответствующего оператор S v INCORRECT NUMBER OF ARGUMENTS Задано неправильное количество аргументов Е OPTIONS MAY NOT BE SPEC. FOR SUBPROCEDURES. OPTIONS IGNORED Режим OPTIONS не может быть указан для вызываемых про- цедур. Режим игнорируется Т BUILTIN-FUNCTION-NAME IN INCORRECT CONTEXT Неправильно использовано имя встроенной функции S CONVERSION OF ARITH. DATA TO BITSTRING YIELDS RESULT GT 31 Результат преобразования арифметического данного в строку битов больше 31 Т / .INVALID KEY Неправильно задан ключ Т MORE THAN 65534 VARIABLES AND/OR CONSTANTS Переменных и (или) констант больше 65534 Т STACK OVERFLOW (IF-NEST ТОО DEEP) Переполнен стек. Превышен максимально допустимый уровень вложенности операторов IF Т PROBABLY BAD IF-NEST Возможно, ошибка из-за плохой организации вложенности операторов IF Т ELSE IMMEDIATELY FOLLOWS IF Непосредственно за словом IF следует фраза ELSE Т ELSE IMMEDIATELY FOLLOWS ANOTHER ELSE Непосредственно за ELSE следует другая фраза ELSE 138
Ii . . ' . Ч ! ,,. Продолжение 1 I 2 I - 3 5E137I T 5E138I T 5E140I S 5E141I T 5E142I T 5E143I T 5E144I T 5E145I T 5E146I T 5E147I T БЕ1481 т 6E149I S 5E150I T 5E152I T 5E153I T 5E154I W 5E155I S 5E156I S 5E157I W 5E158I T БЕ1591, T 5E160I T ILLEGAL STATEMENT USED AS UNIT IN AN IF STATE- MENT ; В операторе IF1 использован запрещенный оператор ELSE WITHOUT CORRESPONDING IF Фраза ELSE использована, без оператора IF INCORRECT SPECIFICATION OF CONSTANT ARGUMENT Неправильно задана константа в списке аргументов ТОО MANY STRUCTURES IN STRUCTURE ASSIGNMENT. Слишком много структур, в операторе присваивания структуре NUMBER OF INTERMEDIATE RESULTS IS ТОО BIG. STACK OVERFLOW Слишком много промежуточных результатов. Переполнен стек NON-IDENTICAL STRUCTURING IN STRUCTURE ASSIGN- MENT ' Присваивание неидентичных структур. . ARRAY USED IN INCORRECT CONTEXT Г Массив использован в неправильном контексте STRUCTURE USED IN INCORRECT CONTEXT Структура использована в неправильном контексте INVALID CONVERSION OR ILLEGAL COMBINATION OF DATA TYPES Неправильное преобразование или запрещенная комбинация типов данных NON-IDENTICAL NUMBER OF ARRAY ELEMENTS IN ARRAY—ASSIGNMENT В операторе присваивания массиву использованы массивы с различным количеством элементов ... UNPERMITTED ASSIGNMENT ТО FUNCTION VALUE Запрещенное присваивание значению функции NUMBER OF ARGUMENTS IS GREATER THAN TWELVE Количество аргументов больше 12 TOO MANY REPETITIVE SPECIFICATIONS Слишком много спецификаций повторения PROCESSING OF STATEMENT TERMINATED (TABLE OVE- RFLOW) Обработка оператора прекращена. Переполнена таблица POINTER AS ELEMENT OF DATA LIST В качестве элемента списка данных использован указатель POSSIBLE ERROR IN FORMAT ITEM IF USED FOR OUTPUT Ошибка в элементе формата, "если используется для вывода INCORRECT. ARGUMENT IN BUILT-IN FUNCTION OR PSE- UDOVARIABLE Неправильный -аргумент во встроенной функции или псевдо- переменной INVALID NUMBER OF. DIMENSIONS Неправильно задано количество измерений ERROR IF USED FOR OUTPUT Ошибка, если' используется для вывода ENTRY NAME OR LABEL ON LEFT SIDE OF ASSIGNMENT STATEMENT В. левой части оператора присваивания имя входа или метка R FORMAT ITEM IN ITERATION LIST AT DEPTH GREATER THAN TWO Элемент формата R задан в списке элементов формата с уров- . нем вложенности, превышающим 2 STATEMENT ТОО LONG. STATEMENT DELETED 139
Продолжение 1 1 2 1 3 5E161I 5E162I 5E163I 5Ё1641 5E165I 5E166I 5E167I 5E168I 5Ё1691 БЕ1701 5Ё17П 5E172I 5E173I 5E174I 5E175I 5E176I 5E177I , 5E178I 5E179I 5E180I 5Е181Г 5E182I 140 Т S т Е S S W S S S т S т т т S . ‘ I т S S S W Слишком^ длинный оператор; Удаляется ТОО MANY IDENTIFIERS IN PROGRAM В программе слишком много идентификаторов CONTROL ITEMS NOT ALLOWED FOR THIS STATEMENT В этом операторе . недопустимо использование управляющих, элементов формата NO LABEL DESIGNATOR IN REMOTE FORMAT ITEM Идентификатор в элементе- формата R не является меткой LABEL CONST. IN REFORMAT ITEM NOT INTERNAL TO CRRNT BLOCK Метка в элементе формата R не является внутренней по отно- шению к, текущему блоку NO POINTER VARIABLE IN SET OPTION В режиме SET отсутствует переменная типа указатель INCORRECT RECORD VARIABLE Неправильно задана переменйая для формирования записи RECORD VARIABLE ON WRONG BOUNDARY Переменная для. формирования записи, на неправильной границе RECORD VARIABLE ON WRONG BOUNDARY Переменная для формирования записи на неправильной границе RECORD VARIABLE LENGTH NOT IN ACCORDANCE WITH RECORDSIZE Длина переменной для формирования записи не соответствует размеру записи в объявлении файла INCORRECT VARIABLE IN STRING OPTION Неправильно задана переменная в режиме STRING INCORRECT NAME IN FILE OPTION Неправильное имя задано в режиме FILE STATEMENT NOT IN ACCORDANCE WITH FILE DACLA- RATION Оператор не согласуется с объявлением файла INCORRECT ITEM IN - DATA LIST списке данных задан неправильный элемент NO STRING VARIABLE IN SUBSTR PSEUDO-VARIABLE В псевдопеременной SUBSTR первый аргумент не является переменной-строкового типа FORMAT LIST ТОО LONG Слишком длинный список элементов формата FORMAT STATEMENT NOT PRECEDED BY LABEL. STA- TEMENT DELETED Оператору FORMAT не предшествует метка. Оператор удаля- ется ТОО MANY FORMAT LABELS >IN PROGRAM В программе слишком много меток: операторов FORMAT NESTING OF ITERATION LIST IN FORMAT LIST TOO DEEP ' Превышен максимально допустимый' уровень вложенности спис- ков элементов; формата REMOTE FORMAT ITEM IN FORMAT STATEMENT. STATE- MENT DELETED, В операторе FORMAT элемент? формата R* Оператор удаляется INCORRECT А, В FORMAT; ITEM IN GET STATEMENT В; операторе GET неправильно задан, элемент формата А и (или) В' VIOLATION OF FORMAT ITEM RESTRICTION Нарушено * ограничение - для элемента. формата MOD (LENGTH ,OF RECORD j VARIABLE, 8) IS UNEQUAL T(&FOUR (I i
Продолжение 1 1 2 Г 3 5E183I S Остаток от деления, длины записи на восемь не равен четырем INCORRECT VARIABLE IN REPLY OPTION 5E184I S В режиме REPLY неправильно задана переменная WRONG VARIABLE IN SET OR KEYTO OPTION -5E186I т Переменная в режиме SET или KEYTO задана неправильно ТОО MANY REPETITIVE SPECIFICATIONS IN DATA SPE- 5E187I . S CIFICATION В списке данных слишком много спецификаций повторения . LENGTH OF RECORD VARIABLE GREATER THAN MAX- 5E218I S BLOCKSIZE Длина записи больше максимального размера блока ILLEGAL EXPRESSION IN ASSIGMENT STATEMENT 5E219I S В операторе присваивания неправильное выражение MORE THAN TWELVE PARAMETERS IN PROCEDURE/ENT- 5E228I Е RY STATEMENT Более 12 параметров в операторе PROCEDURE и (или) ENTRY CHARAGTERSTRING IN DISPLAY-STATEMENT LONGER 5E229I Е THAN 80 BYTES В операторе DISPLAY строка знаков занимает более 80 байтов EVALUATION OF OPTLM. SUBSCRj YIELDS DISPLACED 5E230I W GREATER 32K Вычисление оптимизируемого . индекса дает смещение, большее 32К IMPLEMENTATION DEFINED SUBROUTINE 5Ё23П Е Определенная реализация подпрограммы ТОО MANY ARGUMENTS FOR IJKEXHC IN ONE BLOCK 5E232I Е В одном блоке слишком много аргументов ддя IJKEXHC INVALID ARGUMENTS) FOR EXHIBIT CHANGED IGNORED 5E233I Е Неправильный аргумёнт(ы) для IJKEXHC игнорируется UNPERMITTED VALUE OF CONSTANT SUBSCRIPT(S) 5E234I Е Недопустимое значение индекса (йндексов), заданного констан- той NO SCALE FACTOR GIVEN IN BUILT-IN-FUNCT 5E235I S Для встроенной функции не задано место точки INTERMED. RESULT IN ADD-FUNCT. ТОО LONG. STMNT 5E236I S IGNORED Промежуточный результат функции ADD слишком длинный. Оператор игнорируется. INTERMED. SCALE-FACT: EXCEEDS PERMITTED RANGE 5E237I S .Место точки промежуточного результата выходит за пределы допустимого диапазона EVEN PRECISION HERE NOT ALLOWED. CHOICE ODD 5Е2381 Е TARGET.PREG, Четная разрядность здесь запрещена. Выбрать нечетную раз- рядность мишени х TIME/DATE/OR NULL ASSUMED ТО NAME PL/1 BUILTIN- &E239I Е FUNCTION Предполагается, что TIME или DATE, или NULL именует встроенную функцию ПЛ/1 г UNKNOWN FUNCTION OR SUBROUTINE. ATTR. ENTRY 5G01I ASSUMED Неизвестная функция или подпрограмма. Предполагается атри- бут ENTRY RROGRAM BLOCK GREATER THAN 32K. COMPILATION TERMINATED Блок программы больше 32K. Трансляция прекращается. Д.41
Окончание 5G02I SOURCE PROGRAM TOO LONG; COMPILATION TERMINATED Слишком длинная исходная программа. Трансляция прекраща- ется 5G03I STATIC STORAGE OVERFLOW. COMPILATION TERMINATED Переполнена статическая память. Трансляция' прекращается 5G04I AUTOMATIC STORAGE OVERFLOW. COMPILATION TER- MINATED Переполнена автоматическая память. Трансляция прекращается 5G05I MORE THAN 256 ESID NUMBERS NECESSARY. COMPILA- TION TERMINATED Требуется более 256 номеров ESID. Трансляция прекращается 5G06I MORE THAN 65 534 VARIABLE AND/OR CONSTANTS. COM- PILATION TERMINATED В программе более 65 534 переменных и (или) констант. Тран- сляция прекращается 5G07I POSSIBLE RECURSIVE USE OF EXTERNAL PROCEDURE. COMPILATION TERMINATED Возможно рекурсивное использование внешней процедуры. Трансляция прекращается 5W01I SUCCESSFUL COMPILATION Успешная трансляция 5W02I COMPILATION IN ERROR При трансляции обнаружены ошибки ВСТРОЕНЫ Ь1Ё ФУНКЦИИ ПЛ/1 МАТЕМАТИЧЕСКИЕ ФУНКЦИИ Аргументы этих встроенных функций должны задаваться в кодированной арифметической форме с плавающей точкой. В противном случае перед вызовом функции они преобразуются в эту форму. Аргументы, которые не могут быть преобразованы, запрещаются. Аргументы математических функций могут .быть скалярным выражением или массивом. В последнем случае значение, возвращаемое функцией, есть массив, имеющий столько же измерений и такие же границы, что и аргументы; функция выполняется для каждого элемента массива. Ниже приведены основные характеристики математических функций. Функция Аргументы Значение функции 1 2 3 AT AN (Y [,XJ) X может быть опущен, Y, X одно- временно не рав- ны 0 Все значения возвращаются в радианах, при- чем л/2 < arctg у < л/2 a) arctg у, если х не задан; б) arctg у/х, если х > 0; в) л/2, если у > 0, х = 0; г) л4~агс*£ у/х, если х < 0, у^> 0; д) -—л/2, если у < 0, х = 0; е) —л + arctg у/х, если у < (\ х < 0 14 2
- Продолжение 1 1 2 | з AT AND (Y [,Х]) X может быть опу- щен,. Y, X одно- временно не могут быть равный Все значения возвращаются в градусах, причем —90 < arctg у < 90 a) arctg у, если х не задан; б) arctg у/х, если х > 0; в) л/2, если у > 0, хх».О; г) л + arctg у/х, если у>0, х < 0; - д) — л/2, если у < 0, х == 0; е) — л + arctg у/х, если у < 0, х < 0 ATANH (X) |Х| < 1 arctg х COS(X) X в радианах cos X COSD (X) X в градусах cos X COSH (X) chx ERF (X) у л J 0 ERFC (X) 1-ERF (X) LOG (X) X > 0 Inx LOG2 (X) X > 0 log» LOGIO (X) Х>0 1g X SIN (X) • X в радианах sin x SIND (X) X в градусах sin x SINH (X) sh x SQRT' (X) Х>0 V* TAN (X) X в радианах tgx TAND (X) X в градусах tgX TANH (X) thx АРИФМЕТИЧЕСКИЕ ВСТРОЕННЫЕ ФУНКЦИИ Аргументы этих встроенных функций должны быть заданы в кодированной арифметической форме ({FLOATI FIXED} {DECIMAL|BINARY}). В противном слу- чае они преобразуются в эту форму перед вызовом функции ^Аргументы, которые не могут быть преобразованы в эту форму, запрещаются. Если только не указа- но иное, аргументом арифметической встроенной функции может быть скалярное выражение или массив. В последнем случае значение, возвращаемое функцией, есть массив, имеющий столько же измерений и такие же границы, что и аргумент. Каждая функция возвращает значение в кодированной арифметической форме. 143
Если не указывается ни основание, ни форма представления, ни разрядность /значения функции, то эти данные берутся из аргумента X. В описаниях некоторых функций будет употребляться символ ш. Этот символ представляет*' максимальную разрядность, которая может иметь следующие значения: ш = 15 для DECIMAL FIXED; m = 16 для DECIMAL FLOAT; m = 31 для BINARY FIXED; m = 53 для BINARY FLOAT. В дальнейшем аргументы p, q, 1, n всегда являются целыми десятичными константами, причем q может предшествовать знак, Нйже приведены арифметические встроенные функции. Функция Аргументы Значение функции 1 ' ’ ‘ 2 3 ABS(X) ' 1x1 BINARY (Х[, р[, q]) ! Если X типа FLOAT, то q можно не задавать Значение х с двоичным основанием и разрядностью (р, q) Если либо р, либо q не заданы, то они определяются в соответствии с обычными правилами CELL (X) Наименьшее целое число > х. (верх- няя граница). Если х —число с фик- сированной точкой, то разрядность будет (MIN (ш, МАХ (р +1 — q, 1)),0) DECIMAL (X [,р[, q]]) Если X типа FLOAT, то q можно не задавать Значение х с десятичным основанием И разрядностью (р, q). Если р или q не заданы, то они определяются в со- ответствии с обычными правилами FIXED _(X[, p[. q]]) Значение х —число с фиксированной точкой с разрядностью (р, q). Если р или q не заданы, то для двоичного основания принимается р = 15, для десятичного основания — р =* 5, q = 0 FLOAT (X[, p]) Значение х — число с плавающей точкой с разрядностью (р). Если- р не задан, то для двоичного основания принимается р = 21, для десятично- го — р = 6 FLOOR (X) — Наибольшее целое число х (нижняя . граница). Если: х— число с фиксиро- ванной точкой, то разрядность будет такова: (MIN (m, MAX (р+1—q, 1)), 0) MAX (Xir X2, . Хп)п>2 . Значение наибольшего’ аргумента. Основание, тип и разрядность опре- деляются в соответствии с правилами для арифметических выражений. Но если все аргументы: числа с фиксиро- ванной точкой с разрядностью (р^ » (Par Чп)г ТО значение функ- 144
Продолжение ции будет с разрядностью (MIN (т, MAX (Рх qt,.. . . , рл — qrt) + МАХ('Ч1........<гл)), МАХ (Ч1, ... • • • > Чп)) MIN (Х1( Х2,... ... Хв) n>2 Значение наименьшего аргумента. Основание, тип и разрядность опре- деляются согласно правилам для ариф- метических выражений. Если все аргументы числа с фиксированной точкой* с разрядностью (рг • • • > (Рл» Чл)> то значение функции будет с разрядностью (MIN (ш, MAX (Pi —qt> . . p„ —q„) + + МАХ (Ч1........q„)). MAX(qt> ... • • . Чл)) MOD fX, Y) PRECISION (X, p[, q]) ROUND (X,n) TRUNC(X) Основание и форма пред- ставления перед вызовом функции., преобразуются в соответствии с правила- ми для операндов в вы- ражениях Положительный остаток? после деле- ния х на; у.; Для .чисел с плавающей точкой разрядность будет равна наи- большей из обоих аргументов. Для чисел с фиксированной точкой она. будет (MIN (ш, Ру — qy + МАХ (рх, Чу)), MAX (qx, qy)) Когда X — число с фик- Значение х с указанной разрядностью. сированной точкой, , то должен быть задан противном случае q жет быть не задан q» в мо- . Если, значение х —.число с фиксиро- X — арифметическое за- ванной точкой, то х в п-й позиции кодированное число цифровая цепочка или округляется. Если х — число с плава- ющей точкой, то использование ROUND не имеет смысла для x < О для х>0 CELL(X) FLOOR (X) ВСТРОЕННЫЕ ФУНКЦИИ. ДЛЯ ОБРАБОТКИ СТРОН Еслиг не указано иное, аргументами этих встроенных функций могут быть скалярные^ выражения или массивы. В последнем случае ' (аргумент является массивом), значение, возвращаемое* встроенной4 функцией, есть массив, имеющий столько же измерений и такие же границы, что и аргумент. Если в качестве аргументов встречается несколько массивов*, то они должны иметь одинаковые . границы. Аргументы 1 и w — целые десятичные константы, причем, w больше нуля. Ниже приведены встроенные функции для обработки строк. Г45
Функция Аргументы Значение функции 1 2 3 BIT (Х[, 1]) X — битовая, знаковая Значение х преобразуется в битовую строка или арифметичес- строку длиной 1. Если 1 не задана, кое значение то длина определяется по обычным \ ' правилам BOOL (X, Y, op) X, Y: битовые строки, Битовая строка z, с длиной более короткая расширяется до длинной строки х и у длинной строки добавле- opt ДЛЯ Хх = 0, нием справа нулей; ор: У1= о, булева опёрацйя, может ор2 для X] = 0, быть битовой, знаковой У! = 0, строкой или арифмети- zi = ор3для^==1, . ческим выражением,'пре- У1;=,о> / образуется в битовую Ор4 ДЛЯ Xj = 1, . , строку длиной 4 / У1 = 0 CHAR (Х[, 1]) X — битовая, знаковая, x преобразуется в знаковую строку цифровая строка длиной 1. Если 1 не задана, длина устанавливается согласно обычным правилам HIGH (1) Знаковая строка длиной 1. Каждый байт содержит шестнадцатеричное FF. INDEX (X, Y) X, Y — битовая, знаковая Двоичное число с фиксированной точ- строка, цифровая строка кой с разрядностью 15. Оно указы- или двоичное закодиро- вает позицию, с которой строка у ванное число. Преобра- содержится в строке х впервые зуется в знаковую строку LOW (1) Знаковая строка длиной 1. Каждый - байт содержит шестнадцатеричное 00. . REPEAT (X, w) X—битовая, знаковая Строка, которая получается w-крат- строка, цифровая строка ным сцеплением х, это значит, что или двоичное закодиро- она содержит х (w + 1) раз ванное число. Преобра- зуется в битовую или знаковую строку SUBSTR (X,p, 1) X — битовая, знаковая, Часть подстроки х, которая начинает- цифровая строка или за- ся с позиции р и имеет длину 1. кодированное двоичное Если р используется как псевдопере- - число.г Будет преобразо- менная, то х не может быть , масси- вано в битовую или зна- вом и не может быть также выраже- ковую строку; р — ска- нием лярное выражение, которое можно преобразовать в целое число. Если X — массив, то р должно быть также массивом 146
Окончание UNSPEC(X) X — знаковая строка, Битовая строка, которая эквивалентна арифметическое значение внутреннему представлению х. Ее или значение указателя, длина равна длине (в битах) внутрен- Знаковая строка не может него представления. Если UN SPEC иметь длину больше, чем использовать как псевдопеременную, 8 байтов то х не может быть массивом и вы- ражением ВСТРОЕННЫЕ ФУНКЦИИ ДЛЯ ОБРАБОТКИ МАССИВОВ Эти функции имеют аргумент, который должен быть массивом. Значение функции для обработки массивов — скалярное значение. Ниже приведены эти встроенные функции. Функция Аргументы Значение Функции ALL Элементы X — битовые строки, иначе они будут преобразованы в битовые строки Битовая строка с длиной элемента массива х, i-й бит строки равен 1, если i-e биты всех элементов х равны 1, иначе i-й бит равен 0 ANY (X) Элементы X — битовые строки, иначе они будут преобразованы в битовые стрбки Битовая строка с длиной элемента массива х; i-й бит.строки равен 0, если i-е биты всех элементов х равны 0, иначе i-й бит равен 1 PROD (X) X имеет тип иначе элементы преобразуются к типу FLOAT, массива такому Число с плавающей точкой, которое являет- ся произведением всех элементов массива х. Основание и разрядность, как у элемен- тов массива х SUM (X) X имеет тип FLOAT, иначе элементы массива преобразуются к такому типу Число с плавающей точкой, которое являет- ся суммой всех элементов х. Основание и разрядность, как у элементов массива х ВСТРОЕННЫЕ ФУНКЦИИ ДЛЯ СПЕЦИАЛЬНЫХ ЗАДАЧ Ниже приведены стандартные функции для специальных задач. Функция Аргумент Значение функции 1 2 3 ADDR(X) X —любая переменная Скалярное значение указателя, которое указывает адрес переменной х в памяти 147
Продолжение 1 2 | ’ 3 - DATE — Знаковая строка (длина 6 байтов) формы jj mm tt, где jj означает год; mm —месяц; tt — день. NULL — Значение указателя нуль; не дает никаких ссылок на адрес основной памяти, а инициа- лизирует указатель STRING X — структура с атрибу- Знаковая строка, которая получается сцеп- том PACKED содержит лением всех элементов структуры х только цифровые или зна: ковые строки TIME — Знаковая строка .(длиной 9 байтов), которая содержит текущее время, имеет форму hh mm ss ttt, где hh означает часы; mm — ми- нуты; ss —секунды; ttt — миллисекунды
ЗНАКИ ШАБЛОНА ' ' / Спецификация для знаковой строки . Спецификация для цифровой строки знаки для цифр, точки, ограничи- телей частей строки подавление нулей к плавающий знак и знак вставки, знак вставки Знак условной вставки Указатель знаков X —любой знак 9 — десятичная Z — цифра или S — цифра, плюс В — пробел (всегда — запятая, однако Т — цифра со зна- цифра пробел или минус вводится в ука- заменяется пробе-ком (знак перфори- занную позицию) лом, если имело руется в последней место подавление цифровой позиции нулей и предыду-данного) щие цифры незна- S — плюс, если . чащие арифметическое зна- V — подразуме- * — цифра или Н цифра или чение 0, в про-. — десятичная точ-1 — цифра со зна- вается десятичная знак плюс тивном случае ми- ка (вводится в ука- ком, если арифмети- точка нус занную позицию) ческое значение 0 (знак перфори- руется в последней цифровой позиции данного) + — плюс, если V — подразумева- R — цифра со зна- — цифра или минус арифметическое емая десятичная ком, если арифме- К —- подразумева- значение ^>0, в точка- тическое значение емое начало экспо- противном слу- <0 (знак перфо- .центы чае—пробел рируется в послед- ней цифровой пози- ции данного) Z + Е — начало экспо- —минус, если ариф- ненты (этот знак в метическое значе- цифровой строке ние < 0, в против - записывается явно) ном случае — про- бел
РПГ ПРАВИЛА ЗАПОЛНЕНИЯ БЛАНКОВ В табл. 1 показано, как заполняются общие графы бланков, а в табл. 2—14— .как заполняются другие графы бланков. 1 Таблица 1 Общие графы бланков Колонки Название графы Значение Пояснения 1 ' 2 3 4 1—2 Лист 1—99 3—5 Строка 6 Тип бланка F Е L I С О 75—80 Идентифика- Текстовое тор Номер листа бланка. Бланки нумеруются в следующем порядке: бланк описания- файлов, бланк дополнительной информации о фай- лах, бланк описания счетчика строк, бланк описания входных данных, бланк описания вычислений, бланк описания выходных данных Номер строки на бланке Для .бланка описания файлов Для бланка дополнительной информации о файлах Для бланка описания счетчика строк Для бланка описания входных данных Для бланка описания вычислений Для бланка описания выходных данных Информация, идентифицирующая карты всей исходной программы или некоторой части исходной программы Примечания: 1. Числовым значением является значение, содержащее толь- ко цифры. Текстовым значением является значение, содержащее латинские буквы и цифры и начинающееся с латинской буквы. Литералом является последовательность любых знаков (латинских и русских букв, цифр, специальных знаков), заключен- ная справа и слева в знак 2. При написании в графе текстовые значения и литералы выравниваются слева (т. е. записываются, начиная с самой левой позиции графы), а числовые значения — справа (начиная с самой правой позиции графы). Значения записываются непрерыв- но. Не допускаются пустые позиции внутри значений. .150
РПГ ГЕНЕРАТОР ПРОГИАММ ОТЧЕТОВ ОПИСАНИЕ ФАЙЛОВ ПРЛГОЛММА - программист Воробьев ДАТА 20.127В ЛИСТОВ-!______ ЛИСТ ДЬ ИЛЕИТ . 1 г_______Z5 во СТРОХА 3. ,5 I c 6 имя ФАЙЛА 7, i,, , . ;<4 ТИП ФАЙЛА МЕТОД ОБРАБОТКИ д ДОБАВЛЕНИЕ К ФАЙЛУ НАЗНАЧЕНИЕ ВХОДНОГО ФАЙЛА tsmmrtJAF. LU ДОРОЖКИ ДЛЯ записей ледеполмриия КОНЕЦ РАБОТЫ ТИП ВЫБОРКИ ЗАПИСИ СИМВОЛИЧЕС- КОЕ ИМЯ УСТРОЙСТВА 2 имя ПРОГРАММЫ ОБРАБОТКИ . имя ПРОГРАММЫ ОБ УЧАСТКЕ DASD 60. , . 1 ,65 ПОРЯДОЧЕННОСТЬ ЗАПИСЕЙ ТИП id о с£ ФОРМАТ ЗАПИСИ УКАЗАТЕЛЬ УСТРОЙСТВА УСТАНОВКА AFMTU1 Э О ДЛИНА БЛОКА 20, , .23 ДЛИНА ЗАПИСИ 24. i .27 Mini А ЛИСТА о lb U3 to UJ 17 Й 18 > U. to 28 29,30 31 & ID 33,34 ПОЛОЖЕНИЕ КЛЮЧА В ЗАПИСИ 35. 1 £8 С 3 39 40. .. it ДО 4?. . . , ,5г 3 z 53 МЕТОК Ч , , ,59 €6 67 68,69 70 КОММЕН- ТАРИИ * г L-&- 0,1,0 В I Р Е F .2,1,0 1 ih* 1 . Е Т|А,Р,Е. । , 5,4.5,0,0.4 s 1 t 1 t 1 till. о сэ о о сл X» Со рэ Bl M,A,C,2| , , • I С F .2,4,0 ! |2|4 R 1,4 К I I 1 ..1 11,1,5,К. , , S.9.SM5 s .Illa 1 1 1 I 1 1 ..1- 3 И 1 |A|C|3| , । 0 V .1.2,8 0,F । । . P.R.W.E.R S.y.S,L,S,T 1 1 i l i 1 . _1 . Bl । j I. i t । i 1 1 1 1 5 | . . . 1 I I I 1 1 1 1 I i 1 i 1 1 t it. 3 a a fl a a t a _ 1 _I.J i 1 1 1 | । । . а 1 fl a at 1 1 i , 1 1 1 1 1 l 1 t 1 I i । . 1 0,6. a 1 1 1 1 '. 1 1 i i t 1 fl 1 1 L. 1 I 1 1 i 1 1 t 1 t 1 t 1 1 i 1 1 1 i I i . i_ _1 0,7, 3 1 1 1 1 > 1 1 fl fl 1 ... 1 1 1 1 I 1 1 i 1 1 1 1 1 11111 | 0,8, ! a 1 I 1 t 1 1 1 1 ) •» 1 1 1 . 1 II 1 1 1. I_ till | i 1 i i till 1. _ .11 Q . > . 1 i fl a i_ I _ .1,11 1 1 t 1 i 1 1 . . 1i°i 3 1 1 1 i 1 1 I • fl a 1 i 1 fl 1 I 1 1 ii.il .lilt 1 1 1 1 1 —1— • . | - hh 3 ,1111.1 1 1 1 . 1 1,1111 111.1 J 1- i 1 1 | । . 1 i,2, Q Il 1 1 t 1 i i 1 1 1 1 1 iii.lt 1 1 1 1 1 till. Illi* „L. 1,3. Q , i I t 1 , 1 1 1 1 1 I t 1 .till ailli I i_ 1 1 i 1 11—1— 1,4, 3 till 1 i 1 i t t I 1 1 1 1 i . 1 i 1 1 i 1 i 1,5, a 1 > 1 1 1 1 1 1 t 1 1 I 1 t 1 1 11.11 fl 3 1 1 1 1 1 1 1 1 fl 1 а А 1 I 1 i i 1 1 till. ..ill ..... < lit- 3 . a 1 1 1 1 1 1 I t I 1 i . t i .1 l 1 Illi. I 1 1 1 . a 3 It l’ 1 1 1 I 1 1 1 t 1 it 1 1 1 1 1 1 1 1 1 i t 1 11 i I < . Г 1 1 1 i 1 1 . • . 1 - 3 I I t 1 1 1 1 L 1 i t 1 1 'filial 1 > 1 l i । . l t .ill. , I t 1 1 1 .1 IB 1 1 1 1 1 I 1 1 > . 1 . . . fl I . 1 . I 1 . . . 1 1 .1 Illi. fl 13 1 g 1 fl a a fl 1 . . 1 fl t i • a a . • • • I II 1 1 1 1 1 1 f IB 1 I t 1 f III 1 ll/. 1 1 t 1 —L— 1 L-L 1 1 11 II ... 1 II 1 .1. । ill. л fl. t 1 1 —L_ 1 I 1.. Рис. 5
Таблица 2 Бланк описания файлов (рис. 5) Колон- ки Название графы Значение Пояснения - 1 2 3 4 7—14 Имя файла Текстовое 15 Тип файла I О и 16 Назначение входного файла р S с R Т 17 Конец работы Е 18 .Упорядоченность за- А писей D 19 Формат записи F V 20—23 Длина блока Числовое 24—27 Длина записи Числовое 28 Метод обработки R L Имя файла, используемого в про- грамме. Несмотря на то, что имя файла может содержать 8 зна- ков, для различия файлов ис- пользуются только первые 7 зна- ков. Максимально в программе можно использовать 10 файлов/ Для входных файлов Для выходных файлов Для обновленных файлов Графа заполняется только для вход- ных файлов Для первичных файлов (максимум один) Для вторичных файлов (до восьми)' Для опорных файлов (до девяти) Для файлов RAF или ADDROUT (мак- симум один) Для табличных файлов (до восьми) Для тех входных файлов, по оконча- нии которых нужно заканчивать обра- ботку. Если обработка заканчивается по концу всех используемых входных файлов, графу можно не заполнять Для файлов, упорядоченных по воз- растанию полей подбора Для файлов, упорядоченных по убы- ванию полей подбора Не заполняется, если поля подбора не используются для обработки или если файл выходной Для записей фиксированной длины Для записей переменной длины Длина блоков файла. Если блоки пе- ременной длины, указывается дли- на наибольшего блока Длина логических записей файла. Если записи переменной длины, то указывается длина наибольшей за- писи В случае произвольной обработки файла с индексно-последовательной или произвольной ^организацией В случае последовательной обработки части индексно-последовательного файла. Нижний и верхний адреса частей для обработки указываются в файле RAF Графа не заполняется, если весь файл обрабатывается последовательно 152
Продолжение табл. 2 « I 2 ! 3 29—30 Длина ключа или ад-Числовое рёса записи 31 Тип выборки записей К 32 Организация файла ч I D Т 1—9 33—34 Указатель конца лис- та 35—38 Положение ключа в Числовое записи З9 Дополнительная ин- Е формация Ь 40—-46 Тип устройства • 47—52 Символическое имя устройства 53 Метки S N Пробел 4 Количество знаков, составляющих ключ записи или адрес записи в фай- ле RAF Записи файла извлекаются по ключу Записи файла извлекаются по иден- тификатору Для файлов с индексно-последователь- ной организацией Для файлов с произвольной организа- цией Для файлов ADDROUT Для файлов с последовательной орга- низацией. Означает приоритет (1—9) для назначения данному файлу вто- рой области ввода-вывода Заполняется только, для печатных фай- лов. Означает указатель конца лис- та, назначенный для данного файла _ Относительный номер первой позиции поля ключа в записи для индексно- последовательного файла с блоки- рованными илй неб локированными записями. Графа может не запол- няться для индексно-последователь- ных файлов с неблокированными записями. Если графа не заполнена, поля области ключа могут быть описаны на бланке входных или выходных данных Для входного файла имеется инфор- мация на бланке дополнительной информации о файлах. Графа за- полняется для файлов со связкой, . табличных, RAF или ADDROUT Для выходного файла имеется инфор- мация на бланке счетчика строк Для файлов на устройствах прямого доступа Для файлов на устройствах печати Для файлов на устройствах ввода карт Для файлов на устройствах вывода карт Для файлов на магнитных лентах Устройство ввода управляющей ин- ' формации Системная печать Системный ввод Системный перфоратор Любое устройство ввода-вывода Для файла со стандартными метками Для файла со стандартными метками, за которыми следуют личные метки Для файла с нестандартными метками Для файла без меток 153
Окончание табл. 2 54—59 Имя программы обра- Текстовое ботки меток 60—65 Имя программы об Текстовое участке ЗУПД 66 Добавление к файлу А 67 Дорожки для записей 1—9 переполнения 68—69 Число участков 70 Установка ленты R, U, N К, L, М 71—74 Комментарии Любые знаки 4 Имя программы, обрабатывающей не* стандартные или личные метки Имя программы, обрабатывающей ин- формацию относительно участка файла с произвольной организацией В индексно-последовательный файл \ добавляются новые записи Количество дорожек цилиндра, отве- денных для записей переполнения. Заполняется в случае создания или добавления в индексно-последова- тельный файл Не используется в РПГ ДОС Информация для установки магнит- ной ленты при открытии и закры- тии файла на магнитных лентах. В табл. 3 перечислены действия, которые будут выполнены для каж- дого. из значений- Поясняющий текст Примечания: 1. В табл. 4 приведены возможные комбинации значений для граф «Метод обработки», «Тип выборки записи» и «Организация файла». 2. В табл. 5 приведены возможные комбинации зйачений для граф «Тип файла» и «Добавление к файлу» и действия, выполняемые, при этих значениях. Значение графы «Установка ленты» Таблица 3 Значение графы Действия при открытии и закрытии однотомного файла • многотомного файла ' „ не назначено сменное назначено емзнное устройство устройство R Перемотка Перемотка в конце тома Перемотка и разгрузка в конце тома Перемотка Перемотка в начале еле- Перемотка в начале сле- дующего тома дующего тома. ' U Перемотка Перемотка и разгрузка Перемотка и разгрузка в конце тома в конце тома Перемотка и раз-Перемотка в начале еле-Перемотка в начале сле- грузка дующего тома дующего тома N Нет' перемотки Нет перемотки в конце Перемотка и разгрузка тома в конце тома Нет перемотки Нет перемотки в начале Нет перемотки в начале следующего тома следующего тома К Перемотка Нет перемотки в конце Перемотка и разгрузка тома в конце тома Нет перемотки Нет перемотки в начале Нет перемотки в начале следующего тома следующего тома L Нет перемотки Перемотка в конце тома Перемотка и разгрузка в конце тома . Перемотка Перемотка в начале еле- Перемотка в начале сле- дующего тома дующего тома М Нет перемотки Перемотка и разгрузка Перемотка и разгрузка в конце тома в конце тома Перемотка и раз- Перемотка в начале еле- Перемотка в начале сле- грузка дующего тома дующего тома Примечание. Многотомные файлы на магнитных лентах, не содержащие меток, не обрабатываются ДОС/ЕС. 154
t . Таблица 4 Обработка файлов в РПГ ~ , Организация файла Колонка 32 Тип выборки записи Колонка 31 Метод обработки Колонка 28 Последовательная Приоритет для на- Не задается Пробел Обрабатывается последовательно весь Пробел значения второй файл области ввода-вы- вода Индексно- последователь- 1 По ключу записи к Обрабатывается последовательно весь Пробел ная файл Произвольная D По ключу записи 1 к Обрабатывается последовательно часть L файла. Границы обработки постав- ляются файлом, адресов записей Файл обрабатывается произвольно. За- • R писи для обработки указываются: а) файлом адресов записей; б) данными, содержащимися в поле связки входной записи другого файла файл обрабатывается произвольно. За- R По идентификатору записи 1 писи для обработки указываются; а) файлом адресов записей; Обработка файла данных с помощью файла ADDROUT Файл адресов Т Не используется Пробел б) файлом ADDROUT; в) данными, содержащимися в поле связки входной записи другого файла Файл обрабатывается последовательно Пробел Файл данных D По идентификатору 1 Файл обрабатывается произвольно R
Таблица 5 Обработка индексно-последовательных файлов Колонка 15 Колонка 66 Функция О Не заполнена 0 А 1 Не заполнена 1 А и Не заполнена и А Создается новый файл или расширяется сущест- вующий файл Добавляются новые записи в существующий файл Обрабатывается файл Обрабатывается файл и к . нему добавляются но- вые записи Обрабатывается файл и обновляются записи Обрабатывается файл, обновляются записи и к файлу добавляются новые записи Таблица 6 Бланк дополнительной информации о файлах-(рис: 6) Колон- ки Название графы Значение Пояснение 1 ". 2 3 4 7—8 Порядок следования за- Числовое или писей в группе ч текстовое 9—10 Поле связки Cl—С9 И—18 Имя файла (табличного, Текстовое адресов, со связкой) 19—26 Имя выходного таблично- Текстовое го файла или опорного 27—32 Имя таблицы ТАВппп 46—51 Текстовое 33—35Количество элементов Числовое таблицы в одной за- писи 36—39 Количество элементов таб- Числовое ли цы в одной записи Порядок следования записей в группе.. Требуется для файлов со связками. Совпадает со зна- чением для данного файла в ко- лонках 15—16 бланка входных (данных- 1 Идентифицирующий номер поля связки. Совпадает со значением графы «Поле связки» бланка входных данных. Заполняется только для файлов со связками Имя файла табличного, адресов или со связкой. Эта и следующая графы используются для указа- ния связи между файлами. В табл. 7 приведены возможные значения данных граф Имя соответствующего выходного табличного файла или опорного Для табличного файла означает имя таблицы, к которой принадлежит первый элемент „каждой входной записи табличного файла (ппп — любые знаки). В колонках 46—51 записывается имя другой табли- цы, если табличный файл чере- дующийся Для файла RAF или со связкой означает имя программы преоб- ' разования адреса (колонки 27—32) Количество элементов (аргументов или функций), содержащихся в одной записи табличного файла Точное количество элементов (ар- гументов или функций) в таблице 156
0™РПРОГРАММ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ О ФАЙДАХ ПРОГРАММА- ПРОГРАММИСТ Воробьев АЛТА 2^27,6 АИСТОВ t ЛИСТ to. Il l-.-i । i i i i 12 75 80 СТРОКА 3, ,5 «•ТИП БЛАНКА | * ПОЛЕ - СВЯЗКИ: Cl-J- С9 | ИМЯ ФАЙЛА (табличного, АДРЕСОВ, СО СВЯЗКОЙ ) <f t । । . * ,тв имя выходного ТАБЛИЧНОГО ФАЙЛА ИЛИ опорного । । । । । ДО имя ТАБЛИЦЫ i i i i32 й КОЛИЧЕСТВО 3AEMEH- _ TOB ТАБЛИЦЫ В & ОДНОЙ ЗАПИСИ КОЛИ- ЧЕСТВО элемен- тов aw- ЛИЦЕ 381 i fw ? ДЛИНА ЭЛЕМЕНТА ! - В ТАБЛИЦЕ & & УПАКОВАННЫЙ:P , 1 ДЛИНА ДРОБНОМ ЧАСТИ | i- g ! О 45 имя ТАБЛИЦЫ 4& । । । i6t ДЛИНА SAEMEHIA а, В. ТАБЛИЦЕ £ —2 dJEMHWWMWA‘Bl ДЛИНА дробной части 1 |S3 УПОРЯДОЧЕННОСТЬ', A/D 1 КОММЕНТАРИИ S| 1 t i 1 1 t t 1 1 1 1 1 I i 0.1.0 а А,А с.т М|А|С, 1, । । . MfAtCi2, , 1 * r i 1 । । । । । । i 1 1 1 1 1 1 1 1 ‘l a- 1 ‘ 1 1 t 1 1 1 0,2, а । । । । । । । ii । । । । 1 1 1 | al II 1 1 ’ 1 -i V 'till 1 1 t > 1 1 1 1 » « ! « « « Tilt 0.3, а 1 * । t . । । «'_ । । ii 1 fl II | । 1 i till! 1 1 1 , f 1 1 1 1 1 1 t 1 II 11 1 0 4Г а 1 । 1 1 1 1 1 l a । । 1 । । t । 1 1 I I 1 i । 1 1 1 i l 1 I 1 1 1 1 1 1 1 1 1 1 1 I I 1 1 I 1 1 1 1 1 0,5." а t 1 1 1 1 1 1 1 1 III 1 1 a a I 1 0,6, а 1 | i I i i i < i 1 । । । । • •’ 1 I 1 1 | 1 1 1 I 1 ii 1 1 I 1 1 1 t i 1 1 1 I 1 1 1 i a 1 Itl 1 1 0,7, а 1 1 1 1 1 a t I 1 1 1 1 1 1 1 1 I 1 t 1 I 1 'I 1 1 1 j J 1 i 1 a 1 1 0,8, а 1 | I I I t i , . a l а 1 1 1 1 tit it i I • i a I 1 t 1 1 1 1 1 i I Г 1 1 1 a a a 1 -1 i ‘a 1 I 0,91 а 1 I ft 11 1 I 1 1 I 1 1 1 1 1 1 1 1 1 I I I t i t a 1 1 a lilt 1 »0| а I | 1 1 1 -t 1 1 1 « в а * | 1 1 1 1 I < I t II t 1 1 1 1 1 1 l 1 I 1 a t 1 l Illi Mi а 1 | 1 I 1 1 t I t 1 1 1 1 1 1 1 ! J t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 till 1,2, а 1 । la ill Ii 1 t а 1 1 t 1 1 It 1 t I I l i 1 1 1 "1 1 I t 1 1 t t 1 1 t i I t 1 1 t 1 t I f,3. а j - | 1 1 1 1 1 It 1 1 i t 1 1 I I I 1 1 1 | 1 1 1 t л t 1 1 1 1 1 1 1 <,4i 1 а I 1 1 I i I I i t t 1 f t i ! 1 1 "l it 1 1 i 1 i i । t । 1 1 lllllftltlltllll /б," а 1 1 I I i I t 1 t 1 I 1 1 t 1 1 1 i 1 1 1 1 1 1 1 1 1 t । । t t । I 1 1 1 1 1 i i t Ila I. I 1 l_l t_ а 1 1 1 1 I.L—J.14- 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t alt 1 1 1 1 1 i I - i । । t t 1 1 l I I t t t a 1. 1 t l 1 . f t а 1 1 1 I I I I 1 i 1 1 1 1 1 1 1 1*1 I । t t । t । U-1-J f 1 l -L 1—1 1 1 1 1 £ I.J.J-t.d- а t II I ’ i , I i- t t 1 I 1.1 1 1 1 III 1 i । । । । । 1 1 till li l ilt t а 1 1 I 1 i I l i 1 1 1 1 I 1 1 i 1 1 1 1 ' III l t । । । i i _ 1 • t t i 1 . i t I t t I I t It I а 1 1 1 i t i l t i 1 1 1 1 I t 1 1 1 til I 1 J III । iii i 1 1 I I 1 1 1 I t It i l i 1 t ll а 1 1 —?—1 । -t —J—t— 1 i i ’ t i l i I 1 1 1 t i 1 Г 1 t 1 I 1 1 1 1 1 L_ i, i । । । । 1 1 I 1 1 l I 1 1 I 1 i < 1 III 1 а 1 1 1 1 i 1 i l 1 i 1 1 1 I 1 1 1 1 1 I 1 1 l.l t । t t t 1 1 I t t 1 t l 1 1 t I 1 1 l l 1 Г Рис, 6
Окончание табл. 6 1 | 2 | » 1 < 40—42 Длина элемента в таб- Числовое Длина элемента таблицы. Макси- 52—54 лице мальная длина числового элемен- та таблицы равна 15 знакам, текстового — 256 знакам 43 Упакованный Р В случае, если данные таблицы в 55 упакованном формате Пробел В других случаях 44 Длина дробной части 0—9 В случае, если данные таблицы — 56 числовые. Означает длину дроб- ной части элемента таблицы Пробел В других случаях 45 Упорядоченность А Элементы таблицы упорядочены 57 по возрастанию ' D Элементы таблицы упорядочены по убыванию Пробел Элементы таблицы не упорядочены или графа не используется 58—74 Комментарии Любые знаки Поясняющий текст Таблица 7 Правила заполнения граф «Имя файла» (табличного, адресов, со связкой) и «Имя выходного табличного файла или опорного» Тип файла Графа «Имя файла» (таблич- ного, адресов, со связкой) Графа «Имя выходного табличного файла . или опорного» Файл со связ- Имя файла со связкой Имя опорного файла (файла, из которого кой (файла, состоящего из выбираются записи для обработки) записей, содержащих поле связки) Файл адресов Имя файла адресов запи- Имя. файла, содержащего записи дан- записей сей ных для обработки Файл Имя файла, содержащего Имя файла, содержащего записи дан- ADDROUT адреса записей. ных для обработки Табличные Имя входного файла, со- Имя выходного файла, содержащего файлы держащего таблицу обновленную таблицу. Выходной файл не описывается на бланке вы- ходных данных, а только на бланке описания файлов. Если обновленная таблица не выводится, графа не за- полняется Бланк описания счетчика строк (рис: 7) Таблица 8 Колон- ки Название графы Значение Пояснения 7—14 Имя файла Текстовое , Имя выходного файла 15—17 Номер строки Числовое Номер строки листа отчета, при печати ко- торой выполняется прогон до кода, ука- занного в колонках 18—19 18—19 Прогон Числовое Код перфоленты управления операцией про- гона на устройстве печати для строки, указанной в предыдущей графе «Номер строки» Примечание. Колонки 20—74 бланка заполняются аналогично колон- кам 15—19. 158
-О. = if - «я го - сэ р со о о» о о о> о ся о Зь о СЛ .° i СТРОКА 3. ,5 г* г* Г" г г- г- С- Г~ г- Г" Г- I- г г~ г* г* г~ г Г" Г" Г- г~ •» ТИП ВЛАНКА . - - - - - - - - - - ИМЯ ФАЙЛА 7 . । . Я 1 • ПРОГРАММ IA шст МОМЕР ОТРОКИ S3 — ® НОМЕР КАНАЛА и» - - 8 “ НОМЕР СТРОКИ й (S3 ОПИСАНИЕ СЧЕТЧИКА СТРОК ДАТА ЛИСТВА^ ЛИСТшИДЕНТt r,t > 1 Z 75 80 НОМЕР КАНАЛА - • - а ' НОМЕР СТРОКИ *3 О § НОМЕР КАНАЛА 8 " НОМЕР СТРОКИ * g НОМЕР КАНАЛА * НОМЕР СТРОЮ» ся - -£ НОМЕР КАМЛАЛ - - д НОМЕР СТРОКИ fe св -* НОМЕР КАНАЛА - - - - - - - - ** НОМЕР СТРОКИ 33 М - - - £ - - J НОМЕР КАНАЛА - , МОМЕР СТРОКИ is со - £ НОМЕР КАНАЛА $5 - - - - - - - - “ НОМЕР СТРОКИ *3 <0 § . НОМЕР КАНАЛА ’ НОМЕР СТРОКИ ’Я5 о f НОМЕР КАНАЛА Ж • J 3 - НОМЕР СТРОКИ a ?^6Mep^hM\ 3 ♦» аг- • номер строке - * .НОМЕР КАНАЛА
РПГ программ ОПИСАНИЕ ВХОДНЫХ ДАННЫХ UTMtTuD ПРОГРАММА____________________; ДАТА 2012.76. ЛИСТОВ ___ программист ...Воробьев_____ лист идент^-*- ».j СТРОКА з. t5 !•> ТИП БЛАНКА 1 ИМЯ ФАЙЛА 7, -. - r- i1 г ,14 ПОРЯДОК САЕДОВА- MAMMON ЪГРУППЕ УКАЗАТЕЛЬ fe ШИФРА ЗАПИСИ 1 ШИФР ЗАПИСИ . . X ! I X 1 42 IS УПАКОВАННЫЙ:? 1 ПОЛОЖЕНИЕ поля & записи I имя ПОЛЯ «1 f t |5S IIS УПРАВЛЯЮЩЕЙ' I fe УРОВЕНЬ IS ПОЛЕ связки;a9 1 |g ПОЛЕ ПОДБОРА: Ml - М3. | 12 УКАЗАТЕЛЬ ШИФРА 1 ЗАПИСИ ПРИ OR 1 УКАЗАТЕЛИ ПОЛЯ позиция ЗНАКА СТЕРЛИНГА 711 1 (74 ПОЗИЦИЯ 2fr i I« 2 uu X 25 IS -c/z/Qi: I - . whs Й| ПОЗИЦИЯ 28..31 2 UJ X 32 N 33 IS ЗНАК • 1 пЬзицип 35, , .38 2 39 40 |- ЗНАК | & § X 15,16 [С КОЛИЧЕСТВО'i IS ОТСУТСТВИЕ | НАЧАЛО 44, 1 М? КОНЕЦ 48. t i5t |SJ ДЛИНА ДРОЙ i 65(66 g МИНУС *| !§ zc Wt70 I M.A.CJ t , , t A,A 0,1 I 1 f i I i . . a 1 1 f i t- l till I I 1 I 1 ! 1 1 o,z,0 I । • । - it it i i i 1 1 И 1 1 .5 Di b t t i Lj3 C|1 1 I I ill 0,3,0 I iti i.ii f 1 1- 1 t iti i i i f .b* ,M N.M. , i Lt2 c,l 1 ‘ | .1 t i 1 0.4.0 I । । i i । t । 1 i i i r lb2 1 »1|4 YJib i t Ц1 ед > 1 i 1 > 0,5.0 I । i . i_t. i । 1 .. . 1 . 1 a • _ i i f i |1|5 t f2i 1 0 №.!. i. 1 1 | 1 t l 1 0.6,0 I M.A.C.2. , , / ^2 lit i i i t 1 j... f- 1 r iii rl I ( 1 1 1 i 0,7.0 I t t । i < । .. 1 III H Л i_ 1 19 D|2| t j t I 1 " 1 f 0.8.0 1 t । । t । । f 1 II 1 fb* । i^3 N(Zt2, t t t r 1 1 i 1 1 ( ( 1 0Д1 I t' t । । । t । 1 1 • 1 1 1 a 1 J tb2 i 11Л M,2t , , । 1 1 i I t If 1,0,0 I 1 1 1 1 ! 1 1 1 .. 1 n 1 1 I1 1 1 1 I H.5 1 I1!6 C,P,1, , . 1 1 1 | 1 1 i в 1 I1 \ф I -1 I I 1 1 II . 1 . 1 t 1 1 f iV ; ib® 0 CP.2, , , 1. 1; 1 1 ill* 1 1 1 1 1 I 1 1 .. 1 . .1 1 I 1 t J|9 i .2,0 0 С|Р.Д t , । |, | 1 1 ill 1,3,0 I . 1 1: -‘Г- ' I-' I 1 1 d I 1 1 1 1 1 1 1 1 I i2|f , .2,2 Ф P iE A . . 1 1 | i 1 1 lit: f,4^ I 1 II I t t 1 11 .. I ( 1 r Pfi . .2.4 CtP,5, , . г 1 1 i 1 »A I „ 1 - . 1. 1 t 1 1 ь 1 .i.i i i i 1 1 | 1 1 III I . 1 1 1 1 1 1 1, 1 1 i 1 1 1 1 1 1 1 t 1 i i । । । l 1 | | 1 1 I I I I 1 1 1 1 1 1 1 .1 .41 t 1 1 1 t 1 1 । i । I 1 1 lit i t i 1 | 1 1 III • 1 I . 1 .' ." 1 1 f 1 .' ; . 1 1 1 1 1 1 1 I 1 1 > 1 1 t I f 1 1 I t 1 I lai 1 I 1 t । i । । 1 1 1 1 1 1 -•/_ t 1 1 1 1 1 1 1 | a . _L_ 1.1 1 1 1 i I i i > i । । г 1 r._ 1 1 t 1 I I i i t i ill... 1 j i l . i 1 1 a • 1 i i i i i i । । 1 i 1 1 1 1 i I i 1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 LI. 1 . -l- l. LI ..L- _L_ _1_ -Л- _1_ -J— -X_ 1 1 1 Рис. 8
Таблица 9 Бланк описания входных данных (рис; 8) Колон- ки Название графы Значение Пояснения Г 2 3 4 7—14 Имя файла Текстовое Имя входного, или комбинированного, или обновленного файла 14—16 AND Для указания, что идентифицирующие коды шифра записи, заданные в дан- > ной строке бланка, дополняют Иден- тифицирующие коды предыдущей OR строки При описании нескольких различных типов записей, имеющих одинаковые поля, расположенные в одних и тех же позициях 15—18 Порядок следования4 - Графа объединяет три графы: «Номер», записей в , группе «Количество» и «Отсутствие» й слу- жит для контроля порядка следова- ния различных типов записей в 61—99 группе 15—16 Номер Номер следования данного типа запи- си в группе. Для каждого файла нумерация начинается с 01 и про- должается в возрастающем порядке. Незначащий нуль необходимо запи- сывать. Контроль на порядок сле- 17 Количество Две буквы дования карт в группе не требуется Заполняется только тогда, когда „ в графе «Номер» — цифровое значение 1 Только одна запись данного типа может присутствовать в группе N Одна или более записей данного типа могут быть в группе 18 Отсутствие Запись данного типа может отсутст- вовать в группе. Если данная графа не заполнена, а графа «Номер» со- держит числовое значение, то за- пись данного типа должна присут- ствовать в группе. Заполняется только тогда, когда в графе «Но- мер» — числовое значение 19—20 Указатель типа записи 01-99 Каждой группе входных записей с одинаковым шифром предназнача- ется двухзначный цифровой код- / указатель. Указатель позволяет лег- ко производить ссылки на данную запись на других бланках РПГ. При считывании записи с данным шифром в рабочей программе уста- навливается указатель, соответ- ствующий шифру. Указатель может быть проверен при вычислениях ц выводе 6 Г. А. Дробушевич 181
Продолжение табл. 9 21—41 Шифр записи 21—24 Позиция 28—31 35—38 Числовое 25, 32, Нет N за 26, 33, С 40 - Z D 27, 34, Знак • 41 Любой знак . О,А— 1, & OJ-R, S-Z 0—9 Знак, имею- щий циф- 42 Приемный карман ровую пер- форацию 1, 2, 3 43 Упакованный Р 44—51 Положение поля в за- Числовое писи 44—^47 Начало Числовое Эта графа объединяет 12 граф, слу- жащих для описания шифра запи- си, состоящего от 1 до 3 иденти- фицирующих кодов. При описании записи с шифром, состоящим более чем из трех идентифицирующих ко- дов, используются следующие строки бланка Номер позиции входной записи, кото- рая содержит идентифицирующий код. Незначащие нули можно опус- кать Описанный код не должен присутст- вовать в указанной позиции Для определения шифра записи ис- пользуется весь знак Для определения шифра записи ис- пользуется только . зональная часть знака Для определения шифра записи ис- пользуется только цифровая часть знака В случае значения С в графе 'C/Z/D' В случае значения Z в графе 'C/Z/D' (соответственно для 12-й зоны, 11-й зоны, 0-й зоны, отсутствия зоны) В случае значения D в графе 'C/Z/D' Номер приемного кармана, в который должны быть, уложены входные карты Для файлов, требующих вторую об- ласть ввода-вывода, а также для устройств с единственным; приемным карманом графа не заполняется Для входных полей в упакованном формате Графа объединяет две графы: «Нача- ло» и «Конец», служащие для ука- зания расположения полей во вход- ных записях Номер позиции записи, содержащей первый знак поля, имя которого за- дано в графе «Имя поля». При опи- сании поля в области ключа для неблокированных записей индексно- последовательного файла (ключ не является частью данных) слева от старшей цифры номера позиции за- писывается буква К 162
Продолжение табл.. 9 1 I_____________________________ 2 48—51 Конец Числовое 52 Длина дробной части 0—9 53—58 Имя поля Текстовое 59—60 У пр а в ляющий уровень L1—L9 61—62 Поле связки С1—С9 Cl—С9 Поле подбора Ml—М3 Ml—М3 63—64 Связь полей записей 01—99 65—70 Указатели поля 01-99 Н0-Н9 65—66 Плюс 01—99 НО—Н9 67—68 Минус 01-99 НО—Н9 69—70 Нуль или пробел 01-99 НО—Н9 71—74 Пробелы Номер позиции записи, содержащей последний знак данного поля. Если К было указано в графе «Начало», то оно должно быть задано и здесь Длина дробной части (0—9) входногоz поля. Если входное поле содержит целое число, указывается нуль. За- полняется только для числовых по- лей. Для текстовых полей должна быть пустой Имя поля, описанного в графе «Поло- жение поля в записи» Данное поле является управляющим, L1—L9 означает уровень управля- ющего поля. L1 — уровень самой низкой значимости, L9 — уровень самой высокой значимости Поле является полем связки Поле является полем подбора Указатель типа записи, заданной в этой графе, определяет принадлеж- ность данного поля к этой записи Графа заполняется в том случае, если используется общее описание запи- сей и некоторые поля записей рас- положены неодинаково Данная графа, состоящая из трех граф: «Плюс», «Минус» и «Нуль или пробел», используется для ука- зания, что содержимое входного по- ля нужно проверить на «плюс», «минус» или «нуль или пробел» и установить соответствующий указа- тель Проверяется, является ли содержимое данного входного поля больше нуля, и, если содержимое поля больше нуля, включается указатель, задан- ный в графе. Если содержимое по- ля меньше нуля или равно «+0», указатель выключается Проверяется, является ли содержимое данного входного поля меньше нуля, и, если содержимое поля меньше нуля, включается указатель, задан- ный в графе. Если содержимое по- ля больше нуля или равно «—0», указатель выключается Проверяется, является ли содержимое входного поля равным нулю (для цифровых полей) или равным про- белам (для текстовых полей), и в соответствии с этим включается или выключается указатель, заданный в графе Не используются 163
РПГ , • . ГЕНЕРАТОР ПРОГРАММ ОПИСАНИЕ ВЫЧИСЛЕНИЙ ОТЧЕТОВ ПРОГРАММА < - — .. — ДАТА.ЗРЛ&Д ,ЛИСТОВ—L—, ПРОГРАММИСТ , Воробьев ............... ___________ ЛИСТ &3, И ДЕНТ 1^,1 1 Jц СТРОКА 3. ,5 » ТИП БЛАНКА 1 1. и УСЛОВИЕ ВЫЧИСЛЕНИЯ ОПЕРАНД-1 ОПЕРАЦИЯ 28. , , ,32 ОПЕРАНД-* 88| i i t it.it ,42 ' поле РЕЗУЛЬТАТА ц 1.. у* ДЛИНА поля ЙЛ 1 ! 1 5 52 '1 El i 53 . УКАЗАТЕЛИ I РЕЗУЛЬТАТА j 60, t КОММЕНТАРИИ J—1. pi E9!SS@! 1 1 и и СРАВНЕНИЕ t ♦ < i i t_g 7,8 S 9. .11 12| ,14 3 IS, .<? 1>2 <»2 54,55 58,5? 58,59 0.1 .0 с дТ ,0.2 P.u. AJ>,D. . 5LAJL_i 1 « « । > >* 0 » -1 - .„.L_ 1 1 1 1 1 1 1 г к I -l—L птяикмскв tlitt 1 t • » S.EJ.O.F ><ii,>iiii I I I It • » 1 - t 1 1 1 1 1 it I t t'l 1 1- йязайи мм ММ 1 t R|A|k, Ii 1 i 1 A.».P. i_ R.W. . , . , . 0 1 1 . i 1 I I I t 111 I I 1 l_J. 1 °iM с Ц2 • 1 ^|Л.^Л| i । i । । A,D,D, , R|A,B,2| . । t t 1 к,л,вд , Jl* 0 1 1 , till t 1 1 1 1 1 I 1- 1 0,5^ с ЦЗ 1 t RABL2t , ,ii, A.D.P, , R.A. БД , i । . । R|A|B.3| , ,м 0 _L_ III l ltiitt till 0,6, с в t 1 t 1 1 1 I 1 I II 1 t । 1 । t । t । i i , ,„i ,i « I . t i 1.. 1—1 I 1 1,1.. 1 1 .1.. 1 l,„..l ,,l 0,7. с « 1 t 1 1 < t lilt till « t> ' । iiii iiii _u_ -J— -J— 1 I..I 1 .1—1 » .l—1 1. .11- °д с t 1 tilt, i iN I 1 1 11 । t ,i > t । ti । i .г.i .1 t.. 1 1 t I .I..I l„.l_t.J^J._l,,.L I..I—,t 1 .,, 0,9. с В J t 1 1 t 1 I i lift Illi ,, * 1 iiii « « t —I... * _L_ 1 It t t t 1 i till ,t I Mi с - а 1 t (till IIII Illi « *« 1 11 t 1 * 1 1—L_ i. .-i- i —J — —I— » 1 1 1 1 > » > 1 l 1 I „1 1 u> с * к . t • I I «tit Iiii i । t i t i i i i ' । । >> 1 1 1_L 1 1 t 1 t t t 1 < 1 Ml с • а 1 i l t । l I । i i i 1 t t i i i I lilt 1 1 1 ,1 1. .1 1 1 t 1 Тд1 с 1 f 1 t 1 t 1 Illi 1 t 1 rJ t i i t i i i i i 1 t t i > 1 1 1 * I Г 1 1 t I I 1 1 1 t 1,4, с L • 1 L 1 1 1 1 t 1 1 1 1 1 t i i i i i i i t iiit; i i t r l 1 1 11. i l ГТ I 1 1 1,5, с а 1 I 1 1 I 1 t 1 1 till IIII i i 1 , i i t i i । । < । । ,i । 1 • f | ' 1 ' t 1 1 1 1 t 1 1 ( , 1 > I I С L. 1 1 1 1 1 IIII 1 t 1 1 t t t | i i । t i Ci_i i I 1 , 1 I -till 11 111 1 1 1 1 1 » » с к а t 1 l ilt f t 1 I 1 till i i t_.i t i i I t i ‘ t. t । t • । r r • 1 f 1 1 II 1 1 1 1 1 с t » 1 1 t ! t 1 1 t 1 I IIII i i t i । t i t I till! । « __.i f Tj 1 '« • Iе f « 1 I 1 Л I 1 с • 1 1 < • tftttllt 1 t i I t i I l i 1 t t I » • » t- 11 1 1 I" 1 I-I 1 1 J с • • 1 1 » » t t i i t t i t t t t « 1 t i t i t I ti i 1 1 ♦ 1 1 _ » i 1 ir . I ,. • ‘t -j i- ц-V t । t vi t । f t t • 1 I , с а ж i i i t i iit« 1 1 t t i i t t i i i t i t t I t t i f l‘l 1 •*! I_ t ’J 1 Г 1 I l- .l 1 -UL. с 1 . ,1.1— i i-j i ,i-t Lj_i -l-L l,.J_ 1 .J l.l.l t„,f_X 1, -L I I. t. 1 .J-J— —1— U— ~u _1L Л-L i-L-L.U .1-,1-i 1, Рис. 9
Таблица 10 Бланк описания вычислений (рис. 9) Колонки Название графы Значение Пояснение 1 2 3 4 7—8 Управляющий LI—L9 Для указания, что вычисление, запи- 9—17 уровень Условие вычис-' ления LO, LR санное в данной строке, должно быть выполнено в период итоговой обработки. L1—L9, LO, LR указы- вают уровень итоговых вычислений Условие, при выполнении которого нужно производить вычисление, за- писанное в данной строке 12, 15 М Для. задания условия можно исполь- зовать до трех указателей. Условие выполнено, если указатели находят- 10-11. 01—99 ся в состоянии/ заданном для них, т. е. включены^ если колонки 9, 12, 15 пусты, или выключены, если ко- лонки 9, 12, 15 содержат N 13—14 16-17 LI— L9 НО—Н9 MR, LO LR, ОА—OG - VO 18-^27" Операнд-1 Текстовое Литерал Для задания имени поля, используе- мого в качестве операнда-1 одной операции. Имя поля должно быть предварительно определено в графе «Поле результата» или на бланке входных данных Для задания операнда одной операции 28—32 Код операции Код операции Код операции, которую необходимо выполнить. Описание операции и за- полнение граф бланка описания вы- числений для различных операций приведено в табл. И—13 33—42 Операнд-2 Текстовое Литерал Аналогично графе «Операнд-2» : 43—48 Поле результата Текстовое Для задания имени поля, использу- емого для хранения результата one- 49—51 Длина поля Числовое раЦИИ Длина поля результата. Указывается в том случае; если поле результата не описано в других операциях. Максимальное значение для тексто- вых полей — 256, для цифровых — 16. Длина поля подсчитывается-от- носительно распакованного формата 52 Длина дробной части 0—9 Длина дробной части поля результа- та. Для текстовых полей никогда не заполняется. Для числовых по- лей заполняется и в том случае, если поле содержит целое число 53 » Округление Н Производится округление результата вычисления. ^Округление выполняет- ся прибавлением числа 5 к цифре справа от последней цифры, сохра- няемой в результате. Округление может быть задано только для ариф- метических операций 465
Окончание табл. 10 ] 2 з|4 54—59 Указатели . ре-. 01—99 зультата НО—Н9 L1-L9 60—74 Комментарии Любые знаки В графе можно, задать от одного до пяти указателей, используемых: в арифметических операциях* для про- верки поля результата на боль- ше, меньше или равно нулю; в операциях сравнения: для проверки, является ли 1-й операнд больше, меньше или равным 2-му операнду; в операциях «Найти в таблице» для определения типа поиска по таб- лице; в операциях SETON и SETOF для за- дания указателей, которые необходи- мо включить или выключить; в операциях TESTZ для задания, ка- кую зону поля нужно проверять на присутствие В других операциях графа не исполь- зуется Указатели, записанные в графе, вклю- чаются, если условие проверки вы- полнено, и выключаются в против- ном случае Условия, вызывающие включение ука- зателей для арифметических опера- ций, операций сравнения и операции «Найти в таблице»,1 приведены в табл. 14 Поясняющий, текст Описание операций Таблица 11 ч Операция Код Выполнение 1 2 3 Прибавить Арр Операнд-1 алгебраически складывается с опе- рандом-2, и результат записывается в поле результата Очистить и приба- вить Z-ADD Поле результата заполняется нулями, после этого операнд-2 помещается в поле резуль- тата Вычесть SUB Операнд-2 алгебраически вычитается из опе- ранда-1, и результат записывается в поле результата Очистить и вычесть Z-SUB Поле результата заполняется нулями. Затем в поле результата пересылается операнд-2 . с обратным знаком Умножить MULT Операнд-1 алгебраически умножается Ма опе- ранд-2, и результат помещается в поле ре- зультата 166
Продолжение табл. 11 з Делить DIV Переслать остаток MVR Переслать MOVE Переслать слева MOVEL Переслать зону справа вправо Переслать зону слева вправо Переслать зону справа влево Переслать зону слева влево Сравнить MLLZO MHLZO MLHZO MHHZO СОМР Тестировать зону TESTZ Операнд-1 делится на операнд-2. Результат помещается в поле результата. Операнд-2 должен быть отличным от нуля Остаток от операции деления запоминается в поле результата. Операция может исполь- зоваться только после операции деления Пересылаются знаки операнда-2, начиная е по- зиции справа, в правые позиции поля резуль- тата. Если операнд-2 длиннее поля резуль- тата, то избыточные самые левые знаки операнда-2 не пересылаются. Если поле ' ре- зультата длиннее операнда-2, то знаки поля результата слева от пересланных данных не изменяются Пересылаются знаки операнда-2, начиная с по- зиции слева, в самые левые позиции поля результата. Если операнд-2 длиннее, чем по- ле результата, то избыточные правые знаки операнда-2 не пересылаются. Если поле ре- зультата длиннее, чем операнд-2, то знаки поля результата справа от пересланных дан- ных не изменяются. Если данные пересыла- ются в цифровое поле, то знак поля сохра- няется Операция описана в табл. 12 Операция описана в табл. 12 Операция описана в табл. 12 J Операция описана в табл. 12 Операнд-1 сравнивается с операндом-2. В за- висимости от результата сравнения включа- ются указатели результата, заданные в ко- лонках 54—59. Перед сравнением числовые операнды выравниваются по подразумеваемой десятичной точке и. недостающие цифры счи- таются нулями. Числовые поля сравниваются алгебраически. Текстовые операнды выравни- ваются по самым левым знакам, недостающие знаки считаются пробелами. Максимальная длина текстовых полей одинаковой длины — 256 знаков, неодинаковой длины — 200 - зна- ков. Нельзя сравнивать текстовые поля с числовыми Используется для проверки на присутствие зон в самом левом знаке поля результата. Зона для проверки определяется по графе «Ука- затели результата». Если указатель задан в колонках 54—55, проверяется 12-я зона. Если зона присутствует (знаки А—-I, &, О), указатель включается. Если указатель задан в колонках 56—57, проверяется 11-я зона. Если зона присутствует (знаки =, J—R, О), указатель включается. Если указатель задан 167
Продолжение табл. 11 Выход в подпро- EXIT грамму Определить метку RLABL РПГ Определить/ метку потребителя UEABL Вставиться или ид- GO ТО ти к Определить метку для GO ТО TAG Включить указа- SETON тель Выключить указа- тель SETOF в колонках 58—59, проверяется любая дру- гая зонами в случае;,ее присутствия включая ется заданный указатель Используется для передачи управления внешней подпрограмме. Имя- подпрограммы указывав етсяг в графе «Операнд-2». Имя не должно содержать более 6 алфавитно-цифровых зна- ков; Первым знаком имени должна быть буквам Предназначена для определения поля програм- мы РПТ, которое могут использовать про- граммы* внешние по отношению к данной программе. Имя этого поля записывается в графе «Поле результата». Полем, которым могут пользоваться внешние программы, мо- жет быть л числовое ил и текстовое поле, ука^ за гель или таблица. Длина поля и дробной чаете должна быть определена в этой или в предшествующих операциях вычислений или на! бланке входных данных Операция: позволяет использовать в программе РПГ поле, определенное в другой программе, внешней по отношению к данной. Имя внеш- него поля записывается- в графе «Поле ре- зультата». Длины внешнего поля и дробной части указываются для этой операции в со- ответствующих графах бланка? Предназначена для? передачи управления^ из данной точки в другую точку программы. В; графе «Операнд-2»* указывается меткам по- следовательности операций, к которой пе- редается управление. Операциям программы метка назначается с помощью операции1 TAG. Если операцию перехода нужно выполнить в период итоговой обработки, то в графе «Управляющий уровень» необходимо задать указатель соответствующего управляющего уровня. Предназначена для указания метки последова- тельности операций. Эта метка используется только в операции GO ТО для задания точки перехода. Метка указывается в графе «Опе- ранд-1 ^операции TAG. Если операция TAG записана среди итоговых операций, то в гра- фе^ «Управляющий уровень» необходимо за- дать- указатель управляющего уровня. В дан- ном^ случае он используется только как при- знак принадлежности к итоговым операциям Предназначена для включения указателей (до трех)’. Указатели, которые необходимо вклю- чить^ задаются в графе «Указатели резуль- тата»; В операции можно задать любые ука- затели? кроме L0 и 00 Предназначена для выключения указателей (до трех); Указатели, которые необходимо вы- ключить, задаются в графе «Указатели ре- 168
Продолжение табл. 11 1 I 2 I 3 зультата». В операции можно задавать лю- бые указатели, кроме L0 и 00 Найти в таблице LOKUP Предназначена для поиска по таблице. Можно выполнять поиск для нахождения аргумента, равного искомому, и, если таблица упорядо- х чёна, то и ближайшего большего или мень- шего по отношению к искомому. Вид и ре- ' зультат поиска определяются по графе «У ка- затели результата». Если нужно выполнить поиск по равенству, то в колонках 58—59 задается указатель. Указатель будет вклю- чен,, если искомый аргумент найден, и вы- ключен, если не найден. При выполнении поиска для нахождения ближайшего боль- шего или меньшего аргумента указатели за- писываются в колонках 54—55 или 56—57. Имя искомого аргумента или сам аргумент задается в графе «Операнд-1». Имя таблицы, в которой нужно выполнить поиск аргумен- та, задается в графе «Операнд-2», а имя таблицы, из которой должна быть получена соответствующая аргументу функция,— в гра- фе «Поле результата» Программа преоб- RPGCV Используется для указания, что программа разования РПГ преобразования поля файла адресов записей или поля со связками закодирована на блан- ке вычислений. Операция является первой операцией программы преобразования. В гра- фе «Операнд-Ь указывается метка операции RPGCV. Эта же самая метка указывается также на бланке дополнительной информа- ции в колонках 27—32 описания того фай- ла, для которого используется данная про- грамма преобразования. В графе «Поле ре- зультата» указывается имя поля для хране- ния адреса дорожки. Это поле должно быть текстовым и должно иметь длину 8 байтов За данной операцией должна следовать опера- ция KEYCV, если используется выборка по ключу Конец программы ERPGO Служит для указания конца программы преоб- преобразования разования, закодированной на РПГ. Являет- РПГ ся последней операцией программы преобра- . , зования Внешняя програм- EXTCV Используется для указания, что программа ма преобразова- преобразования поля файла адресов записей ния или поля связки является внешней по отно-. шению к данной программе РПГ. В графе «Операнд-1» указывается метка операции EXTCV. Эта же самая метка указывается также на бланке дополнительной информа- ции в колонках 27—32 описания того фай- ла,, для которого, используется данная про- грамма преобразования. В графе «Поле ре- зультата» указывается имя поля для хране- ния адреса дорожки. Это поле программы 169
Окончание табл. 11 РПГ, оно не должно определяться во внеш- ней программе. Поле должно быть тексто- вым и иметь длину 8 знаков. В графе-«Опе- ранд-2» указывается имя внешней программы преобразования. За данной операцией долж- на следовать операция KEYCV, если исполь- зуется выборка по ключу Ключи записи KEYCV Используется для задания имени поля, в ко- торое записывается ключ записи, полученный в результате выполнения программы преоб- разования (записанной на РПГ или внешней). Имя поля для хранения ключа записывается в графе «Поле результата». Длины поля и дробной части должны быть заданы в этой операции, если они не были заданы раньше. Операция может использоваться только непо- средственно после операций EXTCV или RPGCV Таблица 12 Операции пересылки зон Операция Тип Выполнение операции операнда-2 поля резуль- тата MLLZ6 Текстовой Текстовой Биты 0—3 самого правого байта операнда 2 пересылаются в биты 0—3 самого правого байта поля результата Текстовой Числовой Биты 0—3 самого правого байта операнда-2 пересылаются в биты 4—7 самого правого байта поля результата Числовой Текстовой Биты 4—7 самого правого байта операнда-2 пересылаются в биты 0—3 самого правого байта поля результата^ MHLZO Числовой Числовой Биты 4—7 самого правого байта операнда-2 пересылаются в биты 4—7 самого правого байта поля результата Текстовой Числовой Биты 0—3 самого левого байта операнда-2 пересылаются в биты 4—7 самого правого байта поля результата Текстовой Текстовой Биты 0—3 самого левого байта операнда-2 пересылаются в биты 0—3 самого правого байта поля результата MLHZO Текстовой Текстовой Биты 0—3 самого правого байта операнда-2 пересылаются в биты 0—3 самого левого байта поля результата Числовой Текстовой Биты 4—7 самого правого байта операнда-2 пересылаются в биты 0—3 самого левого байта поля результата MHHZO Текстовой Текстовой Биты 0—3 самого левого байта операнда-2 пересылаются в биты 0—3 самого левого байта поля результата 170
Таблица 13 Заполнение граф бланка описания вычислений для различных операций Операция .Графы бланка вычислений управля- ющий уровень условие вычисле- ния операнд-1 операция операнд-2 поле ре- зультата длина поля длина дробной части 1 округле- ние указатели результата 1 2 3 4 5 6 7 8 9 16 И / Арифметические операции Прибавить В В Ч ADD Ч Ч В В В В Очистить и прибавить В В Z-ADD Ч Ч В В В В Вычесть В В Ч SUB Ч Ч В В В В Очистить и вычесть В В Z-SUB Ч Ч В В В В Умножить В В Ч MULT Ч Ч В В В В Делить В В Ч DIV Ч Ч ' В В В В Переслать остаток В В MVR Ч В В В В * Операции пересылки Переслать В В MOVE Ч, Т Ч, Т В В Переслать влево В В MOVEL Ч, Т Ч, Т В В Переслать зону слева вправо В В MHLZO Т Ч, Т В В Переслать зону справа влево В В MLHZO Ч, Т Т В Переслать зону слева влево В В MHHZO Т Т В Переслать зону справа вправо В В MLLZO Ч, Т Ч, Т В В Операции проверки или сравнения Сравнить В В Ч, Т СОМР Ч, Т 0 Тестировать зону В В . Т 0 Найти в таблице В В Ч, Т TESTZ Ч, Т В В В 0 LOCUP
а - , Продолжение табл, 13 1 1 2 \ 3 4 | б | в | 7 | в | 9 | 10 и Операции установки указателей Включить указатель В В SETOV 0 Выключить указатель В В SETOF 0 - Операции ветвления и выхода 1 Ветвйться или идти к В В GO ТО М Определить метку для GO ТО В М TAG Выход в подпрограмму В В EXIT П X Определить метку РПГ В RLABL Ч. Т В В Определить метку потребителя В ULABB Ч, Т О В с Операции программы преобразования Программа преобразования РПГ В М RPGCV Т1, 8 ' Конец программы преобразования РПГ В ERPGG Внешняя программа преобразования В М EXTGV П Т 8 Ключ записи В KEYGV Ч, Т В В Примечание. В табл. 13 используются следующие обозначения: В — значение может присутствовать или отсутствовать (по выбору); О — значение должно обязательно присутствовать; Ч значение должно присутствовать и быть именем числового поля или числовым литералом; Т — значение должно присутствовать и быть именем текстового поля или текстовым литералом; М—значение должно присутствовать и быть меткой; П — значение должно присутствовать и быть именем внешней программы; 8 —значение равно 8. Пустая клетка таблицы означает, что графа не используется.
РИГ ГЕНЕИТОР ПГОГРЛИМ ОТЧЕТОВ ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ ПРОГРАММА - программист ВОРОБЬЕВ ййй 2 GWA имя ФАЙЛА S' д| fl ш. ом 0|З.Ф ОД0 №£ 0,0 £ О о о о о о . ! « МгА.6,3, > iH i I ГО О Л-С± w 1,0,0 1М 1М 1Д2 1L2 О о о о о о о о о О"чЬ.|. , , .0 г , ИН ifia 16 15 н_ R £ R н R D I? КАНАД УПРАМММЯ ЯРЛГЯЖКОЙ УСЛОВИЕ ВЫВОДА ДАТА 20Л2.76 ЛИСТОВ 1 лисг^4 а у । к.' в I 19.20 2<i22 £ 231 >25 ,!,Р Ж 1J______£ § zfi.. имя поля Д |31 й» I . I I ! ё >59 ВОСДЕДНЯЯ ПОЗИЦИЯ поля в выходной ЗАПИСИ <о».| у» I КОНСТАНТА ПАИ ШАБЛОН РЕДАКТИРОВАНИЯ 4S Л I t I t 1 1 позиция знака СТЕРАМИ» -Ui-Ч. 51 ,1 ,Р iOiF Й ,0£ -М- -О- _Й2 М-1-М п .LuiZl? -L >5!5 1 д>1 да: да да ,цД9 > Л .Е.Х;Н,ОЛ,О<Г>У1<ЧЕ>С|К|И>Й1^М|А<Р Д1 P.YJ.7 -l-l.J. I..Lf 1-L..U-I. I .1 .4 2 ди фр .о де .р>?Г,777; 'iW, t . i.i . г».. с fj-uj.i । r £i > i i > I лДАгДН|У( f_i_n I t 1 Л7 I . 1 I J —I—1—1-.! 1,1—I—I—1—1—1—1__!_1—|_I—1_I—I..L. ?гД|£|Т1А!Л(И1М>-||3,А|Х|0|Д|А|7| I t t | ^>О.Б|А|Р|АИ1и>П|ОДТ,01РгА,^ , , 3 Puc. 10
Таблица 14 Бланк описания выходных данных (рис. 10) Колонки Название графы Значение Пояснения " 1 2 3 4 7—14 15 16 14—16 17-18 17 18 16—18 19-22 19-20 21—22 23-31 23, 26, 29 24—25, 27—28, 30—31 32—37 Имя файла Строка H/DT Приемный карман Пропуск До печати После печа- ти Прогон До печати После печа- ти Условие вы- вода Имя поля Текстовое Н D Т 1, 2, 3 AND OR 0, 1, 2, 3 0, 1, 2, 3 ADD 01—12 01—12 01-12 N или про- бел 01—99 LI—L9, LR НО—H9, MR, ОА—OG, OV, IP Текстовое Имя выходного файла . Для заглавных записей Для детальных записей Для итоговых записей Номер приемного кармана, в который долж- ны быть уложенй карты выходного фай- ла. Для файлов, требующих две области ввода-вывода, а также для устройств с единственным карманом графа не запол- няется Для задания условия вывода записи, со- стоящего из более чем трех указателей Для задания нескольких условий вывода одной и той же записи Графа объединяет две графы, служащие для указания количества пропуска пустых строк до и после печати строки Количество пустых строк до печати строки Количество пустых строк после печати строки Запись, описанная в данной строке, должна быть добавлена в индексно-последова- тельный файл Данная графа объединяет две графы, слу- жащие для указания кода перфоленты управления операцией прогона бумаги на устройстве печати Код управляющей перфоленты, до которого перед печатью строки нужно выполнить прогон бумаги на устройстве печати Код управляющей перфоленты, до которого после печати строки нужно выполнить прогон бумаги на устройстве печати Используется для задания условия, при выполнении которого нужно производить вывод записи или поля. Условие выполне- но, если указатели, используемые для задания условия, находятся в состоянии, которое задано для них (включены, если колонки 23, 26, 29 пусты, или выключе- ны, если колонки 23 , 26 , 29 содержат N). При задании условия вывода записи можно использовать несколько строк. Для одной записи можно задать несколь- ко условий вывода Имя поля, которое нужно поместить в вы- ходную запись. Поле должно быть опре- делено на бланке входных данных или на бланке вычислений. Поля с имена- ми PAGE, PAGE I — PAGE 7 ис- 174
Окончание табл. 14 4 38 , Гашение 1 нулей 39 Очистка В 40—43 Последняя Числовое позиция по- ля в выход- ной записи 44 Упакован- Р ный 45—70 Константа Литерал или шаблон .редактиро- вания 71—74 пользуются для автоматической нумерации листов отчета. Если в строке описана константа, данная графа не заполняется Гашение: незначащих нулей и знака число- вого поля. Не заполняется, если для ре- дактирования поля используетсяv шаблон редактирования или если поле текстовое Очистка поля после помещения поля в вы- ходную запись. Числовые поля заполняю- тся нулями, текстовые — пробелами Позиция выходной записи для самого пра- вого знака поля. Если данная строка бланка используется для определения поля в области ключа для неблокированных записей индексно-последовательного файла, то слева от старшей цифры номера пози- ций записывается К Выходные данные нужно получить в упа- кованном формате Константа, которую нужно поместить в вы- ходную запись, или шаблон для редакти- рования числового поля перед занесением его в выходную запись Не используются ДИАГНОСТИЧЕСКИЕ СООБЩЕНИЯ ТРАНСЛЯТОРА РПГ Транслятор РПГ выполняет синтаксический контроль исходной программы и назначений устройств для рабочих файлов транслятора. В случае обнаружения оши- бок транслятором выводятся соответствующие сообщения на SYSLST. Все сообщения состоят из номера сообщения (NOTEXXX) и некоторого текста, указывающего на возможную причину ошибки и действие, выполняемое транслятором в ответ на дан- ную ошибку. Сообщенйя печатаются на английском языке. Ниже для каждого номера сообщения приводятся только пояснения на русском языке. Текст сообщений на ан- глийском языке не приводится. В тексте некоторых сообщений указываются номера колонок бланка, в которых допущена ошибка. В этом случае для идентификации бланка перед номерами колонок указывается код типа бланка: Н — для управляющей карты, F — для бланка описания файлов, L — для бланка счетчика строк, Е — для бланка дополнительной; информации о файлах, I — для бланка вводных данных, С — для бланка вычислений, О — для бланка выводных данных. -001 Недопустимое значение в графе «Тип файла» (F 15). Строка не обрабатыва- ется. 002 Недопустимая комбинация значений в колонках F 28, F 31 „и F 32. Строка не обрабатывается. 003 Значение в графе «Длина ключа или адреса в файле адресов» (F 29—30) недо- пустимо, не выровнено справа или отсутствует. Для файла адресов записей прини- мается значение 08, для файла ADDROUT — 10. 004 На бланке описания файлов описано более одного файла адресов. Все описания файлов адресов, кроме первого» не обрабатываются. 175
h 005 Недопустимое значение в графе «Дополнительная информация» (F 39) для выводного файла. Для-последовательных файлов принимается значение L, для ин- дексно-последовательных файлов значение игнорируется. 006 Значение-в графе «Назначение файла» (F 16) недопустимо или отсутствует. Для файла ADDROUT принимается значение R, в других случаях — S. 007 Указатель конца листа (F 33—34) начинается не с буквы О. Принимается зна- чение О. 008 Недопустимое значение в графе «Указатель конца листа» (F 33—34). При- нимается значение ОА. 009'Описан более чем один первичный файл. Все файлы, кроме первого, полага- ются вторичными. 010 Недопустимое значение в графе «Метод обработки»'(F 28). Принимается зна- чение R. 011 Для файла, содержащего записи фиксированной длины, длина блока не крат- на длине записи. Длина блока увеличивается до значения, кратного длине записи. 012 Графа «Организация файла» (F 32) заполнена для последовательного файла. Значение графы игнорируется. 013 Недопустимое значение в графе «Конец обработки» (F 17). Значение графы игнорируется. 014 Недопустимое значение в графе «Упорядоченность записей» (F 18). Значение графы игнорируется. 015 Графа «Метод обработки» (F 28) заполнена для последовательного файла. Значение графы игнорируется. 016 Графа «Извлечение записей» (F 31) заполнена для последовательного-файл а. Значение графы игнорируется. 017 Недопустимое значение в графе «Дополнительная информация» (F 39) для вводного файла. Принимается значение Е. 018 Недопустимое значение в графе «Формат записи» (F 19). Для индексно-по- следовательного файла принимается значение F, в других случаях —значение V. 019 Значение в графе «Длина блока» (F 20—23) отсутствует, не выровнено справа, недопустимо или меньше, чем длина записи. Длина блока принимается равной длине записи. ' 020 Значение в графе «Длина записи» (F 24—27) отсутствует, недопустимо или не выровнено справа. Длина записи принимается равной 80. 021 Значение в графе «Имя файла» (F 7—24) отсутствует, недопустимо или не вы- ровнено слева. Строка не обрабатывается. - 022 Графа «Назначение файла» (F 16) заполнена для выводного файла. Значение графы игнорируется. 023 В программе описано более десяти файлов. Учитываются только десять пер- вых правильных описаний файлов. Все другие описания файлов обрабатываются как комментарии. 024 Значение в графе «Положение ключа в записи» (F 35—38) недопустимо, не выровнено справа или больше, чем длина записи.. Принимается значение 1. 025 Недопустимое значение в графе «Тип устройства» (F 40—46). Строка не об- рабатывается. 026 Недопустимое значение в графе «Символическое имя устройства» (F 47—52). Строка не обрабатывается. 027 Недопустимое значение в графе «Метки» (F 53). Для файлов на магнитных лентах и дисках принимается значение S, в других случаях значение игнорируется. 028 Имя подпрограммы обработки меток (F 54—59) опущено, неверно или не вы- ровнено слева. Строка не обрабатывается. 029 Имя подпрограммы XTNTXIT (F 60—65) не выровнено слева. Строка не обрабатывается. 030 На бланке дополнительной информации о файлах. Описано более одного фай- ла адресов. Строка не обрабатывается. 031 Файл, заданный в графе «Йз файла» (Е 11—18), не описан на бланке описания файлов. Строка не обрабатывается. 032 В графе «Дополнительная информация» (F 39) строки описания файла, задан- ного в графе «Из файла» (Е 11—18), не Е. Строка бланка дополнительной информации о. файлах не обрабатывается. .176
033 Длина текстового элемента таблицы (Е 40—42 или Е 52—54) больше 256. Принимается длина 256. 034 Значение в графе «Поле связки» (Е 9—10) отсутствует, недопустимо или не выровнено справа. Строка не обрабатывается. * 035 Область основной памяти, отведенная для.таблицы имен полей, недостаточна р для размещения в ней имен таблиц, меток подпрограмм преобразования и имени поля CONTD. Строки бланка дополнительной информации, содержащие вышеуказанные имена, не обрабатываются. 036 Опорный файл, заданный в графе «Для файла» (Е 19—26), не описан на бланке описания файлов. Строка не обрабатывается. / , 037 Файл, заданный в графе «Из файла» (Е 11—18), на бланке описания файлов описан как файл со связками, а файл, заданный, в графе «Для файла» (Е 19—26), не описан как опорный. Строка не обрабатывается. , 038 Дл ина числового элемента таблицы (Е 40—42 или Е 52—54) больше 15. Принимается длина, равная 15. z . 039 Метка подпрограммы преобразования (Е 27—32) отсутствует, неверна или “ не выровнена слева, Строка не обрабатывается. 040 Файл, заданный в графе «Из файла» (Е 11—18), на бланке описания файлов описан к ак файл адресов, а файл, заданный в графе «Для файла>\(Е 19^26), не опи- сан как первичный или вторичный. Строка не обрабатывается. j 041 Недопустимое значение в графе «Упорядоченность» (Е 45 или Е 57). Значение графы игнорируется. 042 Имя таблицы (Е 27 —32 или Е 46—51) определяется повторно. Строка не обрабатывается. ~ 043 Выводной табличный файл, заданный в графе «Для файла» (Е 19—26), не , описан на бланке описания файлов. Значение графы игнорируется. 044 Файл, заданный в графе «Из файла» (Е 11—18), на бланке описания файлов описан как табличный файл, а файл, заданный в графе «Для файла» (Е 19—26), не описан как выводной. Значение графы игнорируется. 045 Имя таблицы(Е 27—32 или Е 46—51) опущено или не выровнено слева. Стро- * ка не обрабатывается. й 046 Имя таблицы (Е 27—29 или Е 46—48) начинается не с TAB. Принимается TAB. - 047 Значение в графе «Количество элементов в. записи» (Е 33—35) отсутствует, недопустимо или не выровнено справа. Принимается значение 8. 048 Значение в графе «Количество элементов в таблице или массиве» (Е 36—39) I опущено, недопустимо или не выровнено справа. Принимается значение 150. 049 Значение в графе «Длина элемента» (Е 40—42 или Ё 52—54) отсутствует, не- допустимо или не выровнено справа. Принимается значение 10. 050 Недопустимое значение в графе «Формат» (Е 43— или Е 55). Значение графы Игнорируется. 051 .Недопустимое значение в графе «Длина дробной части» (Е 44 или Е 56). При- нимается значение 0. 052 Недопустимое значение в графе «Порядок следования записей» (Е 7—8). Обе позиции должны содержать или только цифры, или только латинские буквы. Строка не обрабатывается. 053 Предупреждение: символическое имя устройства (F47—52) используется транслятором РПГ. 9 054 Имя подпрограммы об работки, мето к (F 54—59) и (или) имя подпрограммы XTNTXIT (F 60—65| указаны для.файлов, расположённых на’устройствах, отлйч- I ных от магнитных лент или дисков. Значения в колонках F 54—65 игнорируются. I 055 Указатель конца листа (F 33—34) использован для файла, отличного от вы- ; водного. Указатель игнорируется. 056 Недопустимое значение в колонке F 66 для индексно-последовательного файла. 4 Для выводных индексно-последовательных файлов строка, не обрабатывается, для вводных или обновленных индексно-последовательных файлов значение игнори- руется. 057 Значение в графе «Длина ключа или адреса вхрайле адресов» (F 29,-30) недо- пустимо или не выровнено справа. Для файла> обрабатываемого по ключу, строка не обрабатывается.. 177
058 Недопустимое значение до крайней мере в одной-из колонок (F 67—70). Зна- чение игнорируется. 059 Длина ключа (F 29—30) больше, чем длина записи. Строка не обрабатывается. 060 Недопустимое значение в колонке'F 67 для индексно-последовательного фай- ла. В случае создания или добавления в индексно-последовательный файл принимает- ся значение 0, в других случаях значение игнорируется. 061 Предупреждение: в программе, использующей первичные или вторичные файлы, не определены поля подбора для первичного файла. 062 Предупреждение: в программе, использующей первичные и вторичные файлы, не определены поля подбора для вторичного файла (ов). 063 Сумма длин полей подбора первичного файла не равна сумме длин полей подбора для каждого вторичного файла. Задание снимается после выполнения тран- сляции. 064 Сумма длин полей подбора для записей файла, описанных с полями подбора, не одинакова. Задание снимается после выполнения трансляции. 065 Недопустимое значение в графе «Установка ленты» (F 70). Принимается зна- чение U. 066 Неправильно задан приоритет для назначения второй области ввода-вывода (F 32). Значение игнорируется. 067 Для файла задан и приоритет для назначения второй области ввода-вывода (F 32), и номер приемного кармана (I 42). Значение номера приемного кармана игно- рируется. 071 Описание детальных вычислений следует за описанием итоговых вычислений. Все описания детальных вычислений, следующие за итоговыми, не обрабатываются. 072 В операции LOKUP используется неописанная таблица. Операция LOKUP не обрабатывается. 073 Операция KEYCV следует не за операцией RPGCV или EXTCV. Операция KEYCV не обрабатывается. 074 Недопустимое использование полей, зарезервированных для даты. Строка не обрабатывается. 076 Недопустимое значение для формата даты (Н 21) в управляющей карте. Принимается пробел. * 077 В программе нет правильно описанных вводных данных. Задание снимается после выполнения трансляции. 078 Недопустимое значение в графе «Длина дробной части» (С 52). Принимается значение 0. 079 В качестве имени вводного поля (I 53—58) использована метка подпрограммы преобразования. Строка не обрабатывается. 080 Неправильно задан указатель поля (I 65—66, I 67—68 или I 69—70). Ука- затель игнорируется. 081 Длина полей подбора одного и того же уровня значимости для записей фай- ла, описанных с полями подбора, не одинакова. Задание снимается после выполнения трансляции. 082 Сумма длин полей подбора больше 256. Принимается длина, равная 256. 083 Неправильно задана или не определена длина поля результата (С 49—51). Если длина поля неправильно задана, принимается значение 0. Если длина поля не определена, то для операций. EXTCV и RPGCV принимается длина, равная 8, для всех других операций — 4. 085 Длина поля результата (С 49—51) больше допустимой. Для текстовых полей ’ принимается’длина, равная 256, для числовых полей— 15. 086 Код операции (С 28—32) не верен или не задан. Строка не обрабатывается. 087 Значение в графе «Операнд-1» (С 18—27) отсутствует или недопустимо. Стро- ка не обрабатывается. 088 Значение в графе «Операнд-2» (С 33—42) отсутствует или недопустимо. Стро- ка не обрабатывается. 089 Значение в графе «Поле результата» (С 43—48) отсутствует или недопустимо. Строка не обрабатывается. 090 Недопустимое значение в графе «Тип бланка» (С 6). Строка не обрабатывается. 091 В графе «Нет» (С 9, С12 или С 15) не N и не пробел. Принимается значение N. 092 Недопустимое значение в графе «Управляющий уровень» (С7—8). Принимает- ся значение LO. 178
093 Неверно задан номер указателя результата (С 54—59). Указатель игнори- руется. 094 Указатель.LO или Ul—U8 использован в качестве указателя поля (I 65—70) или указателя результата (С54—59). Указатель игнорируется. 095 Неправильно задан номер указателя в графе «Принадлежность поля типу записи» (I 63—64). Заменяется указателем 00. 096 Недопустимое значение в графе «Округление» (С 53). Принимается зна- чение Н. 097 Неправильно используется имя поля (С 43—48). Строка не обрабатывается. 098 Неправильно задан номер указателя в графе «Условие вычисления» (С 10— С 11, С 13—14 или С 16—17). Заменяется указателем 00. » 099 Не задан указатель результата для операций, требующих его задание (С 54— 55, С 56—57 или С 58—59). Строка не обрабатывается. 100 Операция MVR следует не за операцией DIV или за операцией DIV, в которой задано округление. Строка не обрабатывается. 101 В графе «Начало» (I 44—47) или «Конец» (I 48—51) задано нулевое значение. Принимается значение 1. . 102 Длина поля результата в операциях RPGCV или EXTCV не равна 8. При- нимается длина, равная 8. 104 Предупреждение: указатель 00 использован как указатель типа записи, ука- затель поля или указатель результата. 105 Поля, используемые в операции сравнения текстовых величин с неодинако- вой длиной, имеют длину, большую 200. Строка не обрабатывается. 106 Неверна длина поля для данной операций. Строка не обрабатывается. 107 Заданы указатели для проверки результата выполнения операции на плюс и (или) минус (С 54:—55 или С 56—57) для текстового поля. Указатели игнорируются. 108 Поле данного типа не может использоваться в данной операции. Строка не обрабатывается. 109 Строка описания поля не содержит пробелы в колонках I 7—42. Значения в колонках 7—42 игнорируются. ПО В графе «Тип бланка» (16) не содержится I, С или 0 и в колонке 7 отсут- ствует звездочка. Строка не обрабатывается. 111 Имя файла (I 7—14) не определено на бланке описания файлов. Строка не обрабатывается. 112 Файл с заданным именем (I 7—14) описан на бланке описания файлов как табличный, файл адресов или выводной. Строка не обрабатывается. 113 Неправильно использовано AND (I 14—16> при описании шифра записи, состоящего более чем из трех признаков (AND задано в первой из строк идентифи- кации записи или в строке, следующей за строкой описания поля или строкой С не- правильным именем файла или неправильной идентификацией, записи). Строка не обрабатывается. 114 Графа «Шифр записи» (I 21—41) строки, предшествующей строке с AND в колонках I 14—16, не заполнена. Строка с AND не обрабатывается. 115 Неправильно используется общее описание нескольких типов записей (OR задано в первой из строк идентификации записи или в строке, следующей за строкой • описания поля или строкой с неправильным именем файла или неправильной иден- тификацией записи). Строка не обрабатывается. 116 Имя вводного файла, запись которого описывается в данной строке, не задано или задано неверно. Строка не обрабатывается. 117 В имени поля (I 53—58) содержатся пробелы. Строка не обрабатывается. 118 В одной и той же строке бланка описания вводных данных задано и имя файла, и имя поля. Имя поля игнорируется. 119 Не заполнена графа «Номер» (I 15—16). Принимается значение АА. 120 Описание записи с текстовым значением в графе «Номер» (I 15—16) следует 8а описанием записи с числовым значением в этой графе. Текстовое значение заме- няется предыдущим числовым значением. 121 Числовое значение в графе «Номер» (I 15—16) меньше предыдущего. Заменяет- ся значением, равным предыдущему. 122 В описании записи с числовым значением в графе «Номер» (I 15—16) и в графе «Количество» (I 17) задано не N и не 1. Принимается значение N. 4179
123 В описании записи с числовым. значением в-графе«Номер» (115—16)ти в графе «Отсутствие» (I 18) не 0 и не пробел. Принимается значение 0. 124 Графа «Указатель типа записи^ (I 19—20) не заполнена- или, неправйльно за- полнена. Принимается значение 99. 125 ? В графе «Приемный карман» (L 42} не пробел и не числа., Значение игнори- руется. 126 Значение в графе «Позиция» (I 21—24,1.28—31 или 135—38} содержит внутри себя пробелы (каждый пробел заменяется нулем) или значение в этой графе отсутству- ет» в то время как графы «Нет», <£JZlTto> и «Знак» (I 25—27, I 32—34 или I 39—41) заполнены (значение в графе «Позиция» полагается, равным нулю). 127 Значение в графе «Позиция» (L 21—24,1 28—31 или 135—38) содержит знаки, отличные от цифр. Знаки, отличные от цифр, заменяются нулями. 128 В графе «Нет» (I 25,1.32 или I 39) не пробел и не М. Принимается значение N. 129 В графе «С/Z/D» (I 26— I 32 или I 40) не С, не Z и не D. Принимается значе- ние С. 130 Описание поля является первой строкой описания вводных данных или сле- дует после неправильного описания идентификации записи или неправильного имени файла. Строка не обрабатывается. 131 Значение в графе «Имя поля» (I 53—58) не выровнено слева. Строка, не обра- батывается. 132 Имя поля (I 53—58) начинается с цифры или содержит специальные знаки в русские буквы, отличные по начертанию от латинских. Строка не обрабатывается. 133 Не заполнена графа «Начало» (I 44—47) или графа «Конец» (I 48—51). Прини- мается значение 1. 134 Значение в графе «Начало» (I 44—47) или в графе «Конец» (I 48—51) содержит внутри себя пробелы. Каждый пробел заменяется нулем. 135 Значение в графе «Начало» (L44—47) или в графе «Конец» (I 48—51) содержит знаки, отличные от цифр. Знаки, отличные от цифр, заменяются нулями. 136 Значение в графе «Начало» (I 44—47) больше значения в графе. «Конец» (I 48—51). Длина поля принимается равной 1. ; 137 Недопустимое значение в графе. «Длина дробной части» (I 52). Принимается значение 0. 138 Длина числового поля в распакованном формате больше 15 байтов или длина 2 числового поля в упакованном формате больше 8. Для полей в распакованном формате" принимается длина, равная. 15. Для нолей-.п упакованном формате'—8. 140 Значение в графе «Формат» (I 43) не пробел и не Р. Принимается, значение Р. 141 Номер указателя управляющего уровня (I 59—60) начинается не с L (прини- мается значение L) или в колонке 60 не цифры 1—9 (принимается значение I). 142 : Номер поля связки или поля подбора (I 61—62) начинается не с С йли М (принимается М) или в колонке 62 не цифра (принимается 1). 143 Недопустимое значение для номера значимости поля подбора. (I 62). Прини- мается значение 9'. 144 Длина текстового поля больше 256. Принимается длина поля, равная 256. 145 Задана, проверка вводного текстового поля на плюс или минус,, т. е. задан указатель в колонках I 65—66 или I 67—68 для. текстового поля. Указатель игнори- руется. 149 Заполнены колонки I 43—76 строки, содержащей описание, идентификации записи (AND или OR в I 14—16). Значения в- колонках 43—70 игнорируются. 150 Недопустимое значение в колонках I 14—16. Строка не обрабатывается. 15L B строке» содержащей продолжение описания шифра записи (AND в колонках I 14—16), заполнены колонки 17—20 и (или) 42. Значения в указанных колонках игнорируются. ' . 152 Значение в графе «Конец» (I 48—51), указывающее последнюю позицию поля в области ключа, больше длины ключа. Поле урезается справа по длине ключа. 153 На бланке описания вводных данных описано поле области ключа для файла, отличного, от индексно-последовательного, или описано поле области ключа'для ин- дексно-последовательного файла, для которого задано положение ключа в записи на бланке описания файлов.. Значение К игнорируется и поле обрабатывается как обыч- ное. 154 В графе «Начало» (I 44—47) задано значение К, а в графе «Конец» (I 48—51) ие задано, или наоборот. Строка не обрабатывается. 180
155 В колонкам О 16—18 задана ADD, а на бланке описания файлов для данного индексно-последовательного файла:не задано добавление (пробел в F 66). Значение ADD игнорируется. 156 На бланке описания файлов задано добавление в индексно-последовательный файл (A b F 66), а на бланке описания выводных данных не Описаны добавляемые записи (в О 16—18 отсутствует значение ADD). Задание снимается после выполне- ния трансляции. 159 В графе «Имя поля» (О 32—37) вместо имени поля данных указана или метка операции TAG, или метка подпрограммы преобразования, или имя внешней подпро- граммы. Строка не обрабатывается. 160 Опущено имя файла (О 7—14) или несоответствующий тип записи (015). ‘Строка не обрабатывается. 161 Имя выводного файла, запись которого описывается в данной строке, не > задано или задано неверно. Строка не обрабатывается. 162 Недопустимое значение в графе «Приемный карман» (О 16). Значение игно- рируется. 163 Недопустимое значение в графе «Пропуск до печати» (О 17). Заменяется значением 1. 164 Недопустимое значение в графе «Пропуск после печати» (О 18). Заменяется значением 1. 165 Недопустимое значение в графе «Прогон до печати» (О 19—20). Заменяется значением 01. 166 Недопустимое значение в графе «Прогон после печати» (О 21—22). Заменяется значением 01. 167 Тип-выводной записи (О 15) не Н, D или Т. Строка не обрабатывается.. 168 Колонки О 17—22 заполнены для строки, содержащей продолжение условия вывода (AND в колонках О 14—16). Значения в колонках 17—22 игнорируются. 169 Колонки О 7—13 заполнены для строки, содержащей продолжение условия вывода (AND в колонках О 14—16). Значение в колонках 7—13 игнорируется. 170 Описание записи, в которую входит данное поле, отсутствует или неверно. Строка описания поля не обрабатывается. 171 Недопустимое значение в графе «Редактирование» (О 38). Значение игнори- руется. , 172 Недопустимое значение в графе «Формат» (О 44). Значение игнорируется. 173 Значение в графе «Имя поля» (О 32—37) не выровнено слева. Строка не об- рабатывается. 175 В шаблоне редактирования отсутствует открывающий ил к закрывающий апо- строф (’). Значение в колонках О 45—70 игнорируется. 176 Недопустимое значение в графе «Очистка» (О 39). Значение игнорируется. 177 Для одного и того же файла заданы значения в графе «Приемный карман» (О 16) и в графах «Пропуск», «Прогон» (О 17—22). Значение в графах «Пропуск» и «Прогон» игнорируется. 178 Задано гашение нулей (О 38) для константы или шаблона редактирования. Значение в колонке 38 игнорируется. 179 Имя поля (О 32—37) не определено. Строка не обрабатывается. 180 Предупреждение: очистка после вывода (О 39) задана для константы. После вывода константа будет заполнена пробелами. 181 Константа (О 45—70) не выровнена слева. Строка не обрабатывается. 182 Шаблон редактирования (О 45—70) не выровнен слева. Значение в колон- ках 45—70 игнорируется. 183 В графе «Формат» (О 44) задано значение для константы или шаблона редак- тирования. Значение в этой графе игнорируется. 184 Значение в графе «Имя файла» (О 7—14) не выровнено слева. Строка не обра- батывается. 185 Первым знаком имени файла (О 7—14) не является латинская буква. Строка: не обрабатывается. 186 Шаблон редактирования (О 45—70) не содержит цифровых позиций- или со- держит более 15 цифровых позиций. Значение в колонках 45—70 игнорируется. 187 В константе (О 45—70) отсутствует открывающий апостроф (’). Строка не обрабатывается. 181
188 Строка, содержащая. AND или OR (О 14—16), следует за описанием поля или является первой строкой описания выводной записи. Строка не.обрабатывается. 189 Первым знаком имени поля (О 32—37) не является латинская буква. Строка не обрабатывается. 192 Указатели в условии вывода (О 24—25, О 27—28 или О 30—31) заданы не- правильно или не определены. Заменяются указателем LO. ' 193 Графа «Последняя позиция поля в выводной записи» (О 40—43) неправильно заполнена или не заполнена. Строка не обрабатывается. 194 В графе «Нет» (О 23; О 26 или О 29) не пробел и не N. Принимается зна- чение N. 195 Предупреждение: указатель конца листа задан в строке, содержащей про- должение условия вывода. 196 Задана ненулевая длина дробной части для поля PAGE(N). Длина дробной части принимается равной нулю. 197 Описание записи и описание поля заданы в одной и той же строке или оба описания отсутствуют. Строка не обрабатывается. 198 Неверно задан (не:О) тип бланка (О 6). Строка не обрабатывается. 199 Для строки, содержащей AND или OR (О 14—16), не заданы указатели в графе «Условие вывода» (О 24—25, О 27—28, О 30—31). Строка не обрабатывается. 2С0 Значение в графе «Тип бланка» (F 6, Е 6, L 6) недопустимо или нарушен по- рядок следования бланков. Строка не обрабатывается. 201 Отсутствует информация бланка описания файлов. Задание снимается после выполнения трансляции. 202 Предупреждение: для файла, содержащего в графе «Дополнительная ин- формация» (F 39) значение L, отсутствует информация на бланке счетчика строк. ... 203 Предупреждение: в программе не описан первичный файл. 204 Предупреждение: для файла, содержащего в графе «Дополнительная инфор- мация» (F 39) значение Е, отсутствует информация на бланке дополнительной инфор- мации о файлах. 205 Имя файла (F 7—14) используется повторно. Строка не обрабатывается. 206 В колонках О 40—43 задано К для файлов, отличных от индексно-последо- вательных, или для выводных, или обновленных индексно-последовательных файлов, для которых определено положение ключа в записи на бланке описания файлов. Задание снимается после выполнения трансляции. 208 Не определено положение ключа по крайней мере для одного типа записи индексно-последовательного файла. Задание снимается после выполнения трансляции. 209 Значение в графе «Последняя позиция поля в выводной записи» (О 40—43) для поля области ключа больше, чем длина ключа. Позиции поля ключа справа те- ряются. 210 Предупреждение: файл описан на бланке описания файлов, но нигде не ис- пользуется. 211 Имя файла (I 7—14) используется повторно. 212 Указатель неверно задан или не определен. Заменяется указателем LO. 213 Предупреждение: указатель определен, но нигде не используется. 214 Не определена длина поля с данным именем. Длина поля принимается рав- ной 004. 215 Предупреждение: данное поле определено^ многократно. 216 Предупреждение: данное поле определено, но нигде не испбльзуется. Это сообщение также выводится в том случае, когда в программе определены поля под- бора или поля связки, которые используются в программе только для организации зацепления или подбора и не используются в качестве обычных полей данных. 217 Размер основной памяти, отведенный для рабочей программы, недостаточен для размещения полей и литералов рабочей программы. Задание снимается после вы- полнения трансляции. 220 На бланке описания выводных данных использован файл, не описанный на бланке описания файлов или описанный не как выводной. Файл исключается из об- работки. 221 Предупреждение: на бланке выводных данных не описаны записи файла, ко- торый задан как выводной на бланке описания файлов. 222 - В программе нет правильной информации бланка описания выводных данных. Задание снимается после выполнения трансляции. 182
223 В описании записей выводного печатного файла отсутствуют значения^ гра- фах «Пропуск» (О 17—18) и «Прогон» (О 19—22). Для всех записей печатного файла, для которых не заполнены вышеуказанные графы, будет производиться один пропуск после печати. 224 Для печатного файла задано значение в графе «Приемный карман» (О 16). Значение графы игнорируется. Для всех записей данного файла, для которых запол- нена вышеуказанная графа, будет производиться один пропуск после печати. 225 Графы, используемые для управления печатью или выбором кармана (О 16*^22), заполнены для файла на магнитных лентах или дисках. Значения в данных графах игнорируются для всех записей данного файла. 226 Графы, используемые для управления печатью (О 17—22), заполнены для файл а, выводимого на перфокарты. Значения в вышеуказанных графах игнорируются для всех записей данного файла. 227 Для текстового или числового поля в упакованном формате задано значение в графе «Формат» (О 44) или «Редактирование» (О 38). Значение игнорируется. 228 Значение в графе «Последняя позиция поля в выводной записи» (О 40—43) больше, чем длина записи. Все поле или позиции поля справа теряются. 229 Значение в графе «Последняя позиция поля в выводной записи» (О 40—43) меньше, чем длина поля. Строка не обрабатывается. -230 Длина редактируемого поля больше, чем длина шаблона редактирования. Теряются правые позиции данного поля. 231 Редактируемое поле не числовое. Редактирование не выполняется. 237 Число описаний выводных записей превышает 1023. Задание снимается после выполнения трансляции. 241 Файл с данным именем (L 7—14) не описан на бланке описания файлов. Стро- ка не обрабатывается. 242 На бланке счетчика строк не заданы или неверно заданы коды прогона 01 или 12. Строка не обрабатывается. 1 \ 243 Файл с данным именем (L 7—14) не описан на бланке описания файлов как выводной файл или описан как выводной файл, не требующий информации на бланке счетчика строк. Строка не обрабатывается. 244 На. бланке описания счетчика строк неверно заданы или опущены номер строки или код прогона. Строка, не обрабатывается. 245 На бланке счетчика строк один и тот же код прогона использован несколько раз для одного и того же файла. Строка не обрабатывается. 248 В колонке 26 управляющей карты транслятора РПГ недопустимое значение. Принимается значение А. 250 В исходной программе РПГ отсутствует информация бланка выводных дан- ных. Задание снимается после, выполнения трансляции. 251 Неправильно назначены устройства для рабочих файлов (т. е. не магнитные ленты и не диски). Задание снимается после выполнения трансляции. 252 Размер раздела, отведенный для выполнения транслятора РПГ, меньше до- пустимого. Минимальный размер раздела — 16К. Трансляция прекращается. 254 Недопустимое значение в графе «Печать» (Н 21) управляющей карты трансля- тора РПГ. Принимается значение 1. 255 Отсутствует управляющая карта транслятора РПГ, Трансляция прекращается.
АНГЛО-РУССКИЙ СЛОВАРЬ ПРОГРАММИСТА ACCEPT — принимать, допустить ACCESS — доступ, выборка информа- ции ACTUAL — фактический, действитель- ный ADD — прибавить, складывать,- сло- жение - ADDRESS — адресовать, направлять ADV ANCING — продвижение AFTER — после ALIGNED — выровненный ALL ~ все ALPHABETIC — буквенный ALTER — изменять, переделывать, менять ALTERN АТЕ — что-либо чередующе- еся, вариант AND — и APPLY — применять ARE — суть (от глагола быть) AREA — область, площадь AREAS — области, площади ASCENDING — восходящий ASSIGN — присваивать, назначать АТ — у, около,, на, в, к, до AUTHOR — автор, писатель AUTOMATIC — автоматический. BACKSPACE — шаг назад BACKWARDS — назад, в обратном направлении BASIS — базис, основа, основание, основной компонент BEFORE — раньше, прежде BEGIN — начинать (ся) BEGINNING — начало, исходная точка BINARY — двоичный BLANK — пробел, пауза BIT —бит, двоичный разряд BY — шаг BY NAME по имени BYTE — байт 184 CALL — вызов, вызвать, обратиться CANCEL — отменять, аннулировать CAW (Channel Address Word) — адрес- ное слово канала ’ СС (Condition Code)—код условия CG (Chain Command) — цепочечная команда CCW (Channel Command Word) — ко- манда (командное слово) канала CD (Chain Data) — цепочка данных CHANGED — измененный CHARACTERS — символы, знаки, цифры, буквы, признаки CHECK — проверка, контроль, сличе- | ние CHECKING — проверяя, проверка, контроль CLOCK — часы, время, синхрониза- ция CLOCK-UNITS — числовые единицы CLOSE закрывать (ся) COBOL — КОБОЛ COCK (Cylinder Overflow Control Record) — запись управления пере- полнения цилиндра CODE — код, кодировать, система ко- дирования, программа (на машин- ном языке) COLUMN — колонка, графа, столбец СОММА — запятая COMMON — общий COMPILER — составитель, компиля- тор, компилирующая программа COMPLEX — комплексный, сложный, комплекс COMPUTE — вычислять, ра считы- вать, считать, подсчитывать CONDITION — условие, состояние; conditions — режим CONFIGURATION конфигурация, форма
CONSOLE—консоль, пульт, пультч , управления I CONTAIN — содержать CONTAINS —содержать CONTINUE — продолжать (ся), со- хранять (ся) । CONTROL — управление, контроль, контролировать, регулировать CONTROLLED — управляемый CONTROLS — проверки COPY — копировать, воспроизводить, экземпляр, копия CORRESPONDING — соответствую- щий, подобный CONVERSION — преобразование; con- vert — преобразовывать I CPU (Central Processing Unit) — цент- ральный процессор CREATE —создавать, открывать (файл, массив) CREATING — создавая t CURRENCY— употребительность, срок [ действия, распространенность, ва- люта CURRENT-DATE — текущий день CYCLE •—цикл, период; циклически повторять (ся) CYL (CYLinder) — цилиндр * - DASD (Direct Access Storage Device) — запоминающее устройство с прямым I доступом DATA —данные, информация DATA DIVISION — раздел данных DATE — дата, датировать DATE-COMPILED — дата компиляции DATE-WRITTEN — дата написания DSB (Data Control Block) —блок уп- равления данными DD (Data Definition) — определение данных DE —указывает на лишение чего-ли- I бо, придает слову противополож- ный смысл • DEBUG — находить и устранять де- фекты, налаживать, отлаживать (машину или программу) DECIMAL — десятичный; десятичное [число; десятичная дробь DECIMAL POINT — точка в десятич- ной дроби .DECK — колода (перфокарт) DECLARATIVES —декларативы, опи- . сатели DECLARE — объявлять DELETE — исключать, удалять, сти- 1 рать DEFINE — определять, формулировать DEFINED — определенный DEPENDING — в зависимости от DESCENDING— опускающийся, нис- ходящий, понижающийся DIMENTION — размерность; размер, » величина; измерение } DIRECT — прямой, непосредственный; ; направлять, передавать; управлять DIRECT-ACCESS — прямой достуй, прямая выборка DISP (Disposition) — диспозиция, раз- мещение DISPLAY — показывать; воспроизведе- ние, дисплей DIVIDE—делить, деление DIVISION — деление, разделение, раз- дел DLAB (Disk LABel) — метка на диске DO — выполнять, делать ; DOUBLE PRECISION — двойная точ- ность DOWN —спуск; падение; вниз DSNAME — имя набора данных DUMP — разгрузка (памяти); вывод на печать (содержимого памяти); раз- гружать, выводить на печать FIN AL — последний., заключительный, конечный FIND — искать, находить, обнаружи- вать FINISH — конец, окончание; кончать (ся), заканчивать FIRST — первый FIXED — фиксированный, постоянный FLOATING — плавающий FOOTING —точка опоры, итог FOR — для . FORMAT — формат FROM — из, от GENERATE — вызывать, производить, создавать; генерировать GET — получать, вычислять, извлекать GETTING — получая, извлекая GO—идти; быть в действии, передви- гаться GO ТО — перейти на, перейти к GREATER — больше GREATER THEN — больше чем GROUP — группа, группировать; сово- купность HEADING — заглавие, рубрика HIGH-VALUE — наибольшее значение HIGH-VALUES — наибольшие значе- ния ID — идентификатор IDENTIFICATION — идентификация IF — если IGNORE — игнорировать, пропускать / 185
IL C (Instruction Length Code)4— код длины команды IMPLICIT — неявный EDIT — редактировать EJECT — выбрасывать, извергать ELSE — иначе, в противном случае END — конец, окончание ENDING — окончание, завершение ENTER — войти, вводить, подавать ENTRY —вход, ввод, подача; введен- ные данные ENVIRONMENT — окружение, обста- новка, оборудование, среда, внеш- ние условия ENVIRONMENT DIVISION — раздел оборудования ЕОВ (End of Block) — конец блока EOF (End of File) — конец файла \ EOT (End of Job) — конец задания EQUAL — равный, одинаковый, равно- сильный EQUIVALENCE — эквивалентность ERROR — ошибка EVERY —.каждый EXAMINE — проверять, исследовать EXEC — выполнять, исполнять EXHIBIT — показывать EXIT — выход; выходной канал EXTENDED-SEARCH — длительный поиск EXTERNAL — внешний FD — определение файла FETCH — выборка; выбирать, вызы- вать FILE — файл FILE-CONTROL — управление файла FILE-LIMIT — граница файла FILE-ELIMITS — границы файл^ FILLER — заполнитель 1N — в, на INDEX — индекс, показатель, коэф- фициент INDEXED — индексированный индекс- ный INDICATE — указывать, показывать, означать INITIAL — первоначальный, исходный INITIATE — начинать, запускать, включать IN LINE — внутренний, совместно работающий, расположенный по од- ной линии INPUT—ввод, подача, входной INPUT-OUTPUT — ввод-вывод INSERT — вставлять, вносить INSTALLATION — установка, устрой- ство; расположение, размещение INTEGER — целое число INTERNAL — внутренний INTO — в (внутрь) INVALID — неправильный, ложный, недействительный 1-0 (Input-Output) — ввод-вывод IOCS (Input Output Control System) — система управления вводом-выводои IPL (Initial Program Loading) —загруэ- ка начальной программы IS — есть (от глагола быть) JOB — задание; работа JUST — справедливый, верный, точ- ный JUSTIFIED—выровненный по знаку или разряду KEEP — хранить, сохранять, держать, содержать KEY — ключ, клавиша, кнопка; шифр, ключ, код KEYED — с ключом KEY FROM — ключ из KEY ТО — ключ в LABEL — метка, обозначение; марки- ровать, наносить метки LAST — последний LBLTYP (Label Type) — тип метки LEADING — ведущие, левые (о раз- рядах) LEFT — левый, слева LESS — меньше LESS THEN — меньше чем LIKE — подобно LIMIT — предел, граница LIMITS — пределы, границы LINE — строка, линия LINE-COUNTER — счетчик строк (на странице) LINES — линии, строки LINESIZE — размер строки LINK —связь, связывать; канал свя- зи; команда возврата LINKAGE — связь, соединение, сцеп- ление, возврат; согласующие эле- менты LINKAGE SEKTION — секция связи LIST — список, составлять список LOAD — загрузка, загрузить LOCATE — разместить, расположить, определять местоположение LOCK — блокировка; закрывать (файл)» блокировать LOG — системный журнал; регистра- ция, запись LOGICAL — логический LOW-VALUE — наименьшее значение МАР — распределение памяти; план, схема, планировать; преобразовывать данные 186
"MASTER-INDEX — старший индекс MEMORY — память, запоминающее устройство MESSAGE — сообщение, сигнал, пере- даваемый блок информации MOD (MODified) — изменяемый, мо- дифицируемый MODE — режим, метод, способ MODULE — модуль, блок MODULES — модули MORE-LABELS — дополнительные мет- ки MOUNT — установить (ленту, пакет дисков на устройство) MOVE—переместить, переслать МТС (Multi Track Commands) — мно- годорожечные операции MULTIPLE — кратное число MULTIPLY — множить, умножить MULTIPLICATION — умножение J NAME — имя NAMED — наименованный 4 NAMELIST — список имен NEGATIVE — отрицательный NEW — новый NEXT — следующий NO —нет NOMINAL — номинальный, именной NOT — не NOTE — замечание, примечание NUMBER — число, количество, номер, цифра NUMERIC — числовой, цифровой OBJECT-MACHINE — выполняющая машина OCCUR — встречаться, попадаться OCCURS — встречается, случается LOW-VALUES — наименьшие значе-, ния г OF — указывает на принадлежность OFF — указывает на удаление OLD — старый OMITTED —опущенный, пропущенный ON — в, на, по ONLY — только, исключительно, един- ственный OPEN — открывать (ся) OPTINAL— необязательный, произ-' вэльный OR — или OTHERWISE — в противном случае OUT-OF-LINE — внешний OUTPUT — вывод, выход; выходное устройство; результат вычислений OVERFLOW — переполнение PACKED — упакованный. PAGE — страница PAGE-COUNTER — счетчик страниц PAGESIZE — размер страницы PASS — передавать, пропускать про- ход, прогон (ка) PAUSE — пауза, приостановка PERFORM — исполнять, выполнять, делать PICTURE — шаблон PLUS — знак плюс POINTER — указатель POSITION — позиция, помещать POSITIONING — установка в опреде- ленном положении POSITIVE — положительный PRECISION — точность PRINT — печать, печатать, распечаты- вать, распечатка PRINT-SWITCH — ключ печати PROCEDURE — процедура, процесс, алгоритм PROCEED — продолжать, возобнов- лять; поступать, действовать PROCESSING — обработка PROGRAM — программа, план; про-/ граммировать PROGRAM-ID — идентификация про- граммы RSW (PROGRAM Status Word) — сло- во состояния программы PUNCH — перфорировать; пробивка, перфорация PUT — положить, (по) ставить, по- мещать QUOTE — цитата QUOTES — кавычка (и) RANDOM — произвольный, случай- ный, беспорядочный READ — читать; чтение, считывание READY — готовить, подготавливать REAL — вещественный, действитель- ный; реальный, действительный RECORD — запись, записывать RECORDING — пишущий, записываю-, щий; запись, регистрация RECORDS — записи REDEFINE — переопределять REDEFINES — переопределяет REEL — катушка, бобина RELATIVE — относительный, связан- ный, взаимный RELEASE — освобождать, разблоки- ровать; освобождение REMAINDER — остаток, разность REMARKS — замечания, комментарий R EN АМЕ — переименовать REPLACE — заменять, подставлять' REPLACING — заменяя; замена, под- становка REPLY — ответ, огвечать 187
REPORT — сообщать; сообщение, от- чет REPORTS — отчеты, сообщения RERUN — повторный проход, прогон; выполнять повторно RESERVE — резервировать, резерв RESET — установить в исходное по- ложение, возврат; установка на нуль, очищать, сбрасывать RESTRICTED — ограниченный RETURN — вернуться, возврат REVERT — возвращаться (в прежнее состояние) REWIND — обратная перемотка, пере- матывать REWRITE—переписывать, перезапи- сывать; перезапись RIGHT — правый • ROOT — корень ROUND — округлять, округленный RUN — (однократный) проход, про- гон; однократно выполнять; работа, ход, эксплуатация (машины) SAME — тот же самый SEARCH — поиск, искать SECTION — секция, раздел SECURITY — секретность, безопас- ность SEEK — искать, разыскивать SEEK RECORD — подвести запись SEGMENT-LIMIT — граница сегмента SELECT — выбрать, отбирать SENTENCE — предложение SEQUENTIAL — последовательный SER (SERiai) — серийный, порядко- вый, последовательный . SIGH — знак, обозначение; символ, признак SIGNAL.— сигнал, сигнализировать SIZE — величина, объем, формат, размер SKIP—пропустить, прогнать (бумагу); пропуск SNAP — моментальный снимок, сфо- тографировать (состояние програм- мы) SORT — вид, класс, род, сорт,, сорти- ровка, упорядочение SOURCE — исходный, источник SOURCE-COMPUTER — транслирую- щая машина SPACE — пробел, интервал, пропуск; оставлять пробел SPACES — пробелы, интервалы SPECIAL-NAMES— специальные-име- на STANDARD — типовой, стандартный, нормальный 18$ START — начало, пуск, запуск; на- чинать, запускать STATIC—статический STATUS — состояние . STOP — стоп, останов (ка), останав- ливать (ся); сигнал ^стоп», командам останова STREAM — поток STRING — строка, цепочка, последо- вательность SUBROUTINE — подпрограмма, часть- программы SUBSCRIPTRANCE — диапазон изме- нения индекса SUBSCRIPT — индекс, приведенный4 индекс SUBSET — подмножество SUBTRACT — вычитать SUM — сумма, итог; суммировать, складывать, подводить итог SUPPRESS — подавлять, устранять (незначащие нули) SYMBOLIC — символический SYNCHRONIZED — синхронизирован- ный, координированный, синхрон- ный SYSTEM — система, совокупность; система, устройство TALLY — единица счета; счет, под- счет; итог, подводить итог ТАРЕ — лента TERMINATE — оканчивать; выходить (из цикла) TERMIN ATED — ограниченный THEN — то, затем, потом THROJGH — через THRU — через TIME-OF-DAY — время, дня TIMER — таймер, синхронизирующее устройство; реле времени, часы TIMES — периоды времени, раз (а) TITLE—заголовок ТО—к, в, на ТО PROCEED ТО — перейти к чему- ’ либо TPLAB (ТаРе LABel) — метка на лен- те TRACE — чертить, следить, отыски- вать; след TRACK*AREA — область дорожки TRACKS — дорожки, тракты TRANSFORM — преобразовывать, пре- вращать, трансформировать TRANSMIT —передавать (через ка- нал), передача TRK (TRack) — дорожка, канал, тракт TYRE — печатать на машинке; шрифт, тип, род, класс
* DCS (Universal Character Set) — уни- версальный набор символов UNBUFFERED—^буферизованный UNIT — единица, устройство, блок; звено, элемент UNLOAD — разгружать (ленту), раз- грузка; снимать бобину с магнит- ной лентой UNTIL — пока, до тех пор UR — под, в, на, по UPDATE — обновить, корректировать, внести изменения в соответствии с новыми данными UPON — на поверхности (чего-либо) UPSI (User Program Switch Indica- tor)— индикатор переключения про- граммы. пользователя USAGE — использование, эксплуата- ция USE — использовать, применять; ис- пользование, применение USING — используя VALUE — величина, значение VALUES — величины VARY — изменять (ся),, менять (ся) VARING — переменный; меняя VOLUME — том VTOC (Volume Table of Contents) оглавление тома WHEN — когда WHILE — в то время как, пока WITH —с WORDS — слова WORKING — работа, действие, рабо- тать; вычислять, решать WRITE — записать, записывать WRITE-ONLY — писать особое WRITE-VERIFY — писать с контролем XTENT (eXTENT)— экстент ZERO — нуль ZEROES) ZEROS J нули
ОГЛАВЛЕНИЕ Предисловие...............................................3 Управляющие операторы ДОС ЕС..............................4 АССЕМБЛЕР................................................12 ФОРТРАН . .............................................. 60 КОБОЛ ............................................... 69 ПЛ/1 '................................................. 122 РПГ.................................................. . .150 Англо. русский словарь программиста...' ............184’
ЛИТЕРАТУРА Джермейн К. Программирование на IBM/360. М.» «Мир#, 1973. Дробушевич Г. 4. Вычислительные машины и основы про- граммирования. Минск, «Вышэйшая школа», 1973. Дробушевич Г. А. Программирование на ФОРТРАНе. Минск, БГУ, 1976. Липень Ю. М., Марголин М. С. МарукЗ. А. Программи- рование на РПГ в ЕС ЭВМ. М., «Статистика», 1972. Морозов В. П., Ежова Л. Ф. Алгоритмические языки. М., «Статистика», 1975. Операционная система ДОС ЕС. М., «Статистика», 1977. Первин Ю. А: Основы ФОРТРАНа. М., «Наука», 1972. Программирование на языке АССЕМБЛЕРа ЕС ЭВМ. М., «Статистика», 1975. Языки программирования ДОС ЕС ЭВМ. М., «Статистика», 19771
Геннадий А^тоновач^Дробушевич СПРАВОЧНИК ПРОГРАММИСТА Редактор С. С. Голод Худож. редактор А. К Звонарев Техн, редактор /Г В. Фрайман Корректор Е. А Пасту шенко ИБ435 Сдано в набор 13.02.78. Подписано к печати 05.09.78. Формат бОХОО'/и- Бумага типогр?№ 1. Литературная гарнитура. Высокая, печать. Усл. печ. л. 12. Уч.- изд. л. 17,7. Изд. № 76-109. Тираж 45 000 экз. Тип. зак.1031. Цена 1 руб. 20 коп. Издательство «Вышэйшая школа» Государственного комитета- Совета Минист- ров БССР по делам издательств^, полиграфии- и книжной торговли. Редакция ли- тературы по математике, физике и энергетике. 220048, Минск, Парковая ма- гистраль, 11. Полиграфический комбинат им. Якуба Коласа Государственного комитета Сове- та Министров БССР по делам издательств, полиграфии и книжной торговли. Минск, Красная, 23.
> Bl