Assembler для начинающих

Макрокоманды повторения


    Для тех случаев, когда нужно несколько раз повторять один и тот же
    фрагмент программы в макроассемблере имеется несколько специальных
    макрокоманд. Это операторы REPT, IRT и IRPC. Каждый из них
    действует как макрокоманда в макрокоманде и приводит к генерации
    следующего за ним участка программы, пока ассемблеру не встретится
    операнд ENDM.
 
      Для простого повторения  последрвательности команд используется
    макрокоманда REPT. Последовательность
 
      REPT  выражение
      ;... тело макрокоманды REPT


      ENDM
 
     дублирует команды, составляющих тело данной макрокоманды. Значение
    выражения определяет число повторений текста.
 
      С помощью макрокоманды IRP можно при каждом повторении
    использовать разные параметры. При использовании конструкции
 
      IRP    фиктивный параметр,<список>
      ;... тело макрокоманды IRP
      ENDM
 
    ассемблер осуществляет столько проходов тела макрокоманды,
    сколько указано элементов в списке. При каждом проходе ассемблер
    подставляет вместо фиктивного параметра следующий по порядку
    элемент списка. Элементы списка должны быть числовыми выражениями.
      Если вы хотите использовать в списке символьные значения,
    применяйте макрокоманду IRPC. Последователность
      IRPC     фиктивный параметр, строка символов
      ;... тело макрокоманды IRPC
      ENDM
 
    осуществляет по одному проходу тела макрокоманды для каждого
    символа. При этом фиктивный параметр ассемблер каждый раз заменяет
    следующим по порядку символом из строки. На Фиг. 6.7 показаны
    примеры применения описанных макрокоманд повтора.

             Microsoft (R) Macro Assembler Version 5.00              4/2/89 16:06:54
             Фиг. 6.7 Макроповторения                          Page     1-1
 
                                           PAGE    ,132
                                           TITLE   Фиг. 6.7 Макроповторения
 
            0000                     CODE    SEGMENT



Содержание раздела