アセンブラのパス 2 で省略できるディレクティブ

通常のディレクティブは、アセンブリプロセスの両方のパスに表れる必要があります。これらはパス 2 で省略できるディレクティブの数ですが、略するのはお勧めしません。パス 2 で省略できるディレクティブは、以下のとおりです。

Note

パス 1 のみにあってパス 2 にはないマクロには、上記のディレクティブのみが含まれています。

たとえば、Example 3 のコードは、ASSERT ディレクティブがパス 2 にありませんがエラーなくアセンブルできます。

Example 3. ASSERT ディレクティブはパス 1 にのみにあります。

    AREA ||.text||,CODE
x   EQU 42
    IF :LNOT::DEF:sym
        ASSERT x == 42
    ENDIF
sym EQU 1
    END

パス 2 に表示されてパス 1 では表示されないディレクティブは、アセンブリエラーとなります。ただし、一致する IF ディレクティブがパス 1 にある場合には ELSE ディレクティブおよび ELIF ディレクティブを使用すると、アセンブリエラーになりません。Example 4は、IF ディレクティブがパス 1 にあるため、エラーなくアセンブリします。

Example 4. ELSE ディレクティブと ELIF ディレクティブの使用

    AREA ||.text||,CODE
x   EQU 42
    IF :DEF:sym
    ELSE
        ASSERT x == 42
    ENDIF
sym EQU 1
    END

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311