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




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

          PUSH foo
          MOV foo,1

          Если при  вызове  данной  макрокоманды  вы  присваиваете foo
     текстовую строку AX, то фактическим включаемым в модуль текст бу-
     дет:

          PUSH foo
          MOV AX,1

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

          symfoo:
               DB 'It is foo time'

          В общем случае Турбо Ассемблер не  будет  распознавать  фор-
     мальный аргумент (без специального указания) в следующих ситуаци-
     ях:

          - когда он является частью другого идентификатора;

          - когда он находится внутри кавычек (' или ");

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

                 Использование в макрокомандах символа &
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

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

          sym&foo:
               DB 'It is &foo time'

     и если  вы при вызове данной макрокоманды присвоите foo текстовую
     строку party, то фактическим включаемым в модуль текст будет сле-
     дующее:

          symparty:
               DB 'It is party time'

          В качестве другого примера можно привести следующий:

     Турбо Ассемблер 3.0/tasm/#2-2                              = 31 =


          foo&sym:
               DB 'We are in O&foo&o'

          Если вы при вызове данной макрокоманды присвоите foo тексто-
     вую строку  hi,  то  фактическим  включаемым в модуль текст будет
     следующее:

          hisym:
               DB 'We are in Ohio'

          Приведем правила для символа &:

          - вне заключенных в кавычки строк символ &  используется как
            разделитель;

          - внутри заключенной в кавычки строки и после двоеточия, ко-
            торое не находится в заключенной в кавычки строке в режиме
            Ideal, символ & должен предшествовать формальному аргумен-
            ту (чтобы этот аргумент мог распознаваться);

          - при расширении макрокоманды Турбо Ассемблер  удаляет  один
            символ & из группы таких символов.

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

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

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

          ;; Это макрокоманда с комментарием
          DB 'макрокоманда с комментарием'

     приведет к включению при ее вызове только следующего текста:

          DB 'макрокоманда с комментарием'

                Примечание: Комментарии с одиночной точкой  с  запятой





при вызове макрокоманды всегда включаются в макрорасшире- ние. Локальные формальные аргументы ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД В начале тела макрокоманды вы всегда можете включить одну Турбо Ассемблер 3.0/tasm/#2-2 = 32 = или более директив LOCAL. Директива LOCAL описывает специальные формальные аргументы, которым при каждом расширении макрокоманды будет присваиваться уникальное символьное имя. Синтаксис директивы LOCAL в теле макрокоманды выглядит сле- дующим образом: LOCAL формальный_аргумент_1 [,формальный_аргумент_2]... Если имя "формальный_аргумент", указанное в директиве LOCAL, не содержит префикс локального идентификатора, то присваиваемое ему уникальное имя идентификатора будет иметь вид ??xxxx, где xxxx представляет шестнадцатиричное число. В противном случае уникальное символьное имя будет иметь вид <локальный_пре- фикс>xxxx. Примечание: Подробности о разрешении локальных иденти- фикаторов и задании локального префикса можно узнать в Гла- ве 11. Вы можете использовать формальные аргументы LOCAL для зада- ния в теле макрокоманды меток, например: LOCAL @agn, @zero XOR dx,dx MOV cx,exp MOV ax,1 JCXZ @zero MOV bx,factor @agn: MUL bx LOOP @agn @zero: Турбо Ассемблер 3.0/tasm/#2-2 = 33 = Директива EXITM ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Директиву EXITM можно использовать в теле макрокоманды для принудительного завершения ассемблирования включаемого тела мак- рокоманды. Она имеет следующий синтаксис: EXITM Когда Турбо Ассемблер обнаруживает директиву EXITM в теле макрокоманды, которая включена в исходный код модуля, ассемблиро- вание расширенного тела макрокоманды немедленно прекращается. Вместо этого Турбо Ассемблер будет продолжать ассемблирование мо- дуля после конца макрокоманды. Для завершения макрокоманды при определенных условиях вы мо- жете использовать оператор EXITM с директивой условного ассембли- рования. Примечание: Директивы условного ассемблирования под- робнее рассматриваются в Главе 15. Директива GOTO и макроидентификаторы перехода ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Использование директивы GOTO и макроидентификаторов перехода позволяют вам управлять последовательностью расширения строк мак- рокоманды. Вы можете поместить цель перехода в любом месте тела макрокоманды. Она занимает всю строку макрокоманды и имеет следу- ющий синтаксис: :идентификатор_перехода При расширении макрокоманды все макроидентификаторы перехода отбрасываются. Директива GOTO сообщает Турбо Ассемблеру, что нужно перейти на заданную точку исходного кода, а именно - на "идентифика- тор_перехода". Это позволяет вам поместить GOTO в блоке условного ассемблирования. Например: IF foo GOTO tag1 ENDIF DISPLAY "foo имеет значение false!" :tag ; возобновление макрокоманды... ; работает одинаково, независимо от того, ; равно foo false или true Примечание: Будьте аккуратны и не создавайте при ис- пользовании директивы GOTO бесконечных циклов. Бесконечные циклы могут привести к тому, что Турбо Ассемблер исчерпает Турбо Ассемблер 3.0/tasm/#2-2 = 34 =


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