На этом шаге мы рассмотрим конструкции, применяемые для организации условной компиляции.
Условное ассемблирование дает возможность при трансляции обходить тот или иной участок программы. Существует три вида условного ассемблирования:
IF <выражение> . . . . ENDIF
IF <выражение> . . . . ELSE . . . . ENDIF
IF <выражение_1> . . . . ELSE IF <выражение_2> . . . . ELSEIF <выражение_3> . . . . ELSE . . . . ENDIF
Условие считается невыполненным, если выражение принимает значение 0, и выполненным, если выражение отлично от нуля.
Ассемблеры MASM и TASM поддерживают также несколько условных специальных директив, назовем некоторые из них.
IFE <выражение> . . . . ELSEIFE . . . . ENDIFE
Операторы IF1 И IF2 проверяют первый и второй проход при ассемблировании.
Оператор IFDEF проверяет, определено ли в программе символическое имя, IFDEFN - обратный оператор.
Есть и другие IF-операторы; их можно найти в любом справочнике по ассемблеру.
Имеется целый набор директив, начинающихся с .ERR. Например, .ERRE <выражение> - вызовет прекращение трансляции и сообщение об ошибке, если выражение станет равным 0.
Условное ассемблирование понадобится для написания программы, транслируемой как в MASM, так и в TASM.
На следующем шаге мы рассмотрим вызов процедур.