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




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

     всех виртуальных элементов.

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

          Для описания  табличного  типа  данных  в режиме Ideal можно
     использовать следующий синтаксис:

          TABLE имя [элемент_таблицы [,элемент_таблицы...]]

          Следующий синтаксис работает только в режиме MASM:

          имя TABLE [элемент_таблицы [,элемент_таблицы...]]

          Каждое поле "элемент_таблицы" имеет следующий синтаксис:

          имя_таблицы

     или
          [VIRTUAL] имя_элемента [[выражение_счетчика_1]]
                [: сложный_тип [:выражение_счетчика_2]] [=выражение]

     где "имя_таблицы" - это имя существующего табличного типа данных,
     элементы которого целиком встраиваются в определяемую вами табли-
     цу. Прибегайте к данному синтаксису,  если вы хотите использовать
     наследование.

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

          "Имя_элемента" -  это  имя элемента таблицы.  Необязательное
     ключевое слово VIRTUAL указывает,  что элемент является виртуаль-
     ным, и ему нужно присвоить смещение.

          "Сложный_тип" может  представлять собой любое допустимое вы-
     ражение сложного типа.  Описание допустимых типов выражений можно
     найти в Главе 5.

          Если вы не задается поле "сложный_тип", Турбо Ассемблер под-
     разумевает, что это WORD (или DWORD,  если текущей выбранной  мо-
     делью является 32-разрядная модель).

          Поле "выражение_счетчик_2" задает, сколько элементов данного
     типа определяется в таблице. Определение элемента таблицы:

          foo TABLE VIRTUAL tmp:DWORD:4

     определяет элемент таблицы с именем tmp,  состоящий из 4  двойных
     слов.

          По умолчанию,  если  вы  его не задаете,  "выражение_счетчи-
     ка_2" имеет значение 1. Поле "выражение_счетчика_1" - это коэффи-
     циент размера  элемента  массива.  Для элемента резервируется па-
     мять, объем,  которой определяется произведением "выражение_счет-
     чик_2", длины, заданной полем "сложный_тип", и "выражения_счетчи-
     ка_2". Если вы не задаете "выражение_счетчика_2", то по умолчанию
     его значение равно 1.  Общее число элементов таблицы определяется
     произведением "выражение_счетчика_1" и "выражением_счетчика_2".

          В режиме Ideal имена элементов таблицы  являются  локальными
     для таблицы, а в режиме MASM имеют глобальную область действия.

          Поле "имя" задает имя табличного типа данных. Позднее вы мо-
     жете использовать его в модуле для получения информации о таблич-
     ном типе  данных.  Для получения информации можно также использо-
     вать имена отдельных элементов.  Подробнее об этом рассказывается
     в Главе 5.

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

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

          Этот синтаксис аналогичен синтаксису перечислимого типа дан-
     ных. Приведем пример:

          foo TABLE t1:WORD,t2:WORD,t3:WORD,t4:WORD ; исходная версия

          foo TABLE {                      ; версия, использующая
             t1:WORD,                      ; несколько строк

     Турбо Ассемблер 3.0/tasm/#1-2                             = 164 =

             t2:WORD,
             t3:WORD,
             t4:WORD
             }

          foo TABLE t1:WORD,t2:WORD, {     ; более компактная версия





t3:WORD,t4:WORD } Турбо Ассемблер 3.0/tasm/#1-2 = 165 = Переопределение элементов таблицы ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Если в одном и том же табличном типе вы описываете два или более элементов с одинаковым именем, то Турбо Ассемблер будет проверять их и анализировать, согласуются ли их размеры и типы. Если это не так, то будет генерироваться ошибка. Турбо Ассемблер будет использовать для элемента последнее начальное значение в таблице. Таким образом, вы можете переопределить начальное значе- ние таблицы поле того, как встроите ее в другую таблицу. Напри- мер: FOO TABLE VIRTUAL MEM1:WORD=MEM1PROC, VIRTUAL MEM2:WORD=MEM2PROC FOO2 TABLE FOO, VIRTUAL MEM1:WORD=MEM3PROC ; переопределить ; наследуемый MEM1 Определение именованного типа ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Именованные типы представляют простые или сложные типы. Для определения именованных типов вы можете использовать директиву TYPEDEF. Приведем синтаксис режима Ideal. TYPEDEF имя_типа сложный_тип В режиме MASM синтаксис следующий: имя_типа TYPEDEF сложный_тип где "сложный_тип" описывает любой тип или указатель нескольких уровней косвенности. Подробнее о сложных типах рассказывается в Главе 5. "Имя_типа" определяет имя заданного типа. Когда вы в выражении указываете названный тип, он действует так же, как простой тип соответствующего размера. Например: MOV ax, word ptr [bx] ; простой оператор foo TYPESEF near ptr byte ; FOO - это слово MOV ax, foo ptr [bx] ; поэтому это тоже работает Определение объекта ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Объект содержит структуру данных и список соответствующих объекту методов. Турбо Ассемблер используется для представления связанной с объектом структуры структурный тип данных, а для представления связанного с объектом списка методов - табличный тип данных. Определить объекты вам поможет директива STRUC. В режиме Ideal используется следующий синтаксис: STRUC имя [модификаторы] [имя_порождающего_объекта] Турбо Ассемблер 3.0/tasm/#1-2 = 166 = [METHOD [элемент_таблицы [,элемент_таблицы...]]] элементы_структуры ENDS [имя] В режиме MASM используется следующий синтаксис: имя STRUC [модификаторы] [имя_порождающего_объекта] [METHOD [элемент_таблицы [,элемент_таблицы...]]] элементы_структуры ENDS [имя] где "имя" - это имя объекта. "Имя_порождающего_объекта" - это не- обязательное имя порождающего объекта. (Турбо Ассемблер явно под- держивает только одиночное наследование.) Структура данных порож- дающего объекта будет автоматически включаться в структуру данных нового объекта, а таблица методов порождающего объекта - в табли- цу методов нового объекта. Каждое поле "элемент_таблицы" описывает имя метода и проце- дуры метода, связанного с объектом. Синтаксис этого поля такой же, как в определении таблицы. Поле "элементы_структуры" описывает дополнительные элементы структуры, которые вы хотите определить в структуре данных объек- та. Они форматируются точно также, как в открытом определении структуры. Необязательное ключевое слово "модификаторы" может представ- лять собой одно из следующих слов: Турбо Ассемблер 3.0/tasm/#1-2 = 167 = Разрешенные модификаторы Таблица 8.3 ЪДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і Ключевое слово і Значение і ГДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ і GLOBAL і Приводит к тому, что адрес таблицы вир- і і і туальных методов (если она имеется) бу- і і і дет объявлен общедоступным. і


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