Cтраница 1
Дополнительные записи, вносимые в объектную программу. [1] |
Адрес загрузки программы является первым адресом, по которому программа размещается в памяти. До сих пор мы предполагали, что адрес загрузки определяется псевдооперацией ORG и, следовательно, известен в процессе трансляции. Это позволяет ассемблеру использовать абсолютные адреса памяти при формировании адресных констант и машинных команд, которые имеют адреса в качестве операндов. [2]
Счетчик адреса загрузки программы ( PLA), используемый для отслеживания адресов, приписываемых каждому сегменту. [3]
Параметр - исходный адрес загрузки программы ( IPLA), задаваемый программистом или операционной системой и указывающий адрес, по которому должен быть загружен первый сегмент программы. [4]
В начале второго просмотра адрес загрузки программы устанавливается в исходное состояние, как при первом просмотре, а. EXADDR) принимает значение IPLA. Карты считываются по одной из набора данных, переданного первым просмотром и содержащего копию объектной колоды. Каждый из пяти типов карт обрабатывается по-своему следующим образом. [5]
При загрузке программы, в которой осуществляется вызов нерезидентных обработчиков команд, адрес загрузки программы необходимо выбирать с учетом адреса загрузки вызываемого обработчика команды. [6]
Если на карте END задан начальный адрес выполнения программы, он модифицируется содержимым поля PLA и затем запоминается в качестве переменной EXADDR. Адрес загрузки программы увеличивается на длину сегмента и запоминается в качестве переменной SLENGTH, обеспечивая тем самым получение PLA для следующего сегмента. [7]
Если в операторе SLC определены абсолютный адрес и символическое имя, то абсолютный адрес преобразуется в двоичное значение и добавляется к адресу, соответствующему символическому имени. Полученная сумма представляет собой адрес загрузки программы. Если указано одно из значений, то оно используется в качестве адреса загрузки. [8]
Значения действительных адресных констант, определяемых переместимыми выражениями, устанавливаются транслятором относительно условного начального адреса программы. Окончательные значения переместимым выражениям устанавливаются программой Редактор в соответствии с адресом загрузки программы. [9]
Адреса памяти для перечисленных элементов приводятся в шестнадцатеричной системе счисления и указываются относительно нуля. Для определения абсолютного адреса элемента исходной программы необходимо к его относительному адресу добавить адрес загрузки программы. В операционной системе ДОС адрес загрузки программы определяется во время редактирования, его можно увидеть в распечатке обзора фаз, выдаваемой Редактором. В операционной системе ОС начальный адрес программы определяется во время загрузки программы в память для выполнения. [10]
Адреса памяти для перечисленных элементов приводятся в шест-надцатеричной системе счисления и указываются относительно нуля. Для определения абсолютного адреса элемента исходной программы необходимо к его относительному адресу добавить адрес загрузки программы. В операционной системе ДОС адрес загрузки программы определяется во время редактирования, его можно увидеть в распечатке обзора фаз, выдаваемой Редактором. [11]
Карты ТХТ содержат блоки данных и относительные адреса, по которым необходимо поместить эти данные. После того как загрузчик определил начальный адрес загрузки программы, он просто прибавляет к относительным адресам адрес загрузки программы ( PLA) и помещает данные. В качестве данных на ТХТ-картах могут фигурировать команды, неперемещаемые данные или исходные значения адресных констант. [12]
Адреса памяти для перечисленных элементов приводятся в шестнадцатеричной системе счисления и указываются относительно нуля. Для определения абсолютного адреса элемента исходной программы необходимо к его относительному адресу добавить адрес загрузки программы. В операционной системе ДОС адрес загрузки программы определяется во время редактирования, его можно увидеть в распечатке обзора фаз, выдаваемой Редактором. В операционной системе ОС начальный адрес программы определяется во время загрузки программы в память для выполнения. [13]
Адреса памяти для перечисленных элементов приводятся в шест-надцатеричной системе счисления и указываются относительно нуля. Для определения абсолютного адреса элемента исходной программы необходимо к его относительному адресу добавить адрес загрузки программы. В операционной системе ДОС адрес загрузки программы определяется во время редактирования, его можно увидеть в распечатке обзора фаз, выдаваемой Редактором. [14]
Вызов программ для выполнения осуществляется в ПДО либо с помощью программы-загрузчика, либо с помощью программы выборки. Загрузчик вызывается по команде LOAD. Он загружает в память ВМ программы, представленные в виде объектных модулей. Адрес загрузки программы, адрес точки входа и перечень загружаемых модулей задаются в команде LOAD. В процессе работы загрузчик выполняет автоматический или управляемый пользователем поиск объектных модулей, необходимых для разрешения внешних ссылок, редактирование связей и настройку переместимых адресных констант. В силу того, что загруженная таким образом программа обычно является непереместимой, жестко привязанной к месту в основной памяти, ее называют абсолютным модулем. [15]