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




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо Ассемблер 3.0/tasm/#1-2
Автор ""
Размер 469003 Байт
Страница 38 из 51
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

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

          "Имя" - это имя типа записи.  Далее вы  можете  использовать
     его в модуле для получения различной информации о данных типа за-
     писи. Вы можете также использовать имена для этого имена  отдель-
     ных полей записи.  Значения и выражения размера не могут быть от-
     носительными и  иметь  опережающие  ссылки.  Имена  полей  записи
     являются по  области  действия  глобальными и переопределяться не
     могут.

          Вы можете переопределить тип записи и  определить  в  модуле
     одно и то  же имя, как данные типа записи, несколько раз.

          Вы можете также использовать имена типов записи для создания
     переменных и выделения памяти.  Подробности можно найти  в  Главе
     12.

          Турбо Ассемблер  обеспечивает  для  полей записи специальную
     поддержку, которая представляет флаги и данные перечислимого  ти-
     па. Более  эффективный  доступ к полям записи обеспечивают расши-
     ренные и дополнительные инструкции.  Эта концепция описывается  в
     Главе 13.

          Для определений данных типа записи, требующих большого числа
     полей, в Турбо  Ассемблере  предусмотрен  расширенный  синтаксис,
     аналогичный синтаксису перечислимого типа данных.  Например,  все
     следующие определения типа данных эквивалентны:

     Турбо Ассемблер 3.0/tasm/#1-2                             = 154 =


          foo RECORD f1:1,f2:2,f3:3,f4:4   ; исходная версия

          foo RECORD {                     ; версия, использующая
             f1:1,                         ; несколько строк
             f2:2,
             f3:3,
             f4:4
             }

          foo RECORD f1:1,f2:2, {          ; более компактная версия
              f3:3,f4:4  }

                   Определение структур и объединений
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Структуры и  объединения  позволяют вам совмещать и наклады-
     вать друг на друга данные различного типа.  Структура в Турбо Ас-
     семблер представляет собой тип данных,  который содержит один или
     более элементов структуры.  Структуры отличаются от записей, пос-
     кольку элементы структуры занимают всегда целое число байт, а за-
     писи описывают поля с произвольным числом бит.  Размер  структуры
     равен общему размеру всех входящих в нее элементов.

          Объединения аналогичны структурам, но все элементы объедине-
     ния занимают одну и ту же область памяти.  Размер объединения ра-
     вен размеру наибольшего элемента объединения. Объединения полезно
     использовать, когда блок памяти  должен  предоставлять  несколько
     разных возможностей,  для  каждой из которых требуется разная па-
     мять.

          Турбо Ассемблер позволяет вам полностью вкладывать структуры
     и объединения друг в друга,  но это может привести  в  чрезмерной
     сложности.  Например, вы можете получить элемент структуры, кото-
     рый на самом деле является объединением. В качестве элемента объ-
     единения можно также использовать структуры.



     Турбо Ассемблер 3.0/tasm/#1-2                             = 155 =

             Открытие определения структуры или объединения
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          В режиме Ideal для открытия определения данных типа структу-
     ры или объединения используется следующий синтаксис:

          STRUC имя   или  UNION имя

          В режиме MASM то же самое можно сделать с помощью следующего
     синтаксиса:

          имя STRUC   или  имя UNION

          Турбо Ассемблер  рассматривает все данные или код между отк-
     рытым определением структуры и  соответствующей  директивой  ENDS
     как часть данного типа структуры или объединения.

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



     Турбо Ассемблер 3.0/tasm/#1-2                             = 156 =





Задание элементов структуры и объединения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Турбо Ассемблер включает данные в структуры или объединения построчно. Для выделения памяти для данных и создания элементов при определении структуры и объединения используются те же дирек- тивы, что и для выделения данных и создания меток в открытом сег- менте. Например, директива: member1 DW 1 одинаково допустима в сегменте и в определении структуры. В сег- менте данный оператор означает "зарезервировать слово со значени- ем 1 и именем member1". В определении структуры или объединения это означает "зарезервировать слово с начальным значением 1 и именем элемента member1". Если в сегменте или структуре выделяется экземпляр структуры или объединения, вы можете использовать начальное значение эле- мента структуры. Если вы не распределять элементы структуры таким образом, для указания этого используйте в качестве значения дан- ных символ ? (символ неинициализированных данных). Турбо Ассемблер позволяет использовать в определении струк- туры все методы выделения данных, включая экземпляры других структур, объединений, записей, перечислимых типов данных, таблиц и объектов. Более подробно о выделении данных рассказывается в Главе 12. В режимах MASM и Ideal имена элементов структур интерпрети- руются по-разному. В режиме MASM имена элементов структур являют- ся глобальными и не могут переопределяться. В режиме Ideal имена элементов структур считаются локальными для структуры или объеди- нения. Турбо Ассемблер 3.0/tasm/#1-2 = 157 = Определение меток элементов структур с помощью директивы LABEL ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директива LABEL позволяет вам создавать элементы структур без выделения данных. Обычно LABEL задает метку с именем или мар- кер в той точке, где она обнаруживается в сегменте. Директива LABEL внутри определения структуры определяет элементы этой структуры. Приведем синтаксис директивы LABEL: LABEL имя сложный_тип В режиме MASM вы можете использовать следующий синтаксис: имя LABEL сложный_тип где "имя" - это имя элемента структуры. "Тип" - это желаемый тип элемента структуры. Он может представлять собой любое допустимое имя типа. Описание имеющихся спецификаторов типов можно найти в Главе 5. Выравнивание элементов структуры ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД В определения структуры для выравнивания элементов структур на соответствующие границы можно использовать директиву ALIGN. Например: ALIGN 4 ; выравнивание на границу двойного слова member dd ? ; member будет выравниваться на DWORD Турбо Ассемблер 3.0/tasm/#1-2 = 158 = Закрытие определения структуры или объединения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД После того, как вы определите все элементы структуры или объединения, нужно закрыть определение структуры или объединения. Для этого используется директива ENDS. В режиме Ideal директива ENDS имеет следующий синтаксис: ENDS [имя] В режиме MASM вы можете использовать синтаксис: имя ENDS где "имя" (если оно присутствует) соответствует имени открытого определения структуры или объединения. Если имя не указано, то закрывается открытая в данный момент структура или объединение. Вы можете также использовать директиву ENDS для закрытия сегментов. Это не приводит к конфликту, поскольку открытие сег- мента внутри структуры или объединения не допускается. Вложенные структуры и объединения ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Турбо Ассемблер позволяется для управления смещениями, прис- ваевыми элементам структуры, использовать вложенные директивы STRUC, UNION и ENDS внутри открытого определения данных типа


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47 48 49 50 51


adfun.ru









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

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

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

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