Cтраница 1
Входное имя, содержащееся в данном модуле и определяемое элементом LD, при редактировании может получить номер элемента SD, СМ или PC своего модуля, если определяемые ими имена совпадают. Если же в пределах модуля совпадающих имен РЕДАКТОР не обнаруживает, то он ищет такие имена в других модулях по их элементам ER и присоединяет эти модули к формируемой фазе. [1]
Для входных имен эта информация переносится в словарь внешних имен, чтобы обеспечить работу редактора связей. Аналогично в таблице перемещаемых адресных констант нужно указывать секцию, в которой определена адресная константа. Кроме того, в словарь внешних имен включаются все имена программных секций. [2]
Команда ENTRY ( определить входное имя) предназначена для названия символического имени, которое определяется в этом модуле. [3]
Команда ENTRY - определить входное имя - объявляет символические имена, которые определены в данном программном модуле, но могут использоваться другими независимо транслированными модулями. [4]
В области действия каждого входного имени оно должно быть уникальным. Это требование относится как к именам процедур, так и к именам дополнительных входов. [5]
Результат: CHAR ( 7), содержащий входное имя процедуры, в которой возникло последнее прерывание. [6]
Если символическое имя определено в данном модуле, но может использоваться в другом модуле, то оно называется входным именем. [7]
Схема работы редактора связей при корректировании значения перемещаемой адресной константы, используемой в модуле А и; ссылающейся на внешнее имя, определенное в модуле В, показана на рис. 3.11. Пунктиром показано вычисление перемещений и; адреса входного имени, сплошными линиями - поиск адреса внешнего имени, а двойными-корректировка перемещаемой адресной константы. [8]
Входное имя определено в об; щей или фиктивной области памяти, записано в поле названия еще одной команды ENTRY, или в поле операндов команды EXTRN или WXTRN, или приравнено к имени, записанному в одной из этих команд. [9]
Определяет абсолютные адреса внешних имен, указанных в словаре внешних имен ( ESD) данного модуля. Для этого среди входных имен ранее обработанных модулей отыскивается имя, совпадающее с рассматриваемым внешним именем. Адрес внешнего имени равен адресу этого входного имени. Внешние имена, для которых не найдены соответствующие входные имена, остаются неопределенными. Библиотечные модули, содержащие искомые входные имена, редактор включает в формируемую фазу. [10]
Внутренние имена НАЧ, LI, X и Т играют несколько особую роль. Такие имена называются входными именами или просто входами зтого модуля. [11]
Определяет абсолютные адреса внешних имен, указанных в словаре внешних имен ( ESD) данного модуля. Для этого среди входных имен ранее обработанных модулей отыскивается имя, совпадающее с рассматриваемым внешним именем. Адрес внешнего имени равен адресу этого входного имени. Внешние имена, для которых не найдены соответствующие входные имена, остаются неопределенными. Библиотечные модули, содержащие искомые входные имена, редактор включает в формируемую фазу. [12]
![]() |
Структура выражений языка ассемблера ЕС ЭВМ. [13] |
Имя определено в данном программном модуле, если оно появляется в поле названия одного из операторов этого модуля. В этом случае его называют внутренним. Внутренние имена, на которые имеются ссылки в других независимо транслированных программных модулях, называют входными именами. Кроме внутренних имен, в поле некоторых операндов могут быть записаны внешние имена, определенные в других программных модулях. [14]
Для удобства программирования большая программа может быть разбита на части, называемые программными секциями. Секции могут отдельно транслироваться, а затем объединяться в одну выполняемую программу. К командам секционирования и соединения программ относятся команды определения: начала программы - START, программной секции - CSECT, фиктивной области - DSECT, входного имени - ENTRY, внешнего имени - EXTRN, общей области - СОМ. [15]