Файл: Система математического обеспечения ЕС ЭВМ..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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