IFDEF / IFNDEF

<名前>が定義されているかどうかを検査します。

構文    IFDEF   <名前>
    IFNDEF  <名前>
例    IFNDEF    MSG
MSG    DB    'Hello.'
    ENDM

IFDEF 文は<名前>がラベル名やマクロ名などとして定義されている場合に真になり、IFNDEF 文は<名前>が未定義である場合に真になります。

IFDEFP / IFNDEFP LASM

IFDEFP および IFNDEFP は、IFDEF および IFNDEF とは異なり、指定された名前が同一パスで定義されているかどうかを判定します。

    IFDEF    X
    %OUT    DEF1
    ENDIF
X    EQU    0
    IFDEF    X
    %OUT    DEF2
    ENDIF
    END

上のコードをアセンブルすると、(通常はパス 2 まで行われるため)次のように表示されます。

DEF2
DEF1
DEF2

ここで 2 つの IFDEF を IFDEFP に変更してから再度アセンブルすると、次のように表示されます。

DEF2
DEF2

[目次]