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

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

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

 

Приведем формат записи примера (SAMREC) для введения основных понятий и терминов.

  1. Название и официальная аббревиатура

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

  2. Блоки

    Каждый формат изображен в виде блоков двух размеров. Узкий блок представляет один байт. Простой широкий блок представляет два байта. Если сверху и снизу блока помещены три наклонные черты, то размер блока зависит от его содержимого и может быть равен одному и более байтам. Широкий блок с четырьмя вертикальными чертами сверху и снизу представляет четыре байта.

  3. rectyp

    Первый байт каждой записи содержит значение от 0 до 255, указывающее тип записи.

  4. record length

    Второе поле в каждой записи содержит количество байт в записи, исключая первые два поля, и представляет собой 1-битное поле (младший байт идет первым).

  5. name

    Это поле содержит имя. Любое поле, содержащее имя, имеет следующую структуру: первый байт содержит число от 0 до 127 включительно и указывает число байт в поле, не считая байт длины.

  6. number

    Четырехбайтное поле номера содержит 32-битное беззнаковое целое.

  7. rpt или cond

    Если участок формата помечен снизу скобкой и подписью rpt, то это означает, что помеченный участок может повторяться.
    Если участок формата помечен снизу скобкой и подписью cond, то это означает, что наличие помеченного участка зависит от истинности некоторого условия.

  8. chksum

    Последним полем в каждой записи является поле chksum, содержащее дополнение до двух сумм (по модулю 256) всех остальных байт в записи.

  9. поля бит

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


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