Значение - адресная константа - Большая Энциклопедия Нефти и Газа, статья, страница 1
Жизнь уходит так быстро, как будто ей с нами неинтересно... Законы Мерфи (еще...)

Значение - адресная константа

Cтраница 1


Значения действительных адресных констант, определяемых переместимыми выражениями, устанавливаются транслятором относительно условного начального адреса программы. Окончательные значения переместимым выражениям устанавливаются программой Редактор в соответствии с адресом загрузки программы.  [1]

По существу, значением адресной константы является адрес некоторого поля программы. Константы типа S используются, как правило, для формирования машинных команд.  [2]

Поскольку конкретное распределение памяти ( а значит и адреса объектов) транслятору неизвестно, то он не может окончательно определить значения адресных констант; их доопределение ( по информации, оставляемой транслятором) производится на этапе загрузки программы.  [3]

На этом этапе редактор связей, используя служебную информацию: создает текст одного или нескольких модулей ( модулей загрузки); разрешает внешние связи между объединенными в единую программу модулями; определяет значение переместимых адресных констант модулей в зависимости от положения текстов этих модулей в единой программе.  [4]

Записи справочника перемещений содержат: код типа записи ( тип Запись справочника перемещений); порядковый номер секции в объектном модуле, в которой находится данная адресная константа; порядковый номер секции в объектном модуле, к которой делается обращение, определяемое адресной константой; адрес расположения адресной константы в программной секции, заданной ее порядковым номером; тип адресной константы, длина ее; значение адресной константы.  [5]

DC A ( 4) определяет адресную константу. В качестве значения адресной константы используется значение счетчика адреса команд.  [6]

Базовые регистры не решают проблему перемещения программы полностью. Необходимо еще решить довольно трудную задачу изменения значений адресных констант. С помощью адресной константы программист указывает, что определенная ячейка памяти содержит адрес некоторого заданного, поля памяти.  [7]

Эти слова должны содержать абсолютные адреса соответствующих байтов. Таким образом, программа, имеющая подпрограммы, теряет переместимость: записать значения адресных констант в свободном массиве основной памяти можно только после того, как программа отнесена к конкретному адресу основной памяти.  [8]

Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля.  [9]

Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля. Если при этом были обнаружены ссылки к внешним именам, которых не оказалось в справочниках, редактор организует их поиск в библиотеках. Если никаких указаний относительно структуры загрузочного модуля редактору не сообщается, то он формирует загрузочный модуль простой структуры, загружаемый целиком для исполнения в оперативную память.  [10]

Объектный модуль не может быть исполнен до тех пор, пока программные секции в нем не будут увязаны. Остальные программные секции получают адреса относительно начального адреса. Адреса первых байтов объединяемых программных секций при этом выравниваются по границе двойного слова. Одновременно с объединением текстов программных секций объединяются справочники внешних имен и справочники перемещений, разрешая все межсекционные ссылки, представленные адресными константами. Процедура размещения ссылок сводится к вычислению значений адресных констант этих ссылок с учетом перемещений программных секций внутри собираемого загрузочного модуля.  [11]



Страницы:      1