BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Форматы загружаемых объектных модулей
Автор ""
Размер 67980 Байт
Страница 1 из 9
СКАЧАТЬ КНИГУ ЦЕЛИКОМ


               ФОРМАТЫ ЗАГРУЖАЕМЫХ ОБЪЕКТНЫХ МОДУЛЕЙ

     __________________________________________________________


     7.1   Введение
     7.1.1   Определение терминов
     7.2   Идентификация модуля и атрибуты
     7.2.1   Определение сегмента
     7.2.2   Адресация сегмента
     7.2.3   Определение имен
     7.2.4   Индексы
     7.3   Концепция привязки
     7.3.1   Внунтрисегментная привязка
     7.3.2   Межсегментная привязка
     7.4   Последовательность записей
     7.5   Форматы записей
     7.5.1   Формат записи-примера        (SAMREC)
     7.5.2   Заголовочная запись Т-модуля (THEADR)
     7.5.3   Заголовочная запись L-модуля (LHEADR)
     7.5.4   Запись списка имен           (LNAMES)
     7.5.5   Запись определения сегмента  (SEGDEF)
     7.5.6   Запись определения группы    (GRPDEF)
     7.5.7   Запись определения имен 'public'   (PUBDEF)
     7.5.8   Запись определения имен 'communal' (COMDEF)
     7.5.9   Запись определения имен 'local'    (LOCSYM)
     7.5.10  Запись определения имен 'external' (EXTDEF)
     7.5.11  Запись нумерации строк             (LINNUM)
     7.5.12  Логическая упорядоченная запись данных (LEDATA)
     7.5.13  Логическая запись повторяемых данных   (LIDATA)
     7.5.14  Запись привязки              (FIXUPP)
     7.5.15  Конечная запись модуля       (MODEND)
     7.5.16  Запись комментариев          (COMENT)
     7.6   Представление типа для переменных 'communal'
     __________________________________________________________


                        7.1. Введение
                             НННННННН

     В этой главе  дается описание форматов  записей объектных
модулей,  определяющих  объектный  язык  для  микропроцессоров
8086, 80186 и 80286.  Объектный язык процессора 8086  является
выходным  продуктом  трансляторов  со  всех  языков,  (имеющих
процессор 8086)  собираемым впоследствии  программой Microsoft
linker.  Объектный язык 8086 используется при вводе/выводе для
процессоров  объектных  языков  (сборщики  и др.) операционных
систем XENIX, PC-DOS и MS-DOS.

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

     __________________________________________________________
     Примечание
               Если объектный  модуль содержит  неопределенные
               величины,  то   поведение  сборщика   Microsoft
               неопределено.   Все   неопределенные   величины
               резервируются     фирмой     Microsoft      для
               использования в будущих версиях системы.
     __________________________________________________________


     7.1.1. Определение терминов
            ДДДДДДДДДДДДДДДДДДДД

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

     OMF - Форматы объектного модуля.

     MAS - Адресное  пространство  памяти.    8086  MAS  равно
           одному мегабайту (1048576 байт).  Следует отметить,
           что  MAS  отличается   от  реальной  памяти,   т.к.
           последняя занимает только часть MAS.

     Модуль  -

           это  неделимое  единство  объектного  кода и другой
           информации,   создаваемое   в   результате   работы
           транслятора.

     Т-модуль -

           это модуль, создаваемый такими  трансляторами,  как
           Pascal или FORTRAN.

           _____________________________________________
           - Каждый модуль должен иметь имя.  Если таковое  не
           указано, то транслятор присваивает имя по умолчанию
           (имя файла или нулевое имя).

           -  Каждый  Т-модуль  в  группе модулей должен иметь
           уникальное имя. Для  сборщика Microsoft linker  это
           не обязательно.
           _____________________________________________






Фрагмент - это непрерывный участок MAS, длиной 64К, начинающийся на границе параграфа (или на селекторе 80286). Сегментные регистры процессора определяют только четыре фрагмента (возможно перекрывающихся). Ни один 16-разрядный адрес не имеет доступа к памяти вне четырех текущих фрагменов. Логический сегмент (ЛСЕГ) - непрерывный участок памяти, чье содержимое определяется во время трансляции (за исключением адресной привязки). Размер ЛСЕГ также не окончателен, т.к. при сборке несколько ЛСЕГ могут быть объеденены в один ЛСЕГ. Размер ЛСЕГ не должен превышать 64К. Таким образом, 16-битовое смещение от базы фрагмента, содержащего ЛСЕГ, может адресовать любой байт в ЛСЕГ. Физический сегмент (ФСЕГ) - Эквивалент термина "Фрагмент". Номер фрагмента - Каждый фрагмент начинается на границе параграфа. Параграфы памяти (16 байт) можно пронумеровать от 0 до 65535. Эти номера и являются номерами соответствующих фрагментов. Группа - это несколько ЛСЕГ, определенных во время трансляции, чье положение в MAS скомпоновано таким образом, что существует хотя бы один фрагмент, перекрывающий все ЛСЕГ в группе. Запись "Гр А(X,Y,Z)" означает, что логические сегменты X, Y и Z формируют группу А. Эта запись не содержит никакой информации о взаимном расположении сегментов. Текущая версия сборщика Microsoft не допускает принадлежности логического сегмента к более чем одной группе. Канонический фрагмент - Каждая ячейка MAS содержится в 4096 фрагментах, один из которых имеет наибольший номер. Этот фрагмент называется каноническим фрагментом данной ячейки памяти. Другими словами, каноническим фрагментом данной ячейки памяти является фрагмент, смещение от начала которого данной ячейки памяти находится в пределах 0-15. Это понятие применимо и группе ячеек, например, канонический фрагмент ЛСЕГ или канонический фрагмент группы ЛСЕГ. Имя сегмента - Каждому ЛСЕГ назначается имя во время трансляции. Это делается по следующим причинам: - необходимо определить во время сборки, какие ЛСЕГ скомбинированы друг с другом; - необходимо указать членство в группах. Имя класса - Во время трансляции логическому сегменту может быть назначено имя класса. Два ЛСЕГ принадлежат одному классу, если они имеют одинаковые имена класса. Имена класса имеют следующий смысл: имя класса "CODE" или любое имя класса с с таким суффиксом подразумевает, что все сегменты того класса содержат только код. Имя наложения - Логическому сегменту может быть назначено имя наложения. Это имя игнорируется сборщиками Microsoft версий 3.0 и позже, однако стандартный сборщик Microsoft поддерживает его. Полное имя - Полное имя ЛСЕГ включает имя сегмента, имя класса и имя наложения. Сборщик соединяет логические сегменты из различных модулей, если совпадают их полные имена. 7.2. Идентификация модуля и атрибуты ННННННННННННННННННННННННННННННН Заголовочная запись модуля содержит имя модуля и всегда идет первой в модуле. Кроме этого, модуль может представлять собой главную программу (main) с указанием стартового адреса. При сборке различных модулей, вы должны указать только один модуль, имеющий атрибут main. Если таковых будет несколько, то главным будет считаться первый. Суммируя сказанное, модули могут или не могут быть главными и могут иметь или не могут иметь стартовый адрес.


Страницы : [1] 2 3 4 5 6 7 8 9


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.