Ассемблер поддерживает ряд условных директив. Условные директивы наиболее полезны внутри макроопределений, но не ограничены только этим применением.
Каждая директива IF должна иметь спаренную с ней директиву ENDIF для завершения IF-логики и возможную директиву ELSE для альтернативного действия.
Отсутствие директивы ENDIF вызывает сообщение об ошибке: «Undeterminated conditional» (незавершенный условный блок).
В случае, если проверяемое условие истинно, то Ассемблер выполняет условный блок до директивы ELSE или при отсутствии ELSE — до директивы ENDIF. В случае, если условие ложно, то Ассемблер выполняет условный блок после директивы ELSE, а при отсутствии ELSE вообще обходит условный блок.
Ниже перечислены различные условные директивы:
IF выражение
В случае, если выражение не равно нулю, Ассемблер обрабатывает операторы в условном блоке.
IFE выражение
В случае, если выражение равно нулю, Ассемблер обрабатывает операторы в условном блоке.
IF1 (нет выражения)
В случае, если осуществляется первый проход ассемблирования то обрабатываются операторы в условном блоке.
IF2 (нет выражения)
В случае, если осуществляется второй проход операторы ассемблирования, то обрабатываются в условном блоке.