Вход в систему

Лекции по курсу "Проектирование ассемблеров, компоновщиков, макропроцессоров"

23. Структура объектных файлов. Формат записи списка имен (LNAMES)

 

Запись списка имен LNAMES идет за записью заголовка THEADR или LHEADR. Запись LNAMES содержит список имен, которые последующие записи SEGDEF и GRPDEF могут использовать в качестве имен сегментов, классов и/или групп.

Порядок записей LNAMES в модуле и порядок имен в записи LNAMES составлен так, что каждое имя имеет свой номер (1, 2, 3 и т.д.), используемый в качестве индекса имени в полях Group name index, Class name index и Segment name index записей SEGDEF и GRPDEF. Имя, указываемое в поле name, может иметь и нулевую длину.

Общий формат записи следующий:

Рассмотрим пример:

96 11 00 00 04 43 53 45 47 04 44 53 45 47 04 53 53 45 47 D6

96:
   Запись списка имен (LNAMES)

11 00:
   Длина записи 17 байт

00:
   Длина имени 0 байт.
Абсолютный псевдосегмент без имени.
Индекс имен: 01.

04:
   Длина имени 4 байта.

43 53 45 47:
   Имя: CSEG
Индекс имени: 02.

04:
   Длина имени 4 байта.

44 53 45 47:
   Имя: DSEG
Индекс имени: 03.

04:
   Длина имени 4 байта.

53 53 45 47:
   Имя: SSEG
Индекс имени: 04.

D6:
   Контрольная сумма (Chksum): 214.

В объектных файлах любое имя начинается с байта, в котором указана длина имени в байтах. В этом примере первым идет имя с нулевой длиной или, иначе говоря, абсолютный псевдосегмент без имени. Далее следует имя CSEG. Оно имеет длину 4 байта, и его номер в этом файле 02. Аналогично описываются другие имена сегментов, используемые в программе.

Введение
Причины использования языка ассемблер
Причины неиспользования языка ассемблер
Синтаксис ассемблера
Системное программное обеспечение и структура ЭВМ
Программная модель процессора Intel 8086
Организация работы памяти
Операнды
Адресация операндов
Формат машинных команд
Команды переходов
Типы ассемблеров. Функции ассемблера
Ассемблер по схеме 1А / ОП
Ассемблер по схеме 1А / МД
Двухпросмотровый ассемблер
Многопросмотровый ассемблер
Загрузчик
Структура объектных файлов. Основные понятия
Идентификация модуля и атрибуты
Концепция привязки
Объектный файл. Последовательность записей
Объектный файл. Формат записей
Формат записей THEADR и LHEADR
Формат записи LNAMES
Формат записи SEGDEF
Формат записи GRPDEF
Формат записи PUBDEF
Формат записи COMDEF
Формат записи LOCSYM
Формат записи EXTDEF
Формат записи LINNUM
Формат записи LEDATA
Формат записи LIDATA
Формат записи FIXUPP
Формат записи MODEND
Формат записи комментариев


исполнялось 0,537012 c, запросов к базе 6