ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.10.2024
Просмотров: 75
Скачиваний: 0
Байты |
Формат записи 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
Источником первичного ввода должен быть последовательный набор данных SYSLIN, содержащий один или более объектных мо дулей и, возможно, управляющие высказывания редактора связей. Загрузочные модули не могут присутствовать в первичном вводе. В каталогизированных процедурах редактора связей и систем про граммирования шаг выполнения редактора связей имеет имя LKED
и включает высказывание //SYSLIN DD DDNAME-SYSIN.
Редактор связей всегда помещает выработанные загрузочные модули в библиотеку, определенную dd-высказыванием с именем SYSLMOD. В каталогизированных процедурах эта библиотека оп ределяется шагом LKED как временный набор данных.
Промежуточный набор данных, используемый во время работы редактора связей, имеет имя SYSUT1. При использовании катало гизированных процедур обычно не возникает необходимости моди фицировать dd-высказывание SYSUT1.
Листинг, генерируемый редактором связей, помещается в по следовательный набор данных с именем SYSPRINT.
Высказыванием определения данных с именем SYSLIB может быть подключена библиотека, в которой редактором связей произ водится автоматический поиск с целью разрешения внешних ссы лок, не получивших разрешения ни через первичный, ни через до полнительный ввод.
Если программист обращается к редактору связей непосредст венно, т. е. минуя каталогизированные процедуры систем програм мирования, то в источнике автовызова должны быть определены системные библиотеки в соответствии с тем, какими системами программирования были выработаны объектные модули, участ вующие в редактировании:
Система |
Имя |
программирования |
библиотеки |
ALGOL-60 |
SYS1.ALGLIB |
COBOL |
SYS1.COBLIB |
FORTRAN (G) \ |
SYS1.FORTLIB |
FORTRAN (Н) / |
|
PL/1 |
SYS1.PL1L1B |
Инициирование редактора связей производится оператором языка управления заданиями // ЕХЕС либо по имени уже упоми навшейся каталогизированной процедуры LKED, либо непосред ственно— по именам IEWLF440, IEWL или LINKEDIT. При этом в поле ключевого параметра PARM (в случае использования ката логизированной процедуры — в поле параметра PARM. LKED) мо гут быть указаны следующие опциональные возможности:
LIST — передача в SYSPRINT обработанных высказываний ре дактора связей;
МАР — запрос на план выработанного загрузочного модуля; XREF— запрос на план и список внешних перекрестных ссы
лок;
LET — присвоение загрузочному модулю статуса «выполни
2 0 2