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」が置換されていることに注意してください。& 演算子がなければ、このような置換は行われません。
置換したい綴りの両側を & 演算子で囲んでもかまいません。特に、置換したい綴りの両側を明確に指定する必要がある場合には、両側ともに & 演算子を置く必要があります。
& 演算子の隣の綴りが置換されると、それに伴って「&」の文字は消滅します。