Cтраница 3
Во время загрузки программист указывает константу, называемую смещением загрузки, которую загрузчик прибавляет к адресу загрузки перемещаемого объектного модуля и ко всем перемещаемым величинам, как только они загружаются в память. [31]
При записи подпрограммы в оперативную память внутренние адреса должны быть скорректированы с учетом места расположения ( адреса загрузки) подпрограммы. Внутренние адреса могут корректироваться аппаратными или программными средствами. На современных машинах третьего поколения, в частности на машинах ЕС ЭВМ, для этого предусмотрены специальные регистры ( см. 3.1), позволяющие формировать исполнительные адреса с учетом расположения подпрограммы. При отсутствии аппаратных средств корректировка производится программно. [32]
Но если ошибка обнаруживается, то необходимо выделить большую область памяти для длинного модуля и соответственно скорректировать адреса загрузки для других модулей. [33]
РП-хранение приемника, Р12 - хранение адреса вектора прерывания, Р13 - счетчик кодов начального загрузчика, Р17 - адрес загрузки, выборки данных и начала программы. [34]
При загрузке программы, в которой осуществляется вызов нерезидентных обработчиков команд, адрес загрузки программы необходимо выбирать с учетом адреса загрузки вызываемого обработчика команды. [35]
Если последняя половина поля операнда в директиве ORG, имеющей дело с пространством памяти загрузки и счетчиком, не определена, то ассемблер будет считать, что пространство памяти загрузки и счетчик адреса загрузки совпадает с пространством памяти выполнения программы и счетчиком адреса выполнения. В этом случае созданный объектный код загружается в то пространство памяти и по тому адресу, где была запущена программа. Причем, этот загруженный код не является оверлейным. Если пространство памяти загрузки и счетчик даны в поле операнда, то ассемблер всегда генерирует код для оверлея. Является оверлей абсолютным или настраиваемым, зависит от текущего режима действия ассемблера. От этого будет зависеть и то, является значение счетчика загрузки абсолютным или относительным выражением. Если ассемблер запущен в абсолютном режиме или выражение счетчика загрузки абсолютно, то оверлей также является абсолютным. Если же ассемблер находится в относительном режиме и выражение счетчика загрузки относительное, оверлей будет настраиваемым. Запущенный настраиваемый оверлейный код адресуется относительно данного местоположения с помощью выражения счетчика адреса выполнения программы. [36]
К управляющим операторам загрузчика относятся следующие операторы: ENTRY - определение точки входа; LIBRARY - определение невызываемых внешних ссылок; LDT - определение конца раздела; ICS - включение программной секции; SLC - определение адреса загрузки; REP - изменение объектного модуля; SPB - выравнивание адреса загрузки на границу страницы. [37]
К управляющим операторам загрузчика относятся следующие операторы: ENTRY - определение точки входа; LIBRARY - определение невызываемых внешних ссылок; LDT - определение конца раздела; ICS - включение программной секции; SLC - определение адреса загрузки; REP - изменение объектного модуля; SPB - выравнивание адреса загрузки на границу страницы. [38]
Оператор PHASE BBH, задает имя и адрес загрузки второй фазы программы. Адрес загрузки задается равным адресу первого двойного слова после фазы КВВ. [39]
Структура задания на выполнение программы. [40] |
Устанавливается адрес загрузки и автоматически присоединяются другие фазы программы и программы библиотеки, которые необходимы для работы. [41]
В качестве адреса загрузки фазы KTOR2 будет принят адрес первого двойного слова после конца предыдущей фазы. Если этот Оператор первый, то адресом загрузки является адрес первого двойного слова после конца супервизора. [42]
Дополнительные записи, вносимые в объектную программу. [43] |
Адрес загрузки программы является первым адресом, по которому программа размещается в памяти. До сих пор мы предполагали, что адрес загрузки определяется псевдооперацией ORG и, следовательно, известен в процессе трансляции. Это позволяет ассемблеру использовать абсолютные адреса памяти при формировании адресных констант и машинных команд, которые имеют адреса в качестве операндов. [44]
Пространство памяти загрузки совпадает с Р и счетчик адреса загрузки совпадает со счетчиком адреса выполнения программы. [45]