データ定義文を使用すると、指定したサイズの領域を確保し、指定した値で初期化できます。配列やバッファなどの大きなデータ領域を確保するには、DUP 演算子を使用します。
データ定義文の構文は、次のとおりです。
構文 [label] op value [,...]
op は、次のいずれかです。
命令 | サイズ | ラベルタイプ | 備考 |
DB | 1 バイト | BYTE | |
DW | 2 バイト | WORD | |
DD | 4 バイト | DWORD | |
DF | 6 バイト | FWORD | |
DQ | 8 バイト | QWORD | |
DT | 10 バイト | TBYTE | |
BYTE | 1 バイト | BYTE | DB と同じ |
SBYTE | 1 バイト | SBYTE | 符号付き |
WORD | 2 バイト | WORD | DW と同じ |
SWORD | 2 バイト | SWORD | 符号付き |
DWORD | 4 バイト | DWORD | DD と同じ |
REAL4 |
4 バイト | DWORD | DD と同じ |
SDWORD | 4 バイト | SDWORD | 符号付き |
QWORD | 8 バイト | QWORD | DQ と同じ |
REAL8 |
8 バイト | QWORD | DQ と同じ |
TBYTE | 10 バイト | TBYTE | DT と同じ |
REAL10 |
10 バイト | TBYTE | DT と同じ |
label を指定すると、この位置にラベルが定義されます。ラベルのタイプは上記の表のとおりになります。ラベルが符号付きかどうかは、構造化ブロック文のパラメータとして使用するときにのみ意味があります。
value には、次の値を 1 つ以上指定します。
複数の value を指定すると、その数だけデータ領域が確保されます。
初期値を指定しない場合は、疑問符(?)を記述します。