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



         

Ассемблирование по условию - часть 4


    макрокоманда использует второй оператор IFE. Когда операнд является
    четырехбайтовым целым числом, макрокоманда генерирует код ESC 17H.
    На Фиг. 6.4 показаны два разных расширения одной макрокоманды.
 
      Обратите внимание, что в последнем из показанных на Фиг. 6.4
    вызовов макрокоманды операнд не удовлетворяет ни одному из условий.
    Так как ни один из операторов IFE не вырабатывает значения
    "истина", то и ассемблироваться не будет ни один из них. В этом
    случае макропроцессор не генерирует никакого кода.
 
      С помощью оператора IFE ассемблер может проверять выполнение
    различных условий. Эти условия приведены в таблице на Фиг. 6.5.
    Общая форма оператора IF имеет вид:
 
      IFхх   выражение
      ...
      ELSE
      ...
      ENDIF
 
      Если значение условия "истина", то ассемблер обрабатывает
    участок программы, следующий за оператором IFхх. Этот транслируемый
    участок программы заканчивается либо оператором ELSE или ENDIF.
    Оператор ELSE не является обязательным. Если он имеется, то
    следующий за ним участок программы будет транслирован при
    невыполнении условия в операторе IF. Оператор ENDIF завершает
    условное ассемблирование и является обязательным.
 
            IF-операция       Ассемблировать если:
      ---------------------------------------------------------------
       IF   выражение   Выражение не равно 0
       IFE  выражение   Выражение равно 0
       IFDEF      имя         Имя уже было описано как внешнее
       IFNDEF имя       Имя еще не описывалось
       IFB  <аргумент>  Аргумент пуст
       IFNB <аргумент>  Аргумент не пуст
       IFIDN      <арг1>,<арг2>     Строка арг1 идентична строке арг2
       IFDIF      <арг1>,<арг2>     Строка арг1 отличается от строки арг2
       IF1              Первый поход ассемблера
       IF2              Второй проход ассемблера
       ---------------------------------------------------------------



Содержание  Назад  Вперед