Читайте также:
|
|
Для ЭВМ с неявной сегментной адресацией характерным является наличие базовых регистров для команд и для данных. Загрузчик перед передачей управления программе записывает в базовые регистры адреса расположения сегментов. ЦП аппаратно вычисляет исполнительные адреса операндов:
Исполнительный адрес операнда =(базовый регистр)+<адресный код>
В таких ЭВМ односегментные программы не требуют настройки адресов. Они являются автоперемещаемыми. Для таких программ используется абсолютный загрузчик. Например, в ПЭВМ к таким программам относятся программы типа СОМ.
Многосегментные программы при наличии адресных ссылок на объекты в другом сегменте требуют перерасчета адресных констант (в ПЭВМ - это ЕХЕ программы). Для них требуется настраивающий загрузчик.
В ЭВМ с неявной сегментной адресацией адресные ссылки состоят из двух полей: адреса сегмента и смещения от начала сегмента. В загрузочной программе транслятор на месте адресной ссылки указывает относительный адрес сегмента от начала программы и смещение в сегменте объекта, чей адрес необходимо пересчитать в машинной программе.
Обычно перед загрузочным кодом программы размещается список настройки. В нем отображены местонахождения всех полей с адресными ссылками между сегментами. Их обычно немного, так как основную часть настройки выполняет ЦП. Обычно список имеет два поля для каждого настраиваемого поля: относительный адрес сегмента от начала программы и смещение в сегменте.
Схема преобразования адресов при загрузке следующая. Загрузчик вначале считывает список настройки и запоминает в своем буфере. Затем считывает программу по адресу, указанному монитором работ. При этом адрес может быть реальным или виртуальным, что зависит от организации памяти в вычислительной системе. После этого загрузчик корректирует только адреса сегментов в адресных ссылках, заменяя относительные адреса на фактические сложением адреса начала загрузки программы с относительным адресом сегмента. Это схема реализована в загрузчике EXE программ на ПЭВМ.
Схема преобразования адресов, если адрес загрузки 4500, представлена на рис. 6.9.
Алгоритм работы загрузчика при неявном базировании представлен на рис. 6.10.
Дата добавления: 2015-10-02; просмотров: 51 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Загрузка программ для ЭВМ с явной адресацией | | | Загрузка программ в ПЭВМ |