Лекции по курсу "Проектирование ассемблеров, компоновщиков, макропроцессоров"
29. Структура объектных файлов. Формат записи определения имен 'external' (EXTDEF)
Запись EXTDEF содержит список имен 'external' и описание для каждого имени типа объекта, представляемого этим внешним именем. Сборщик присваивает каждому имени 'external' значения идентичных имен 'public' и 'local' (если идентичное имя будет найдено).
- external name
Содержит имя внешнего объекта. Это имя не может иметь нулевую длину. Включение имени в запись EXTDEF является явным запросом на сборку объектного файла с модулем, содержащим это же имя, объявленное как 'public', если имя не определено как 'local' в том же модуле, что и EXTDEF. Порядок записей EXTDEF в модуле и порядок внешних имен в самой записи EXTDEF вместе с записями COMDEF и именами 'communal' определяется индексацией всех внешних имен, запрашиваемых модулем, т.е. для обращения к конкретному внешнему имени сборщик использует индексы в полях target datum и/или frame datum записи FIXUPP. Индекс внешнего имени не может ссылаться вперед.
Например, запись EXTDEF, определяющая N-й объект, должна предшествовать любой записи, ссылающейся на объект с индексом N. - type index
Поле игнорируется сборщиком Microsoft, за исключением версий до 3.05 и объектных модулей без записи COMENT класса 161.
Введение
Причины использования языка ассемблер
Причины неиспользования языка ассемблер
Синтаксис ассемблера
Системное программное обеспечение и структура ЭВМ
Программная модель процессора Intel 8086
Организация работы памяти
Операнды
Адресация операндов
Формат машинных команд
Команды переходов
Типы ассемблеров. Функции ассемблера
Ассемблер по схеме 1А / ОП
Ассемблер по схеме 1А / МД
Двухпросмотровый ассемблер
Многопросмотровый ассемблер
Загрузчик
Структура объектных файлов. Основные понятия
Идентификация модуля и атрибуты
Концепция привязки
Объектный файл. Последовательность записей
Объектный файл. Формат записей
Формат записей THEADR и LHEADR
Формат записи LNAMES
Формат записи SEGDEF
Формат записи GRPDEF
Формат записи PUBDEF
Формат записи COMDEF
Формат записи LOCSYM
Формат записи EXTDEF
Формат записи LINNUM
Формат записи LEDATA
Формат записи LIDATA
Формат записи FIXUPP
Формат записи MODEND
Формат записи комментариев
Причины использования языка ассемблер
Причины неиспользования языка ассемблер
Синтаксис ассемблера
Системное программное обеспечение и структура ЭВМ
Программная модель процессора Intel 8086
Организация работы памяти
Операнды
Адресация операндов
Формат машинных команд
Команды переходов
Типы ассемблеров. Функции ассемблера
Ассемблер по схеме 1А / ОП
Ассемблер по схеме 1А / МД
Двухпросмотровый ассемблер
Многопросмотровый ассемблер
Загрузчик
Структура объектных файлов. Основные понятия
Идентификация модуля и атрибуты
Концепция привязки
Объектный файл. Последовательность записей
Объектный файл. Формат записей
Формат записей THEADR и LHEADR
Формат записи LNAMES
Формат записи SEGDEF
Формат записи GRPDEF
Формат записи PUBDEF
Формат записи COMDEF
Формат записи LOCSYM
Формат записи EXTDEF
Формат записи LINNUM
Формат записи LEDATA
Формат записи LIDATA
Формат записи FIXUPP
Формат записи MODEND
Формат записи комментариев