
книги из ГПНТБ / Система математического обеспечения ЕС ЭВМ
..pdfs — количество высказываний в макроопределениях, включая системные; каждое макроопределение учитывается один раз; учи тываются только те высказывания, которые вырабатываются в про цессе макрогенерации в зависимости от обращения;
М — дополнительное время обработки одной макроинструкции; m — количество макроинструкций.
Для Фортрана последнее слагаемое обращается в нуль, для Ко бола и ПЛ/1 обращаются в нуль последние два слагаемых фор мулы.
ij случае Ассемблера для приближенного подсчета времени компиляции могут быть сделаны следующие усредненные допуще ния;
при каждом вхождении макрокоманды DCB генерируется око ло 50 строчек;
при каждом вхождении макрокоманды DCBD генерируется око ло 100 строчек;
для остальных системных макрокоманд генерируется около 6
строчек. |
|
|
|
оценки |
количества |
|
В табл. 3 даются более точные верхние |
||||||
строчек в макроопределениях системных макрокоманд. |
|
|||||
|
|
|
|
|
Т а б л и ц а 3 |
|
|
Верхние оценки в формуле для системных макрокоманд |
|
||||
К о л и ч е с т в о |
2 0 0 0 - 2 2 0 0 |
1 0 0 0 -1 5 0 0 |
6 0 0 - 1 0 0 0 |
3 0 0 - 6 0 0 |
М е н ь ш е 300 |
|
с т р о ч е к |
||||||
|
|
|
|
|
Имена системREAD
ных макроко WRITE манд
ATTACH |
CALL |
CAMLST Остальные |
||
DCB |
DCBD |
CLOSE |
макроинст- |
|
рукции |
||||
LINK |
DUMP |
EXTRACT |
||
|
||||
XCTL |
TEST |
FREEMAIN |
|
|
|
|
GETMAIN |
|
|
|
|
GO |
|
|
|
|
OPEN |
|
|
|
|
PRTOV |
|
SET
SPIE
TRACE
WTOR
XDAP
Быстродействие трансляторов на модели ЕС-1030 и методы до ступа к памяти, используемые компиляторами, приведены в табл. 4 и 5. В таблицах приведены дополнительные данные, сведения о которых даются в технической документации.
191
|
|
|
|
|
|
Т а б л и ц а |
4 |
|
|
Быстродействие трансляторов на модели ЕС-1030 |
|
|
|||||
|
К о э ф |
А с с е м б л е р |
Ф о р т р а н IV (Н ) |
Ф о р т р а н IV |
К о б о л |
|
|
|
|
|
|
|
|
||||
В ид р а б о т ы |
фици |
О Р Т = 0 |
О Р Т = 2 |
П Л /1 (F ) |
||||
|
е н т |
(F) |
(О ) |
(Е ) |
|
|
||
|
|
|
|
|
|
|
||
- |
к |
2.42 |
1.65 |
3.45 |
1.12 |
3.45 |
1.7 |
|
Компиляция |
р |
0.0052 |
0.0142 |
0.032 |
0.017 |
0.0054 |
0.027 |
|
I |
0.0022 |
0.71 |
1.5 |
0.0037 |
— |
— |
|
|
|
м |
0.022 |
— |
— |
— |
— |
|
|
|
|
|
|
|
||||
Загрузка, |
к |
1.81 |
2.28 |
2.25 |
2.3 |
2.06 |
3.75 |
л |
р |
0.00001 |
0.0018 |
0.0001 |
0.0008 |
0.0009 |
0.0022 |
|
|
запуск |
I |
0. |
0. |
0. |
0. |
— |
— |
|
|
м |
0. |
— |
|
|
|
|
|
|
к |
0.97 |
0.97 |
0.98 |
1.0 |
0.97 |
1.02 |
|
Запуск |
р |
0.00001 |
0.0001 |
п.0003 |
0.00004 |
0.000015 |
0.00001 |
|
1 |
0. |
0. |
5. |
0. |
— |
— |
|
|
|
|
|
|
|||||
|
м |
0. |
— |
— |
— |
— |
|
|
Компиляция, |
к |
3.97 |
3.97 |
5.4 |
3.15 |
5.25 |
5.15 |
|
р |
0.0052 |
0.015 |
0,033 |
0.017 |
0.0064 |
0.029 |
|
|
загрузка, |
I |
0.0022 |
0.725 |
1.5 |
0.0037 |
— |
— |
|
запуск |
м |
0.0225 |
— |
— |
— |
— |
— |
|
|
|
|
||||||
|
Методы доступа и память, |
|
|
Т а б л и ц а |
5 |
|||
|
используемые компиляторами |
|
|
Методы досту |
Оперативная |
Дисковая |
|||
па |
(AM) |
память (байтов) |
память |
||
|
|
|
|
|
Библиотеки |
Компиляторы |
|
|
|
|
на дисках |
|
|
|
|
|
(байтов) |
СЛ О. |
С/1 |
MFT |
MVT |
байтов треков |
|
03 03 |
о |
О V) |
|
|
|
Рабочее про странство SYSUT1/2/3/4 (треков)
А л го л -6 0 |
(62) |
+ |
|
|
|
|
|
4 5 |
0 5 6 |
48 К |
133 К |
3 8 |
4 9 К |
9 |
|
8 |
2 |
0 |
|
А с с е м б л е р |
|
+ |
+ |
+ |
— |
— |
|
4 9 |
152 |
50 К |
147К |
4 0 |
|
|
|
|
|
|
|
К о б о л (Е ) |
|
+ + — |
— |
— |
|
17 5 0 4 2 2 К |
3 3 6 К |
96 |
— |
4 |
|
9 9 0 |
|||||||
К о б о л (F ) |
|
+ + — |
— |
— |
|
81 9 2 0 8 6 К |
3 1 5 К |
9 0 |
2 8 К |
6 5 6 5 |
|||||||||
К о б о л ( A N S ) |
+ |
+ |
— |
— |
— |
|
81 |
9 2 0 |
8 6 К |
4 3 0 К |
123 |
3 8 .5 К |
8 |
11 |
6 |
3 |
|||
К о б о л (F ) с G S P |
+ + — |
+ — |
|
+ 3 5 3 1 8 + 7 1 К + 73 К + 2 1 |
|
|
|
|
|
|
|||||||||
Ф о р т р а н I V ( Е ) |
+ — |
— |
— |
— |
|
15 |
3 6 0 4 2 К |
1 1 2 К |
3 2 |
5 9 .5 К |
3 0 |
|
0 |
0 |
|||||
Ф о р т р а н |
I V |
(G ) |
— |
— |
+ |
— |
— |
|
81 |
9 2 0 |
100 К |
84 К |
2'4 |
9 1 К |
|
|
|
|
|
Ф о р т р а н |
I V |
( Н ) |
— |
— |
+ |
— |
— |
|
155 |
64 8 |
160 К |
4 4 6 К |
127 |
9 1 К |
10 |
1 |
|
0 |
0 |
Ф о р т р а н |
I V |
(G ) |
|
|
|
|
|
|
+ 3 5 31 8 + 7 1 К + 73 К + 21 |
|
|
|
|
|
|
||||
t G S P |
|
|
— |
— |
|
+ — |
|
|
|
|
|
|
|
||||||
П Л /1 (F ) |
|
|
— |
+ |
|
|
т |
t |
4 5 |
0 5 6 |
50 К |
1 2 6 3 К |
361 |
2 7 6 .5 К |
5 |
0 |
|
18 |
0 |
|
|
|
|
|
|
|
|||||||||||||
П Л / 1 ( F ) с G S P |
— |
+ |
— |
+ + + 3 5 3 1 8 + 7 1 К + 7 3 К + 2 1 |
|
4 |
4 |
|
4 |
0 |
|||||||||
Р П Г |
|
|
+ |
— |
— |
— |
— |
|
15 |
3 6 0 |
18К |
175 К |
5 0 |
|
|
||||
С о р т и р о в к а - о б ъ е - |
|
|
|
|
|
|
16 |
0 0 0 18К |
8 0 .5 К |
2 3 |
2 1 0 К |
|
|
|
|
|
|||
ди н ен и е |
|
|
— |
— |
+ — |
— |
|
|
|
|
|
|
|||||||
Т е с т р а н - р е д а к т о р |
+ — |
— |
— — |
|
18 |
0 0 0 5 0 К |
4 6 К |
15 |
2 2 4 К |
1 0 |
|
0 0 |
|||||||
П Л / 1 - к о н т р о л л ер |
|
|
|
|
|
|
|
|
|
3 5 К |
10 |
|
|
|
|
|
|
>
192
7.7. КАТАЛОГИЗИРОВАННЫЕ ПРОЦЕДУРЫ КОМПИЛЯТОРОВ
Язык управления заданиями обладает многими чертами языков программирования высокого уровня. В частности, программы, на писанные на этом языке, отлаженные и заслуживающие многократ ного использования, могут быть помещены в библиотеку каталоги зированных процедур и получить статус каталогизированной про цедуры. Большинство процессов, связанных с компиляцией, особенно на этапе отладки проблемных программ, типичны. Для каждого компилятора в системной библиотеке каталогизированных про цедур имеется по четыре процедуры, реализующих следующие ти повые процессы: компиляция; компиляция и редактирование свя зей; редактирование связей и выполнение; компиляция, редакти рование связей и выполнение.
Вызов процедур производится предложением ЕХЕС языка уп
равления заданиями. Имена процедур |
приведены в табл. 6. |
|||
|
|
|
|
Т а б л и ц а 6 |
|
И м ен а к а т а л о ги зи р о в а н н ы х п р о ц е д у р |
|
||
|
|
Р е ж и м р а б о т ы |
|
|
К о м п и л я т о р |
к о м п и л я ц и я |
К О М П И Л Я Ц И Я , |
р е д а к т и р о в а н и е , |
К О М П И Л Я Ц И Я , |
|
р е д а к т и р о в а н и е , |
|||
|
р е д а к т и р о в а н и е |
в ы п о л н е н и е |
в ы п о л н е н и е
А с с е м б л е р |
|
F O R T R A N |
(G ) |
F O R T R A N |
(Н ) |
A L G O L |
|
C O B O L |
|
P L /1 |
|
A S M F C F O R T G C
F O R T H C A L G C
С О Б Е С
P L 1L F G
A S M F C L F O R T G C L F O R T H C L A L G C L
C O B E C L P L 1 L F C L
A S M F L G F O R T G L G F O R T H L G A L G L G
C O B E L G P L 1 L F L G
A S M F C L G F O R T G C L G F O R T H C L G A L G C L G
C O B E C L G P L 1L F C L G
На шаге редактирования каталогизированные процедуры под ключают библиотеки стандартных подпрограмм и встроенных функций соответствующих компиляторов, а на шаге выполнения определяют основные потоки ввода-вывода: ввод с перфокарт, вы вод на построчную печать, вывод на перфокарты.
С помощью приведенных ниже некоторых ключевых парамет ров программист может уточнить в предложении ЕХЕС условия обработки своих программ:
D E C K |
— в ы д а ч а о б ъ е к т н о г о м о д у л я н а п ер ф ок ар ты ; |
||
L O A D |
— п е р е д а ч а о б ъ е к т н о г о м о д у л я в о в р е м ен н у ю б и б л и о т е к у д л я |
||
|
е г о |
п о с л е д у ю щ е й о б р а б о т к и в т ек у щ ем за д а н и и р е д а к т о |
|
|
р ом |
св я зей ; |
|
S O U R C E |
— п еч ать |
и с х о д н о й ф о р т р а н н о й и ли П Л /1 п р огр ам м ы ; |
|
L IS T |
— т о ж е д л я К о б о л а , А л го л а и А с с е м б л е р а ; |
||
L IN E C N T = x |
— у к а за н и е о ч и сл е ст р о к х н а ст р ан и ц е ; |
||
M A P |
— п еч ать |
п л ан а п ам я т и д л я Ф о р т р а н а ; |
|
X R E F |
— п еч ать |
табл и ц ы п ер ек р ест н ы х ссы л ок д л я П Л /1 и А с с е м б |
|
|
л ер а ; |
|
|
O P T = k |
■ ук а за н и е о б у р о в н е оп ти м и за ц и и д л я Ф о р т р а н а (Н ) и П Л /1 ; |
||
|
к м о ж е т п р и н и м ать зн ач ен и я 0, 1 или 2. |
13. Заказ 3414. |
193 |
Используя каталогизированные процедуры, программист может подключать дополнительные операторы определения данных. Ука заниям этих предложений в течение хода данного шага задания дается приоритет перед указаниями каталогизированных процедур. Благодаря этому становится возможным локальное корректирова ние текста каталогизированных процедур. 3
Приведем несколько примеров.
1. Компиляция фортранной подпрограммы с максимальной оп тимизацией и выдачей объектной колоды перфокарт;
//и м я — з а д а н и я J O B
//E X E C F O R T H C , P A R M = 'D E C K , O P T = 2 ' //F O R T .S Y S I N D D *
К о л о д а п е р ф о к а р т с т ек ст о м и с х о д н о й п о д п р о г р а м м ы
/®
2. Компиляция главной фортранной программы, несколько под программ и функций с последующей переработкой редактором свя зей полученных объектных модулей в единый загрузочный модуль, а затем выполнение этого модуля; при выполнении программа тре бует ввода с перфокарт исходных данных:
//и м я — з а д а н и я J O B //E X E C F O R T G C L G //F O R T .S Y S I N D D *
C M A IN P R O G R A M
E N D
S U B R O U T I N E A I . . .
E N D
F U N C T I O N B I . . .
E N D
E N D
i К о л о д а п е р ф о к а р т с i и с х о д н о й п р о гр а м м о й
/*
//G O .S Y S I N D D *
К о л о д а п ер ф о к а р т с и сх о д н ы м и д а н н ы м и
/*
3. Выполнить операции предыдущего примера, на шаге редак тирования определить дополнительный ввод из библиотеки MYLIB и конкатенировать первичный ввод библиотечными модулями А, В и С:
//и м я — з а д а н и я J O B
//A B C E X E C F O R T G C L G //F O R T .S Y S I N D D *
И с х о д н ы е м о д у л и
/*
//L K E D .A D D L I B |
D D D S N A M E = M Y L I B |
|
//L K E D .S Y S I N |
D D * |
|
L IB R A R Y |
A D D L IB ( A ,B ,C ) |
|
//G O .S Y D I N |
D D |
* |
И с х о д н ы е д а н н ы е
/*
194
7.8. СОГЛАШЕНИЯ ОБ ОБЪЕКТНОМ МОДУЛЕ
Для компиляторов ОС ЕС установлены единые требования к форме результата компиляции— к формату объектного модуля. Соблюдение этих требований позволяет освободить компиляторы от нескольких завершающих этапов изготовления рабочей про граммы и сосредоточить выполнение этих этапов в одном месте — в программе редактора связей. Для проблемного программиста бо лее важным является не само разделение труда между компонен тами операционной системы, а следствие такого разделения — воз можность применения модульного принципа при создании больших проблемных программ.
Границы между компиляторами и редактором связей проходят там, где еще не установлены связи между отдельными модулями пользователя, не определены конкретные адреса и т. п., но уже можно отвлечься от языка программирования, который был ис пользован при написании исходного модуля. В связи с этим при обсуждении обработки объектных и загрузочных модулей полезно перейти к независящим от исходных языков терминам редактора связей и установить соответствие с терминами обсуждаемых здесь языков (табл. 7).
В последующем обсуждении редактора связей будут употреб ляться следующие сокращения:
CESD |
— составной словарь внешних символов |
|
СМ |
— |
общий (COMMON) |
ENTAB — |
таблица входов |
|
ER |
— |
внешняя ссылка |
ESD |
—- |
словарь внешних ссылок |
ESDID |
— |
ESD — идентификатор |
LD |
— |
определение метки |
NE |
— не — редактируемый — атрибут |
|
OL |
— только — загружаемый — атрибут |
Р— указатель
PC |
— |
частный код |
PR |
— |
псевдорегистр |
RLD |
— |
словарь перемещений |
SD |
— |
определение секции |
SYM |
— |
символьная запись Тестрана |
TXT |
— |
текстовая запись |
WX |
— |
слабая внешняя ссылка |
Формат объектной записи Тестрана
Байты |
12—9—2 |
(0000 0010) |
1 |
||
2—4 |
SYM |
|
5—10 |
пробелы |
|
11—12 |
число байтов тестрановых данных |
|
13—72 |
тестрановые данные |
|
73—80 |
не используются |
13* |
195 |
Р е д а к т о р с в я з е й
1
Ко н т р о л ь н а я
сек ц и я
И м я к он т р ол ь н ой сек ц ии
И м я в х о д а
В н еш н я я ссы л к а
Т а б л и ц а 7
Соответствие между понятиями редактора связей и понятиями языков программирования
Ф о р т р а н IV
2
(1 ) п о д п р о г р а м м а |
ф ун к ц и я 1 |
(3 ) б л о к |
ны х | (4 ) |
о сн о в н а я |
гр а м м а |
|
|
|
ПЛ/1 |
А с с е м б л е р |
|
|
|
3 |
|
4 |
(2 ) |
(1) |
в н еш н я я |
п р о ц е д у р а |
П р о гр а м м н а я |
д а н (2) |
M A IN — |
п р о ц е д у р а |
сек ц и я |
|
п р о |
(3) |
стати ч еск и й внеш ни й |
|
|
|
(4 ) вн еш н и й ф а й л | (5 ) с т а |
|
||
|
т и ч еск ая в н у т р ен н я я п ам я ть |
|
||
|
| |
(6 ) сек ц и я |
с в я зе й , г е н е |
|
р и р у е м а я к о м п и л я то р о м
К о б о л А л го л -6 0
5 |
6 |
П р о гр а м м а |
П р о гр а м м а | |
|
п р о ц е д у р а — |
|
C O D E |
(1 ) |
и м я |
п о д п р о гр а м м ы |
| |
(1 ) |
и м я п р о ц ед у р ы |
| |
(2) С и м в ол |
в |
в ы ск а |
И м я |
в |
п р е д л о ж е П р о б е л |; |
||||||||||
(2 ) |
и м я |
ф ун к ц и и |
| |
(3 ) п р о IH E M A IN |
| |
(3 ) |
и м я |
|
д а н зы в а н и я х |
|
C S E C T |
нии P R O G R A M |
и м я п р о ц е |
|||||||||
б ел |
| |
(4 ) |
M A IN |
|
| |
и м я |
в ны х |
| (4 ) |
и м я ф а й л а |
| |
(5) или S T A R T |
| п р о ID |
|
|
д у р ы — |
|||||||
п а р а м е т р е |
N A M E |
в ы ск а * - - - * 11 |
|
и м я — п р о гр а м м б ел |
|
|
|
|
|
C O D E |
||||||||||||
зы в а н и я |
Е Х Е С |
|
|
|
|
н ой — сек ц и и |
— |
д л я |
в н еш |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
ней |
— п р о ц ед у р ы |
I |
|А |
|
1 (6) |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
IH E N T R Y |
|
|
|
|
|
|
|
|
|
|
|
|
||
И м я |
в |
в ы ск азы в ан и и |
|
И м я |
в в ы ск азы в ан и и |
|
С и м в ол |
в ы ск а зы |
И м я |
в |
в ы ск а зы в а |
|
||||||||||
E N T P Y |
|
|
|
|
|
|
E N T R Y |
|
|
|
|
|
|
в ан и я E N T R Y . |
ю т E N T R Y |
|
||||||
С сы л к а |
к |
ф ун к ц и и |
| ссы лк а |
И м я |
с |
явны м |
или |
у м а л ч и И м я в E X T R N 1 |
И м я |
в |
|
|
||||||||||
к б л о к у д а н н ы х |
j и м я |
в в ы в аем ы м |
а т р и б у т о м |
|
|
А — к о н ст а н т а |
C A L L |
|
|
|||||||||||||
ск а зы в а н и и |
E X T E R N A L | E X T E R N A L ' |
|
|
|
V — к о н ст а н т а |
|
|
|
|
|||||||||||||
и м я |
в |
в ы ск азы в ан и и |
C A L L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Н е п о и м е н о в а н н а я |
Н еп о и м ен о в а н н ы й |
об щ и й Н е т |
С ек ц и я , |
о п р е д е Н ет |
Н ет |
о б щ а я сек ц и я |
бл ок C O M M O N |
|
л ен н а я |
в ы ск а зы в а |
|
н и я м и С О М
|
|
|
|
|
|
|
|
|
П родолжениг |
Р е д а к т о р с в я з е й |
Ф о р т р а н IV |
|
|
П Л /1 |
|
А с с е м б л е р |
К о б о л |
А л г о л - п О |
|
1 |
2 |
|
|
3 |
|
|
4 |
5 |
ь |
Поименованная |
Поименованный общий блок Неинициализированный |
|
Нет |
Нет |
Нет |
||||
общая секция |
COMMON |
внешний |
или неинициализи |
|
|
|
|||
|
|
рованный статический внеш |
|
|
|
||||
Имя общей секции Имя поименованного |
ний |
|
|
|
|
|
|
Нет |
|
блока Имя |
неинициализированно |
Нет |
Нет |
||||||
|
COMMON |
го внешнего или неинициа |
|
|
|
||||
|
|
лизированного |
статического |
|
|
|
|||
|
|
внешнего |
|
|
|
|
|
|
|
Псевдорегистры |
Нет |
Создаются для: (I) контро |
Нет |
Нет |
Нет |
||||
|
|
лируемой |
переменной; |
(2) |
|
|
|
||
|
|
объявленного |
файла; |
(3) |
|
|
|
||
|
|
блок—процедуры; (4) на |
|
|
|
||||
|
|
чало—процедуры; (5) ON— |
|
|
|
||||
|
|
единица |
|
|
|
|
|
|
|
Имя псевдорегистра |
Нет |
( 1 ) |
имя |
переменной; |
( 2 ) |
Внешняя фиктив |
Нет |
Нет |
|
|
|
имя |
файла; (3,4 ) имя |
про ная секция |
|
|
|||
|
|
цедуры; (5) |
11 имя—сек |
|
|
|
|||
|
|
ции— для—внешней—про |
|
|
|
||||
|
|
цедуры! | |
{ В 1 C | |
. , . } |
|
Непоименованная |
Нет |
Нет |
|
Частный код |
Нет |
|
Нет |
|
|
контрольная сек ция
С
Примечание. При генерации имея внутренней статической памяти и ON-единицы звездочки дополняют имя до восьмили терного; если в "имени внешней процедуры программистом указано более семи литер, то для имени программной секции
" удерживаются только первые четыре и последние три литеры.
Байты |
Формат записи ESD (объектный модуль) |
||||
12—9—2 (0000 0010) |
|||||
I |
|
||||
2—4 |
10 |
ESD |
|
|
|
5— |
пробелы |
|
|
||
11—12 |
число байтов данных ESD |
||||
13— |
14 |
пробелы |
|
|
|
15—16 |
ESDID — ESD-идентификатор (относительная позиция) |
||||
|
|
первого отличного от LD пункта ESD |
|||
17—72 |
пробелы — если все пункты ESD суть LD |
||||
пункты данных ESD |
|||||
73—80 |
не используются |
||||
|
Формат пункта ESD — данных (объектный модуль) |
||||
Байты |
имя, если пункт имеет тип-SD, LD, ER, CM, PR или WX |
||||
1—8 |
|
||||
|
|
пробелы, если пункт имеет тип PC или непоименованный |
|||
9 |
|
СМ |
|
04-P C |
|
|
тип: 00 -S D |
||||
|
|
01 —LD |
05-С М |
||
|
|
02 -E R |
06 —PR |
||
10—12 |
|
|
OA-W X |
||
адрес, для SD, PC и LD |
|||||
13 |
16 |
пробел |
|
|
|
14— |
нули — для END-записи |
||||
|
|
длина контрольной секции — для SD, PC, СМ |
|||
|
|
идентификатор — для SD |
|||
|
|
пробелы — для ER, WX |
|||
|
|
длина псевдорегистра — для PR |
|||
Байты |
Формат текстовой записи (объектный модуль) |
||||
12—9—2(0000 0010) |
|||||
I |
4 |
||||
2— |
TXT |
|
|
||
5 |
8 |
пробел |
|
байта текстовых данных |
|
6— |
адрес первого |
||||
9—10 |
пробелы |
|
|
||
II —12 |
число байтов текстовых данных |
||||
13—14 |
пробелы |
|
|
||
15— |
16 |
ESDID |
|
|
|
17—72 |
текстовые данные в машинном коде |
||||
73—80 |
не используются |
||||
|
|
Формат RLD-записи (объектный модуль) |
|||
Байты |
12—9—2 |
(0000 0010) |
|||
1 |
|
||||
2—4 |
|
RLD |
|
|
|
5—10 |
пробелы |
|
|
499
11— 12 |
число данных RLD-данных |
13—16 |
пробелы |
17—72 |
пункты RLD-данных |
73—80 |
не используются |
Байты |
Формат пункта RLD-данных |
|
|
1—2 |
указатель смещения — ESDID CESD-входа для симво |
3—4 |
ла, к которому имеется ссылка |
указатель позиции — ESDID контрольной секции, содер |
|
|
жащей адресную константу |
5флаги:
биты 5-го байта
1—2 |
|
|
3 - 4 = |
00 |
|
j 01 |
||
|
111 |
|
5—6= |
I01 |
|
{ 10 |
||
|
1 |
|
|
ill |
|
7= |
f |
0 |
-1 |
|
|
' |
1 |
|
|
1 1 |
|
„ |
|f |
0 |
8= |
; |
t |
|
1[ |
i |
нули
нет ветвления ветвление длина псевдорегистра
адресная константа длиной 2 байта адресная константа длиной 3 байта адресная константа длиной 4 байта
положительное смещение отрицательное смещение
R- или P-указатели имеют силу для следующего RLD-пункта
— в противном случае
6—8 |
адресная |
константа |
|
|
Формат END-записи |
Байты |
12—9—2 |
(0000 0010) |
1 |
||
2—4 |
END |
|
5 |
пробел |
|
6—8 |
опционный 24-битовый адрес точки входа |
|
9—14 |
пробелы |
|
15—16 |
ESDID SD-пункта контрольной секции, содержащей ад |
|
17—28 |
рес, определенный в байтах 6—8 |
|
пробелы |
|
|
29—32 |
длина контрольной секции, если она не была определена |
|
|
в SD ESD — пункта; в противном случае 29-й байт ра |
|
33—80 |
вен нулю |
|
не используются |
В байтах 17—24 может быть указана символическая точка вхо да — опционное имя точки входа. В этом случае в байтах 6—8, 15—16 и 25—28 помещаются пробелы.
199
7.9. Р Е Д А К Т О Р С В Я ЗЕ Й
Основные функции редактора связей и потоки информации при его работе иллюстрируются рис. 29 и табл. 8. В ОС ЕС имеется также облегченный вариант редактора связей — загрузчик, осо бенности которого по сравнению с редактором связей приведены в табл. 9. Базисные понятия обработки объектных модулей будет удобнее обсудить на примере редактора связей.
' p L /i
Ассем блер
исходные |
I——I |
FORTRAN |
О б ъ е кт н ы е ' |
м о д у л и |
• • • |
COBOL |
м о д у л и |
|
О |
|
|
|
|
|
У правляю щ ие |
|
вою казы ванио |
О б ъ ект ное модули |
р е д а кт о р а |
Загрузочною |
св я зе й |
м о д ул и |
Объектною мо |
|
дули |
|
управляю щ ие вы сказы ва ния р ед а кт о р а
св я зе й Объектною
модул и
Загрузочною
мо д ул и
Д о п о л н и
Q
C D
т е л о н о 1 и в в о д
n pQ M Q P + cym o u H t, /и
набор д а н н ы х
Д и а гн о ст и ка
Р и с . 2 9 . Р е д а к т о р с в я зе й и п оток и и н ф о р м а ц и и
Для работы редактора связей требуются четыре набора данных со стандартными dd-именами: SYSLIN, SYSLMOD, SYSUT1 и SYSPRINT. Пятый набор данных — SYSLIB не является необходи мым.
200
|
|
|
|
|
|
|
Источники ввода в редактор связей |
Т а б л и ц а |
8 |
||||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
И с т о ч н и к и в в о д а |
|
|
|
|||
Х а р а к т е р и с т и к а |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
и с т о ч н и к о в в в о д а |
|
|
п е р в и ч н ы й в в о д |
д о п о л н и т е л ь н ы й в в о д |
а в т о в ы з о з |
|
|||||||||||
|
|
|
|
|
|
|
|
||||||||||
Язык определения ис- |
Язык |
|
управления Высказывания |
ре- |
Язык управления |
||||||||||||
точника |
|
|
|
|
|
заданиями |
|
дактора |
связей |
|
заданиями |
DD* |
|
||||
Рредство |
определения //SYSLIN DD |
INCLUDE |
|
|
//SYSLIB |
|
|||||||||||
источника |
модули |
|
Объектные |
модули Объектные |
и |
за |
Объектные |
и за |
|||||||||
Исходные |
|
||||||||||||||||
Возможность включе Имеется |
|
грузочные |
модули |
грузочные |
модули |
|
|||||||||||
|
Имеется |
|
|
|
Нет |
|
|
||||||||||
ния управляющих вы |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
сказываний |
редактора |
|
|
|
-* |
|
|
|
|
|
|
|
|
||||
связей |
|
|
|
|
|
Последователь |
Последователь |
Расчлененные |
|
||||||||
Наборы данных |
|
|
|
||||||||||||||
|
|
|
|
|
|
ные |
и |
(или) рас ные и |
(или) |
рас |
|
|
|
||||
|
|
|
|
|
|
члененные |
|
члененные |
|
|
|
|
|
||||
* См. также управляющее высказывание радактора связей LIBRARY. |
|
||||||||||||||||
|
|
|
|
|
|
|
Редактор связей и загрузчик |
|
Т а б л и ц а |
9 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
Х а р а к т е р и с т и к а |
|
|
|
Р е д а к т о р с в я з е й |
|
З а г р у з ч и к |
|
||||||||
Количество |
шагов |
задания |
для |
Не менее двух |
|
Один |
|
|
|||||||||
редактирования, |
загрузки |
и |
вы |
|
|
|
|
|
|
|
|||||||
полнения |
|
|
|
|
|
|
|
|
|
|
Библиотека |
|
|
Главная па- |
|
||
Место, куда помещается выходной |
|
|
|
||||||||||||||
загрузочный модуль |
|
|
|
|
вы- |
SYSLMOD |
|
|
|
М ЯТЬ |
|
|
|||||
Инициирование |
|
выполнения |
Нет |
|
|
|
Да |
|
|
||||||||
ходного |
загрузочного |
модуля |
|
|
Один или более |
|
Один |
|
|
||||||||
Количество выходных загрузочных |
|
|
|
||||||||||||||
модулей |
|
|
использования |
вы- |
Имеется |
|
|
|
Нет |
|
|
||||||
Возможность |
|
|
|
|
|
||||||||||||
ходного |
загрузочного |
|
модуля |
в |
|
|
|
|
|
|
|
||||||
дальнейшем |
|
|
|
|
|
|
|
|
Имеется |
|
|
|
Нет |
|
|
||
Возможность. подключения допол- |
|
|
|
|
|
||||||||||||
нательных |
источников |
ввода |
|
|
Имеется |
|
|
|
Нет |
|
|
||||||
Возможность создания оверлейной |
|
|
|
|
|
||||||||||||
структуры |
выходного |
|
модуля |
за- |
Да |
|
|
|
Нет |
|
|
||||||
Модификация |
существующих |
|
|
|
|
|
|||||||||||
грузочных |
модулей |
|
|
|
управ- |
Да |
|
|
|
Нет |
|
|
|||||
Обработка |
специальных |
|
|
|
|
|
|||||||||||
ляющих |
высказываний |
|
|
|
|
Не допускается |
|
Допускается |
|
||||||||
Наличие в SYSLIN модулей двух |
|
|
|||||||||||||||
типов |
(объектные |
|
и |
загрузоч |
|
|
|
|
|
|
|
||||||
ные) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Относительное время работы (для |
2 |
|
|
|
1 |
|
|
||||||||||
загрузчика |
принято |
за |
1) |
|
|
|
|
|
|
|
1 |
|
|
||||
Относительное |
время |
|
выполнения |
1 |
|
|
|
|
|
||||||||
выходного |
модуля |
|
|
|
|
|
|
Требуется |
|
|
|
Не требуется |
|
||||
Вспомогательная |
память |
|
|
|
|
|
|
|
201