置換演算子(&)

MACRO 文や IRP 文などでは、マクロブロック内でマクロパラメータを使用することができます。しかし通常は、識別子の一部分や文字列内の綴りは、マクロパラメータとしては指定できません。置換演算子(&)を使用すれば、このような綴りをマクロパラメータとして扱うことが可能です。

たとえば、次のような MACRO 定義を考えます。

MAC    MACRO    MP1,MP2
MSG&MP1    DB    'This is Message &MP1.'
MSG&MP2    DB    'This is Message &MP2.'
    ENDM

このマクロを「MAC A,B」として呼び出すと、次のように展開されます。

MSGA    DB    'This is Message A.'
MSGB    DB    'This is Message B.'

ラベルや文字列の一部分であった「MP1」と「MP2」が置換されていることに注意してください。& 演算子がなければ、このような置換は行われません。

置換したい綴りの両側を & 演算子で囲んでもかまいません。特に、置換したい綴りの両側を明確に指定する必要がある場合には、両側ともに & 演算子を置く必要があります。

& 演算子の隣の綴りが置換されると、それに伴って「&」の文字は消滅します。

[目次]