Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы СППО.docx
Скачиваний:
26
Добавлен:
25.12.2018
Размер:
71 Кб
Скачать
☆

15.Структура выходного обьектного модуля

Запись – НАЧАЛО(заголовок)

Н имя проги адр загрузки длина (рис1)

2. запись – конец

Е адрес точки входа(знакоместа аналогично)

3. Запись - тело модуля

Т адрес загрузки записи (АЗЗ) длина записи тело записи(команда константы в двоичном виде)

16.Алгоритм второго прохода обьектного модуля.

Цель: генерация машинных команд и констант в двоичном представлении и создание объектного модуля.

Исходные данные: таблица ТСИ и вспомогательная таблица

  1. Считываем 1ю строчку исходного текста программы и формируем запись-заголовок.

  2. организуем цикл по обработке строк исходного текста.

    1. анализируем поле операнда: если в нем обнаружено символическое имя, то осуществляем поиск ТСИ

      1. поиск удачен, то заменяем его на адрес из ТСИ и генерируем машинную команду в соответствующем формате.

      2. символическое имя в ТСИ не обнаружено – генерируется ошибка.

    2. если обнаружена константа, то она переводится из внешнего представления во внутреннее, генерируется соответствующая команда.

  3. цикл заканчивается директивой end и генерируется запись конечного модуля.

17. В чем основное отличие программ в перемещаемом формате от программ в абсолютном формате.

Создание программ в перемещаемом формате

Либо с прямой, либо с относительной адресацией.

  1. Прямая адресация

М относительный адрес модифицируемой команды (ОАМК)

Рис2

Недостаток таких программ: увеличение времени загрузки, увеличение размера объектного модуля.

Преимущества: гибкость.

Изменения в схеме ассемблирования:

-- дополнительная структура (таблица модификаторов)

Рис3

2.1.1. если в операндной части обнаружено символическое имя и оно присутствует в ТСИ, заменяем символическое имя относительным адресом из ТСИ и в таблицу модификаторов добавляем относительный адрес модифицируемой команды, в операндной части которой встретилось символическое имя.

Пункт 3 становится пунктом 4

А пункт 3: производим выгрузку таблицы модификаторов в объектный модуль(М ОАМК).

18.Создание перемещаемых программ с использованием только прямой адресации

19. Создание перемещаемых программ с использованием только относительной адресации

достоинства: более гибкая программа; т к нет необходимости настраивать операндные части, то более шустрая загрузка ОП и меньший объем объектного модуля.

недостаток: более медленное выполнение

Изменения в схеме ассемблирования

2й проход:

Если обнаружено символическое имя и это имя есть в ТСИ(в операндной части), то заменяем символическое имя адресом, который получается как разность относительного адреса символического имени из ТСИ и значением счетчика-адреса. Это и получается смещение. Записываем его в команду.

20.Что такое управляющая секция?

Лекция №5

Обработка управляющей секцией(раздельное ассемблирование)

Управляющая секция – часть программы, которая обрабатывается ассемблером независимо от других частей программы. Т е при обработке одной управляющей секции, появляется 1 автономный объектный модуль, обрабатывающийся независимо от других частей программ(модулей) – запускается свой алгоритм ассемблирования.

    1. Управляющая секция в отдельном файле

    2. несколько управляющих секций расположены в одном файле. В этом случае при ассемблирования данного файла должны получить несколько объектных модулей.

Введем специальную директиву:

Имя _секции CSECT

Достоинства: каждый модуль может быть загружен в ОП по одному адресу.