Учебное пособие: Разработка в структурно логической схемы микропроцессора

Загрузка – обеспечивает размещение в оперативной памяти для исполнения. Это системная программа и традиционная система.

Перемещение – позволяет модифицировать объектную программу так, что она может загружаться с адреса, отличного от первоначального.

Связывание – обеспечивает объединение двух и более раздельно транслированных объектных программ и предоставляет информацию необходимую для разрешения ссылок между ними. Для того чтобы программа была перемещаемая и мы могли разрешить все внешние ссылки, в объектной программе должна быть заложена информация.

Формат объектной программы.

Запись заголовок.

- // - 2-7 – имя программы

- // - 8-13 – начала адреса программы

- // - 14-19 – длина программы в байтах

Тело. Признак Т.

- // - 2-7 – Начальный адрес в данной записи.

- // - 8-9 – длина текущей записи

- // - 10-69 – объектный код

Запись - конец

- // - 2-7 – адрес первой исполняемой команды

Если большинство команд ассемблера использую относительную и непосредственную адресацию, то для реализации перемещения программ модификации требует отдельные программы ассемблера. Запись в модификатор может быть использованным как для перемещения так и для связок. Он состоит из:

Признак М

- // - 2-7 – начальный адрес модифицированного программного объекта

- // - 8-9 – длина модифицированного поля в полубайтах

- // - 10 – признак модификации

- // - 11 - 16 – внешнее имя

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

Лекция (12_10_07)

2 вариант – использование маски. С каждым словом программы объектного кода, связывается в разряд перемещения. Эти разряды образую вместе маску, которая записывается сразу после длины тела программы в каждой записи.

3 способ организации перемещения. Во многих ЭВМ перемещения организуется аппаратным образом. Для этого используется базовая адресация – базовый адрес + смещение.

4 вариант. Любой адрес высчитывается относительно.

Управляющая секция – часть программы, после ассемблирования сохраняет свою индивидуальность, и может перемещаться и загружаться независимо от других. Так как эти части логически связанны и не могут существовать отдельно, должен быть реализован механизм связывания и объединения. Чаще всего управляющей секцией выступает процедура функция. Команды одной управляющей секции должны иметь возможность ссылаться на команды и на области данных, расположенных в других секциях. Ссылки нельзя обрабатывать обычным образом, поскольку УС загружается и перемещается независимо дуг от друга и ассемблер ничего не известно. Для каждой внешней ссылке ассемблер генерирует информацию, которая дает возможность выполнить требуемое связывание программы. Имена определенные в одной управляющей секции могут непосредственно использоваться в другой секции. Для того чтобы загрузчик смог их обработать они должны быть описаны как внешние имена.

Запись определения – Столбец 1 D

- // - 2-7 – идентификатор внешнего имени, определенной данной управляющей секцией.

- // - 8-13 – относительный адрес имени

Запись ссылка – столбец 1 R

К-во Просмотров: 357
Бесплатно скачать Учебное пособие: Разработка в структурно логической схемы микропроцессора