定义字变量的定义符为DW/WORD(Define Word),每个字占用两个连续的字节单元。
例如:
Word1 DW 89H, 1909H, -1 DW 0abcdH, , 0
上述定义的内存分配如下所示。
… 89 00 09 19 FF FF CD AB -- -- 00 00
由于字变量的数据是按照“高高低低”的原则存于存储单元之中的,而字节数据是按照排列顺序存于存储单元中的,所以,它们的存储方式有所不同。
试比较下面两个定义的存储顺序,其中:41H和42H分别是'A'和'B'的ASCII码。
B1 DB 'AB' W1 DW 'AB' … 41h 42h 42h 41h …
定义双字变量的定义符为DD/DWORD(Define Doubleword),每个双字变量占用二个连续的字单元(四个字节)。
DW1 DD 12345678H, DW2 DD 0abcd1243H
上述定义的内存分配如下所示。
… 78 56 34 12 -- -- -- -- 43 12 CD AB …
定义六字节变量的定义符为DF/FWORD(Define Farword)。顾名思义,每个六字节变量占用六个连续的字节。
DF1 DF 1234567890abH, -1 DF 1abcd23H
上述定义的内存分配如下所示。
… |
abH |
90H |
78H |
56H |
34H |
12H |
0FFH |
0FFH |
0FFH |
0FFH |
0FFH |
0FFH |
23hH |
0cdH |
0abH |
01H |
00H |
00H |
… |
定义八字节变量的定义符为DQ/QWORD(Define Quadword)。同理,每个八字节变量占用八个连续的字节。
DQ1 DQ 12345678H, 0H, -1234H DQ , 1238H,
第一个八字节常量12345678H在内存中的分配方式如下所示,其存储原则与前面相同。其它八字节常量的存储方式与此一致。
… 78 56 34 12 00 00 00 00 …
定义十字节变量的定义符为DT/TBYTE(Define Tenbytes)。同理,每个十字节变量占用十个连续的字节。
DT1 DT 12345678H, 0H, -1234H DT2 DT , -1H
第一个十字节常量12345678H在内存中的分配方式如下所示,它同样按“高高低低”的原则来存储。其它十字节常量的存储方式与此一致。
… 78 56 34 12 00 00 00 00 00 00 …
以上六个数据类型是汇编语言中最基本的数据类型,其中,前三个是在程序中经常使用的,后三个的使用频率不太高。