この項では,マクロ本体内において文字列と文字列を連結するコンカティネート記号“~”,およびダラー記号“$”について説明します。
- | コンカティネート記号は,マクロ・ボディ内で「数字,英字相当文字からなる列」同士を連結します。
マクロ展開時には,コンカティネート記号の左右の「列」を連結し,コンカティネート自身は消滅します。 |
- | コンカティネート記号は,仮パラメータを実パラメータに置換してから連結します。 |
- | コンカティネート記号としての“~”は,マクロ定義時のみ有効です。 |
- | 文字列中,およびコメント中の“~”は,単なるデータとして扱われます。 |
abc .macro x
abc~x: mov r10, r20
sub def~x, r20
.endm
abc STU
|
【展開結果】
abcSTU: mov r10, r20
sub defSTU, r20
|
abc .macro x, xy
a_~xy: mov r10, r20
a_~x~y: mov r20, r10
.endm
abc stu, STU
|
【展開結果】
a_STU: mov r10, r20
a_stuy: mov r20, r10
|
abc .macro x, xy
~ab: mov r10, r20
.endm
abc stu, STU
|
【展開結果】