1 行の置換文字列を定義します。
構文 name EQU text... name TEXTEQU text... name RDEQU text... 例 X EQU 12 X2 EQU <12> CTYP EQU NEAR OPRD EQU [BP+6] STR EQU 'ERROR' ALIAS EQU STR NEMO EQU MOV LEN EQU $ - MSG
EQU 文は name を text に定義します。ソースコード中の識別子 name がすべて文字列 text に置換されます。text は山型括弧 < > で囲むこともできます。この場合、< > は定義内容には入りません。
原則として text がそのまま定義内容になりますが、text に MACRO パラメータまたはロケーションカウンタ記号「$」が含まれている場合は、その部分を展開した結果が定義内容として保存されます。
EQU 文で定義した名前は、= 定義名とは異なり、前方参照できます。EQU 文で定義した名前は、再定義できません。
X EQU 12 X EQU 13 ; 再定義エラー
TEXTEQU は、EQU と同じです。
RDEQU〔LASM〕で定義した名前は、再定義できます。これ以外の点について、RDEQU は EQU と同じです。RDEQU 名への前方参照はエラーになりませんが、ソースファイル末尾での値が使用されるので注意してください。RDEQU 文は = 文とほとんど同じですが、オペランドとして評価できない値も定義できる点が異なります。
dw X ; =13 (ソース末尾での値) X RDEQU 12 dw X ; =12 X RDEQU 13 ; 正当 dw X ; =13
メモ LASM の EQU 文は、単純なテキスト置換を定義します。これは Microsoft MASM の EQU 文と完全に同じ動作ではありません。詳細については、「MS-MASM との互換性」を参照してください。