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




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

          ETYPE ?               ; неинициализированный экземпляр
          ETYPE FOO             ; инициализированный экземпляр,
                                ; значение FOO
          ETYPE 255             ; число вне ENUM также подходит

                       Создание экземпляра таблицы
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

          TTYPE TABLE VIRTUAL MoveProc:WORD=MoveRtn,   \продолжение...
               VIRTUAL MsgProc:DWORD=MsgRtn,           \продолжение...
               VIRTUAL DoneProc:WORD=DoneRtn,

          Тогда оператор:

          TTEST           TTYPE       ?

     создает экземпляр таблицы TTYPE (определяя переменную  TTEST).  В
     данном примере, поскольку задано значение неинициализируемых дан-
     ных ?, начальные данные в текущем сегменте не генерируются.

                    Инициализация экземпляров таблицы
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Когда вы определяете таблицу,  нужно задать начальное значе-
     ние для всех ее элементов.  Простейший инициализированный экземп-
     ляр таблицы  содержит  просто  заданные  в  определении начальные
     данные, например:

          TTYPE {}

     что эквивалентно следующему:

          DW MoveRtn
          DD MsgRtn
          DW DoneRtn

          Фигурные скобки ({}) представляют  нулевое  инициализирующее

     Турбо Ассемблер 3.0/tasm/#1-2                             = 210 =

     значение.  Значение инициализатора определяет, что элементы (если
     они есть) имеют начальное значение, которое нужно переопределить,
     и  каким  именно новым значением его требуется переопределить при
     выделении данных для экземпляра таблицы.

          Инициализатор записи в фигурных скобках имеет следующий син-
     таксис:

          {[имя_элемента = выражение [,имя_элемента = выражение...]]}

     где "имя_элемента"  -  это имя элемента таблицы,  а "выражение" -
     это значение,  которое вы хотите определить для элемента в данном
     экземпляре. Пустое значение указывает, что вы будете использовать
     начальное значение элемента из определения  таблицы.  Значение  ?
     эквивалентно нулю. Турбо Ассемблер устанавливает для всех элемен-
     тов, которые не указываются в инициализаторе, начальное значение,
     заданное в определении таблицы. Например:

          TTYPE {MoveProc=MoveRtn2,DoneProc=?}

     что эквивалентно следующему:

          DW MoveRtn2
          DD MsgRtn
          DW ?

      Создание и инициализация экземпляра именованного типа данных
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

          NNTYPE TYPEDEF PTR BYTE

          Тогда оператор:

          NNTEST           NTTYPE       ?

     создает экземпляр именованного типа NTYPE  (определяя  переменную
     NTTEST).  В данном примере, поскольку задано значение неинициали-
     зируемых данных ?, начальные данные в текущем сегменте не генери-
     руются.

          Способ инициализации экземпляра именованного типа зависит от
     типа, который этот именованный тип представляет. Например, NTTYPE
     в предыдущем примере - это слово,  поэтому он будет инициализиро-
     ваться, как если бы вы следующим образом  использовали  директиву
     DW:

          NTTYPE  1,2,3    ; представляет указатель значений 1,2,3
          DW      1,2,3    ; то же, что NTTYPE 1,2,3






Турбо Ассемблер 3.0/tasm/#1-2 = 211 = Однако, если именованный тип представляет структуру или таб- лицу, то его нужно инициализировать также, как инициализируются структуры и таблицы. Например: foo STRUC f1 DB ? ENDS bar TYPEDEF foo bar {f1=1} ; должен быть инициализатор структуры Создание экземпляра объекта ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Создание экземпляра объекта в инициализированном или неини- циализированном сегменте данных полностью совпадает с созданием экземпляра структуры. Фактически, объекты в Турбо Ассемблере представляют собой структуры с некоторыми расширениями. Одним из таких расширений является элемент структуры @Mptr_<имя_объекта>. Объектный тип данных с виртуальными методами - это структу- ра, содержащая один элемент, указывающий на таблицу указателей виртуальных методов. Именем данного элемента является @Mptr_<имя_ объекта>. Обычно инициализируется с помощью конструктора метода. Однако, вы можете построить статические объекты, не имеющие конс- труктора, но инициализируемые с помощью инициализатора в сегменте данных. Если вы указываете используемое по умолчанию значение эле- мента @Mptr_<имя_объекта>, то Турбо Ассемблер будет корректно инициализировать экземпляр объекта. Другим отличием структур и объектов является то, что объекты могут наследовать элементы из предыдущих определений объекта. При подобном наследовании Турбо Ассемблер интерпретирует его, как вложенную структуру. В связи с этим для инициализации объектных данных не рекомендуется использовать угловые скобки (<>). Создание экземпляра таблицы виртуальных методов объекта ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Для каждого объекта, содержащего виртуальные методы, необхо- димо наличие доступной таблицы виртуальных методов. Правильное размещение данной таблицы определяет множество факторов, включая то, какую программную модель вы используете, хотите вы получить таблицу NEAR или FAR и т.д. Турбо Ассемблер требует от вас только размещения данной таблицы. Экземпляр последних определенных объ- ектов вы можете создать, используя псевдооперацию TBLINST, кото- рая имеет следующий синтаксис: TBLINST TBLINST определяет в качестве адреса таблицы виртуальных ме- тодов объекта @TableAddr_<имя_объекта>. Это эквивалентно следую- Турбо Ассемблер 3.0/tasm/#1-2 = 212 = щему: @TableAddr_<имя_объекта> @TableAddr_<имя_объекта> {} 


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