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




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

     структуры или объединения.

          В структуре каждый элемент данных начинается, когда заканчи-
     вается предыдущий  элемент.  В  объединении каждый элемент данных
     начинается с того же смещения,  что и предыдущий элемент  данных.
     Если отдельный  элемент  данных  может  целиком  включать  в себя
     структуру или объединение,  это дает существенную гибкость и отк-
     рывает большие возможности. Описание директив STRUC, UNION и ENDS
     можно найти в следующей таблице:


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

                       Директивы STRUC, UNION и ENDS       Таблица 8.1
     ЪДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     і    Директива   і Смысл                                        і
     ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і    STRUC       і При использовании внутри открытой  структуры і
     і                і или объединения  данная  директива  начинает і
     і                і блок элементов,  который внешняя (охватываю- і
     і                і щая) структура  или объединение рассматрива- і
     і                і ет,  как один элемент.  Смещения элементам в і
     і                і блоке  присваиваются в возрастающем порядке. і
     і                і Размер блока представляет собой сумму разме- і
     і                і ров всех элементов в нем.                    і
     і                і                                              і
     ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і    UNION       і При использовании внутри открытой  структуры і
     і                і или объединения  данная  директива  начинает і
     і                і блок элементов,  который охватывающая струк- і
     і                і тура или объединение рассматривает  как один і
     і                і элемент.  Элементам блока присваивается одно і
     і                і и то же смещение. Размер блока равен размеру і
     і                і наибольшего элемента в нем.                  і
     і                і                                              і
     ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і    ENDS        і Завершает блок элементов, начинающихся  пре- і
     і                і дыдущей директивой STRUC или UNION.          і
     і                і                                              і
     АДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

          Например, в следующем определении данных типа структуры/объ-
     единения содержится в общей сложности 5 элементов.

          CUNION      STRUC
          CTYPE       DB ?
                         UNION      ; начало объединения
                         ; если CTYPE = 0, использовать следующее...
                         STRUC
          CT0PAR1          DW 1
          CT0PAR2          DW 1
                         ENDS
                         ; если CTYPE = 1, использовать следующее...
                         STRUC
          CT1PAR1          DW 3
          CT1PAR2          DW 4
                         ENDS
                      ENDS           ; конец объединения
                ENDS                 ; конец структурного типа

          Список этих элементов приведен в следующей таблице:


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

                       Элементы блока                      Таблица 8.1
     ЪДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     іЭлемент    і Тип     і  Смещение  і   Значение по умолчанию    і
     ГДДДДДДДДДДДЕДДДДДДДДДЕДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і CTYPE     і Byte    і     0      і   ? (не инициализирован)   і
     і CT0PAR1   і Word    і     1      і   1                        і
     і CT0PAR2   і Byte    і     3      і   2                        і
     і CT1PAR1   і Byte    і     1      і   3                        і
     і CT1PAR2   і Dword   і     2      і   4                        і
     АДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

          Длина данной структуры/объединения равна 6 байтам.

             Включение одной именованной структуры в другую
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

          Приведем синтаксис режима Ideal:





STRUC имя_структуры параметры_заполнения В режиме MASM вы можете использовать следующий синтаксис: имя_структуры STRUC параметры_заполнение Оператор такого вида можно использовать только внутри струк- туры или объединения. Здесь "имя_структуры" - это имя ранее опре- деленной структуры или объединения, которая должны включаться. "Параметры_заполнения" задают изменения, которые вы хотите внести в начальные (используемые по умолчанию) значения включенных эле- ментов структуры. Ключевое слово ? указывает, что все встраивае- мые элементы структуры нужно рассматривать, как неинициализиро- ванные. В противном случае поле "параметры_заполнения" имеет следующий синтаксис: { [имя_элемента [=выражение] [,имя_элемента [=выражение]...]] } где "имя_элемента" - это имя любого элемента включаемой структу- ры, начальное значение которого при включении требуется изменить. "Выражение" представляет собой значение, на которое вы хотите его изменить. При наличии "выражения" начальное значение этого эле- Турбо Ассемблер 3.0/tasm/#1-2 = 161 = мента структуры при его включении останется без изменения. Если вы задаете в поле выражения ключевое слово ?, то начальное значе- ние элемента будет записываться при его включении, как неинициа- лизированное. Поскольку в режиме MASM имена элементов структуры являются глобальными, при копировании структуры они не переопределяются. Таким образом, в режиме MASM включение одной структуры в другую более полезно, когда вы делаете это в начале определяемой струк- туры или объединения. Обычно, когда вы создаете экземпляр структуры, нужно обеспе- чить, что инициализированные данные содержал только один элемент объединения (подробности см. в Главе 12). Поскольку при встраива- нии структуры создание экземпляра не предусматривается, это огра- ничение здесь не применяется. Инициализированные данные могут со- держать несколько элементов включаемого объединения, например: FOO STRUC ABC DW 1 DEF DW 2 UNION A1 DW '123' A2 DW ? ENDS ENDS FOO2 STRUC FOO STRUC {A1=2} ; встроить структуру FOO в структуру ; FOO2 с переопределением ; заметим, что по умолчанию в FOO2 ; инициализируется и A1, и A2 GHI DB 3 ENDS Определение структуры FOO2 в предыдущем примере эквивалентно следующей вложенной структуре/объединению: FOO STRUC STRUC ; начало вложенной структуры... ABC DW 1 DEF DW 2 UNION ; начало вложенного объединения... A1 DW '123' A2 DW ? ENDS ; конец вложенного объединения... ENDS ; конец вложенной структуры... GHI DB 3 ENDS Заметим, что при создании экземпляра FOO2 нужно убедиться, что инициализируется только одно значение в объединении. Турбо Ассемблер 3.0/tasm/#1-2 = 162 = Использование имен структур в выражениях ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД После того, как вы определите структуру или объединение, ин- формацию о структуре и объединении можно получить различными пу- тями. Для получения информации с помощью выражений Турбо Ассемб- лера вы можете использовать имена типа данных структуры или объ- единения. Более подробно об этом рассказывается в Главе 5. Определение таблиц ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Табличный тип данных представляет набор элементов таблицы. Каждый элемент имеет заданный размер (в байтах) и начальное зна- чение. Элемент таблицы может быть виртуальным или статическим. Виртуальному элементу таблицы присваивается смещение в табличном типе данных. Для него резервируется место в каждом экземпляре таблицы. Статических элемент не имеет смещения. В экземпляре таб- лицы пространство для него не резервируется. В целом размер табличного типа данных равен сумме размеров


Страницы : 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
Форумы политика, лучшие анекдоты
знакомства.