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




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


          what's up doc?

          В качестве значения в директивах DD, DQ и DT можно указывать
     числа с плавающей точкой. Приведем некоторые примеры таких чисел:

          1.0E30                ; означает 1.0x10^30
          2.56E-21              ; означает 2.56х10^E-21
          1.28E+5               ; означает 1.28х10^+5
          0.025                 ; означает .025

          Турбо Ассемблер распознает эти  числа  с  плавающей  точкой,
     поскольку они содержат после начальной цифры символ точки. В MASM
     эти правила могут быть ослаблены, например:

          DD 1E30       ; допустимое значение с плавающей точкой в
                        ; режиме MASM
          DD .123       ; допустимо только в режиме MASM

                Примечание: Для  ясности вы рекомендуем всегда исполь-
           зовать начальную цифру и десятичную точку.

          Турбо Ассемблер  допускает  также указывать в директивах DD,
     DQ и DT кодированные вещественные числа.  Кодированное веществен-
     ное число - это шестнадцатиричное число точно определенной длины.
     Суффикс R указывает,  что число будет интерпретироваться, как ко-
     дированное вещественное число.  Длина числа должна заполнять тре-
     буемое поле (плюс одна цифра,  если начальной цифрой является  0.
     Например:

          DD  12345678r        ; допустимое число
          DD  012345678r       ; допустимое число
          DD  1234567r         ; недопустимое число (слишком
                               ; короткое)

          Другие значения суффиксов (D,  H, O, B) действуют аналогично
     тем, которые указываются в обычных выражениях.

          Некоторые простые директивы определения данных интерпретиру-
     ют другие числовые константы особым образом. Например, если вы не
     задаете основания для значения в директиве DT, то Турбо Ассемблер
     использует двоично-десятичное представление (BCD).  Другие дирек-
     тивы предполагают десятичное значение:

          DD 1234            ; десятичное
          DT 1234            ; BCD

          Если значение  представляет  собой простую положительную или
     отрицательную константу, используемое по умолчанию основание (за-
     даваемое  директивой RADIX) не применяется в директивах DD,  DQ и
     DT. Например:

     Турбо Ассемблер 3.0/tasm/#1-2                             = 202 =


          RADIX 16
          DW 1234           ; шестнадцатиричное значение 1234
          DD 1234           ; десятичное значение 1234

                Примечание: Числовые константы и директива RADIX  под-
           робнее описываются в Главе 5.

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

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

          ASTRUC STRUC
          B   DB "xyz"
          C   DW 1
          D   DD 2
          ASTRUC ENDS

          BUNION UNION
          X   DW  ?
          Y   DD  ?
          Z   DB  ?
          BUNION ENDS

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

          ATEST          ASTRUC         ?
          BTEST          BUNUION        ?

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


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

           Инициализация экземпляра структуры или объединения





ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Инициализированные экземпляры структуры несколько более сложны, чем неинициализированные. Когда вы определяете структуру, вам нужно определить используемое по умолчанию начальное значение для каждого ее элемента. (В качестве начального значения можно использовать ключевое слово ?, которое указывает, что конкретного начального значения сохранять не следует.) Когда вы создаете эк- земпляр структуры, его можно создать с использованием значений по умолчанию или переопределяемых значений. Простейший инициализиро- ванный экземпляр структуры содержит просто заданные в определении начальные значения. Например: ASTRUC {} что эквивалентно следующему: DB "xyz" DW 1 DD 2 Фигурные скобки ({}) представляет нулевой инициализатор для структуры. Значение-инициализатор определяет, что элементы (если они имеются) должны иметь начальные значения, которые следует пе- реопределить, и какими новыми значениями, если вы выделяете дан- ные для экземпляра структуры. Инициализатор в виде фигурных ско- бок имеет следующий синтаксис: { [имя_элемента = значение [,имя_элемента...]] } где "имя_элемента" - это имя элемента структуры или объединения, а "значение" - это то значение, которое вы хотите присвоить эле- менту в данном экземпляре. Чтобы указать Турбо Ассемблеру, что для элемента нужно использовать начальное значение из определения структуры или объединения, задайте нулевое значение. Значение ? показывает, что этот элемент инициализировать не нужно. Турбо Ас- семблер присваивает всем элементам, которые не указываются в ини- циализаторе, начальное значение из определения структуры или объ- единения, например: ASTRUC {C=2,D=?} эквивалентно следующему: DB "xyz" DW 2 DD ? Вы можете использовать инициализатор в виде фигурных скобок для задания значения любого элемента структуры или объединения, даже если он находится во вложенной структуре или объединении. Турбо Ассемблер 3.0/tasm/#1-2 = 204 = Объединения отличаются от структур, поскольку элементы в объединении перекрывают друг друга. Будьте аккуратны, когда вы инициализируете экземпляр структуры, поскольку если несколько элементов перекрывают друг друга, Турбо Ассемблер допускает, что- бы в экземпляре только один элемент имел инициализирующее значе- ние. Например: BUNION {} допустимо, поскольку все три элемента в определении объединения являются неинициализированными. Данный оператор эквивалентен сле- дующему: BD 4 DUP (?) В данном примере 4 байта зарезервированы, поскольку размер объединения равен размеру его наибольшего элемента (в данном слу- чае DWORD). Если инициализированный элемент объединения не явля- ется наибольшим элементом объединения, то Турбо Ассемблер воспол- няет разницу, резервируя место, но не генерируя данные, например: BUNION {Z=1} эквивалентно следующему: DB 1 DB 3 DUP (?) Наконец, несколько инициализированных элементов объединения приведут к ошибке. Следующее, например, не допускается: BUNION {X=1,Z=2} Заметим, что если два или более поля объединения имеют на- чальные значения в определении объединения, то использование простого инициализатора в виде фигурных скобок также приведет к ошибке. Чтобы генерировался допустимый экземпляр, инициализатор должен устанавливать только одно значение ?. Альтернативным методом инициализации структуры или объедине- ния является использование инициализатора в виде угловых скобок (<>). Значения такого инициализатора являются неименованными, но располагаются в том же порядке, что и соответствующие элементы в определении структуры или объединения. Для этого инициализатора используется следующий синтаксис: < [значение [,значение...]] >


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