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




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

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

                       Текстовые макрокоманды
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Текстовая макрокоманда - это  идентификатор,  представляющий
     строку текстовых  символов.  Когда  Турбо  Ассемблер обнаруживает
     идентификатор в выражениях (и в других ситуациях), он подставляет
     вместо него текстовые символы. Например, если DoneMsg - это текс-
     товая макрокоманда,  имеющая значение "Returning to DOS", то сле-
     дующий оператор:

          GoodBy    DB DoneMsg

     дает в результате:

          GoodBy    DB 'Returning to DOS'

        Определение текстовых макрокоманд с помощью директивы EQU
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Для определения простых текстовых макрокоманд можно  исполь-
     зовать директиву EQU.Приведем синтаксис определения текстовой ма-
     крокоманды:

          имя   EQU  текстовая_строка

     где "текстовая_строка" связывается с  текстовой  макрокомандой  с
     именем "имя".  Для выделения текста вы можете заключить текстовую
     строку в угловые скобки (<>), например:

          DoneMsg    DB <'Returning to DOS'>

          Если в режиме MASM вы опустите скобки,  то  Турбо  Ассемблер
     будет определять,  можно  ли свести текстовую строку к выражению.
     Если ее вычислить нельзя,  Турбо Ассемблер будет интерпретировать
     текстовую  строку  как  текстовую  макрокоманду  (чтобы сохранить
     совместимость c MASM).  Чтобы обеспечить  правильное  определение
     текстовой строки,  нужно  всегда  заключать  ее в угловые скобки.
     Рассмотрим следующие ошибки,  которые могут  возникать,  если  вы
     этого не делаете:

     Турбо Ассемблер 3.0/tasm/#2-2                              = 27 =


          Earth   EQU dirt        ; Earth = "dirt"
          Planet  EQU Earth       ; Planet = "dirt" (неверно!)
          Planet  EQU      ; Planet = "Earth" (верно!)

          В режиме Ideal оператор EQU всегда определяет текстовую мак-
     рокоманду.

          Текстовые макрокоманды  являются переопределяемыми. Вы може-
     те переопределить  текстовую  макрокоманду в том же модуле другой
     текстовой строкой.

           Директивы макрокоманд работы с текстовыми строками
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Турбо Ассемблер обеспечивает директивы,  которые могут рабо-
     тать с текстовыми макрокоманд.  Эти директивы доступны  в  режиме
     Ideal и  для  версий  M510,  M520 и T300 (как задается директивой
     VERSION).

          Строковые аргументы для любой из этих  директив  могут  быть
     следующими:

          - текстовой строкой, заключенной в скобки, например, ;

          - именем ранее определенной текстовой макрокоманды;

          - выражением с предшествующим символом %,  значение которого
            эквивалентно числовому представлению  строки  для текущего
            основания.


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

                            Директива CATSTR
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Директива CATSTR определяет новую текстовую макрокоманду пу-
     тем конкатенации строк. Она имеет следующий синтаксис:

          имя CATSTR строка[,строка]...

          Директива CATSTR выполняет конкатенацию слева-направо. Турбо
     Ассемблер создает новую текстовую макрокоманду с именем "имя".

                            Директива SUBSTR
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД






Директива SUBSTR определяет новую текстовую макрокоманду, которая является подстрокой строки. Она имеет следующий синтак- сис: имя SUBSTR строка,выражение_позиции[,выражение_размера] Новая текстовая макрокоманда с именем "имя" состоит из части строки , начинающейся с символа в позиции "выражение_позиции" и длины "выражение_длины". Если вы не указываете "выражение_разме- ра", новая текстовая макрокоманда содержит остаток строки, начи- ная с символа в "выражении_позиции". Турбо Ассемблер рассматрива- ет первый символ строки как позицию 1. Директива INSTR ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директива INSTR возвращает позицию одной строки внутри дру- гой. Она имеет следующий синтаксис: имя INSTR [выражение_начала,]строка_1,строка_2 Турбо Ассемблер присваивает "имя" числовому значению, кото- рое соответствует первой позиции первого вхождения "строки_2" в "строку_1". Первый символ "строки_1" имеет позицию 1. Если "стро- ка_2" в "строке_1" не содержится, то Турбо Ассемблер возвращает значение 0. Если вы укажете "выражение_начала", то поиск начина- ется с символа, задаваемого этим выражением. Первый символ строки находится в позиции 1. Директива SIZESTR ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директива SIZESTR возвращает длину текстовой макрокоманды (число символов в строке). Она имеет синтаксис: имя SIZESTR строка где "имя" устанавливается в числовое значение, равное длине ука- занной строки. Нулевая строка <> имеет длину 0. Турбо Ассемблер 3.0/tasm/#2-2 = 29 = Примеры макрокоманд работы с текстом ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Следующие примеры показывают, как работают эти операции: VERSION T300 ABC EQU ; ABC = "abc" ABC2 EQU ABC ; ABC2 = "ABC" ABC EQU ; ABC = "det" ; (переопределяется) ABC3 CATSTR ABC2,<,>,ABC,<,>,ABC2 ;ABC3 = "ABC,DEF, ; ABC" ABCLEN SIZESTR ABC ; ABCLEN = 3 ABC3LEN SIZESTR ABC3 ; ABC3LEN = 11 COMMA1 INSTR ABC3,<,> ; COMMA1 = 4 COMMA2 INSTR COMMA1+1,ABC3,<,> ; COMMA2 = 8 ABC4 SUBSTR ABC3,5 ; ABC4 = "def,ABC" ABC5 SUBSTR ABC3,5,3 ; ABC5 = "def" ABC6 EQU 3+2+1 ; ABC6 = 6 ; (числовое ; присваивание) ABC7 EQU %3+2+1 ; ABC7 = "6" ; (текстовая ; макрокоманда) ABC8 EQU %COMMA1 ; ABC8 = "4" Макрокоманды, состоящие из нескольких строк ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Макрокоманды, состояние из нескольких строк, позволяют вам определить в их теле инструкции, директивы или другие макрокоман- ды, которые будут включаться в исходный код при вызове макроко- манды. Вы можете указать аргументы макрокоманды, которые Турбо Ассемблер будет подставлять в тело макрокоманды при ее включении в модуле. Существует насколько типов макрокоманд, состоящих из нес- кольких строк. Одна версия подставляет каждый элемент строки (один за другим), который является аргументом макрокоманды. Дру- гая версия повторяет определенное число раз тело макрокоманды. Наконец, в одном месте вы можете определить еще одну версию, ко- торая будет много раз вызываться. Все эти версии имеют общее оп- ределение тела макрокоманды. Тело макрокоманды, состоящей из нескольких строк ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Независимо от содержимого тела макрокоманды, средство обра- ботки макрокоманд Турбо Ассемблера интерпретирует макрокоманду, состоящую из нескольких строк, как просто несколько строк текста. Турбо Ассемблер позволяет вам заменить идентификаторы в теле мак- рокоманды текстом, заданным при вызове макрокоманды. Это средство Турбо Ассемблер 3.0/tasm/#2-2 = 30 = называется подстановкой аргументов. Идентификаторы в теле макро- команды, которые должны быть заменены, называются формальными (фиктивными) аргументами. Предположим, например, что идентифика- тор foo - это формальный аргумент в следующем теле макрокоманды:


Страницы : 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 52 53 54


adfun.ru









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

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

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

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