Turbo Assembler 3.0. Руководство пользователя


Условия выполнения прохода Ассемблером


Следующие директивы обеспечивают выполнение условного ас- семблирования или генерацию ошибки на основе текущего прохода Ас- семблера:

----------------------T-----------------------------------------¬ ¦ Директива IFxxx ¦ ассемблирует "тело_условия_true", если:¦ +---------------------+-----------------------------------------+ ¦ IF1 ¦ Турбо Ассемблер выполняет первый проход.¦ ¦ IF2 ¦ Турбо Ассемблер выполняет второй проход.¦ L---------------------+------------------------------------------

----------------------T-----------------------------------------¬ ¦ Директива ERRxxx ¦ генерирует ошибку user error, если: ¦ +---------------------+-----------------------------------------+ ¦ ERRIF1 ¦ Турбо Ассемблер выполняет первый проход.¦ ¦ ¦ ¦ ¦ .ERR1 ¦ Турбо Ассемблер выполняет первый проход¦ ¦ ¦ (только для режима MASM). ¦ ¦ ¦ ¦ ¦ ERRIF2 ¦ Турбо Ассемблер выполняет второй проход.¦ ¦ ¦ ¦ ¦ .ERR2 ¦ Турбо Ассемблер выполняет второй проход¦ ¦ ¦ (только для режима MASM). ¦ L---------------------+------------------------------------------

Обычно Турбо Ассемблер работает как однопроходный ассемблер. Если вы используете средство многопроходной работы Турбо Ассемб- лера (вызывая его с параметром командной строки /m), то при не- обходимости используется несколько проходов.

Поскольку Турбо Ассемблер всегда выполняет по крайней мере один проход, директива условного ассемблирования IF1 всегда будет ассемблировать код своего условного блока, а директивы .ERR1 и ERRIF1 всегда будут генерировать сообщение об ошибке (но только на первом проходе).

Если вы используете любую из этих директив и не разрешаете многопроходную работу, то Турбо Ассемблер будет генерировать для всех таких директив предупреждение "Pass dependent construction" ("Конструкция, зависящая от прохода"), чтобы предупредить вас о возможно опасном пропуске кода. Если вы разрешите многопроходную работу, Турбо Ассемблер будет выполнять точно два прохода и гене- рировать предупреждение Vaximum compatibility pass was done (Вы- полнен проход с целью обеспечения максимальной совместимости).



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