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




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

    іtypі length і name     і index  і segment і length   іsumі
    іB0Hі        і          і        і type    і          і   і
    АДДДБДДДДДДДДЕДДД///ДДДДБДД///ДДДБДДДДДДДДДБДДДДДДДДДДЕДДДЩ
                 АДДДДДДДДДДДДДДДДДДДДrptДДДДДДДДДДДДДДДДДЩ

     Запись COMDEF содержит список из одного  или  более  имен
'communal',    определяющих    переменные   типа   'communal'.
Переменная типа 'communal' это инициализированная  переменная,
чье  конечное  положение  и  размер  не  определены  во  время
компиляции.

     Переменные типа  'communal'  сходны  с  блоками  'common'
языка  ФОРТРАН,  т.е.  при сборке объектных модулей, каждый из
которых  объявляет  переменную типа 'communal', размер памяти,
отводимый переменной, равен размеру наибольшей из них. В языке
СИ   все  инициадизированные  переменные  'public'  имеют  тип
'communal'. Рассмотрим следующий пример объявления  переменных
типа 'communal' в языке СИ:

     char array[4]     /* в файле а.с */
     char array[1]     /* в файле в.с */
     char array[1024]  /* в файле с.с */

     При  сборке  объектных модулей, полученных из файлов а.с,
в.с и с.с, сборщик выделит 1024 байта для символьного  массива
"array".

     Запись  COMENT  класса 161 должна предшествовать в модуле
записи COMDEF.

     а) communal name

     В  этом  поле  содержится имя переменной типа 'communal',
     длиной в один или несколько символов.

     Такие имена рассматриваются  как  внешние  и  упорядочены
     вместе с внешними именами. Таким образом, обращение к ним
     осуществляется также, как и к внешнему имени через индекс
     (cм. описание записи EXTDEF).

     б) type index

     Это поле (индекс типа) игнорируется сборщиком Microsoft.

     в) data segment type

     Это  однобайтовое  поле  идентифицирует сегмент данных, в
     котором находится  переменная  типа  'communal'  и  может
     содержать следующие значения:

     62Н(FAR) - переменная находится в текущем сегменте данных.
     61Н(NEAR) - переменная  находится  не  в текущем сегменте
                 данных.

     г) communal length

     Это  поле  содержит  длину  переменной  типа 'communal' в
     соответствии со значением поля data segment type.
     Если значение поля data segment type равно 62Н, то  длина
     представлена  в  байтах.  Если  61Н,  то описываемое поле
     имеет следующий формат:

     ЪДДДД///ДДДДДВДДДДДД///ДДДДДДДДї
     і количество і размер элемента і
     і элементов  і в байтах        і
     АДДДД///ДДДДДБДДДДДД///ДДДДДДДДЩ

     Формат любого поля длины выглядит следующим образом:

     ЪДДДДДДДДДї
     і 0 - 127 і
     АДДДДДДДДДЩ
     ЪДДДДДДДДДВДДДДДДДДДВДДДДДДДДДї
     і   81Н   і         і         і             от 0 до 64К-1
     АДДДДДДДДДБДДДДДДДДДБДДДДДДДДДЩ
     ЪДДДДДДДДДВДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДї
     і   84Н   і         і         і          і  от 0 до 16М-1
     АДДДДДДДДДБДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДЩ
     ЪДДДДДДДДДВДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДї
     і   88Н   і         і         і          і          і
     АДДДДДДДДДБДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДЩ
                       от -2G-1 до 2G-1

     Первый формат (один байт) может содержать значение от 0 до
     127.

     Второй формат имеет лидирующий идентификационный байт 81Н
     и содержит значение в следующих двух байтах.

     Третий формат имеет лидирующий идентификационный байт 84Н
     и содержит значение в следующих трех байтах.

     Четвертый формат имеет лидирующий идентификационный  байт
     88Н  и  содержит  знаковое  значение  в следующих четырех
     байтах.

     Совпадающее с  определением  переменной  типа  'communal'





определение в PUBDEF затирает определение переменной типа 'communal'. Два определения переменной типа 'communal' совпадают, если совпадают имена в их определениях. Если два совпадающих определения различаются отношением к текущему сегменту ( FAR и NEAR ), то сборщик выбирает NEAR. Если переменная NEAR, то ее размер равен наибольшему из размеров, указанных для нее. Если переменная FAR, то в случае различия размеров элементов массива сборщик выдает предупреждение. Иначе, размер переменной равен размеру элемента, умноженному на наибольшее указанное количество элементов. Кроме того, сумма размеров всех переменных NEAR не должна превышать 64К, а сумма размеров всех переменных FAR - размер адресного пространства машины. Переменная FAR, размер которой превышает 64К (HUGE) размещается в последовательных сегментах (для 8086) или секторах (для 80286). Никакие другие данные не могут размещаться в сегментах, занимаемых HUGE-переменной типа 'communal'. Если сборщик находит совпадающие определения 'communal'- переменных HUGE и NEAR, то он выдает предупреждение, т.к. NEAR-переменная не может иметь размер, больший 64К. 7.5.9. Запись определения имен 'local' (LOCSYM) ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД ЪДДДВДДДДДДДДВДДД///ДДДВДДД///ДДДВДДДДДДДДДВДД///ДДДВДДДї іrecі record і local і local і local і type іchkі іtypі length і base і name і offset і index іsumі і92Hі і і і і і і АДДДБДДДДДДДДБДДД///ДДДЕДДД///ДДДБДДДДДДДДДБДД///ДДДЕДДДЩ АДДДДДДДДДДrptДДДДДДДДДДДДДДДЩ Запись LOCSYM содержит информацию для определения имен 'local'. Формат и назначение каждого из полей local base, local name, local offset и type index аналогичны формату и назначению соответствующих полей public base, public name, public offset и type index записи PUBDEF. Запись COMENT класса (161) должна предшествовать в модуле записи LOCSYM. 7.5.10. Запись определения имен 'external' (EXTDEF) ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД ЪДДДВДДДДДДДДВДДД///ДДДДВДДДД///ДДДВДДДї іrecі record і external і type іchkі іtypі length і name і index іsumі іB0Hі і і і і АДДДБДДДДДДДДЕДДД///ДДДДБДДДД///ДДДЕДДДЩ АДДДДДДДДДrptДДДДДДДДДЩ Запись 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. Для этих случаев смотрите Раздел 7.6. 7.5.11. Запись нумерации строк (LINNUM) ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД ЪДДДВДДДДДДДДВДДД///ДДВДДДДДДДДВДДДДДДДДВДДДї іrecі record і line і line і line іchkі іtypі length і number і number і number іsumі і94Hі і base і і offset і і АДДДБДДДДДДДДБДДД///ДДЕДДДДДДДДБДДДДДДДДЕДДДЩ АДДДДДДДrptДДДДДДДЩ Эта запись позволяет транслятору соотносить номер строки исходного кода с соответствующей строкой транслированного кода.


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


adfun.ru









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

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

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

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