DATA2只是定义了一个“字型”的变量,自然也就没有什么顺序可言了。
另外:DATA2变量的“值”是DATA1中第一个变量(就是前面那个0)在内存中的地址(只包括16位偏移量,不包括段地址,所以DATA2是16位的“字型”变量)
关于补充:
你说得对:DATA1里面的数据就是按照定义的顺序存放的;
至于DATA2,定义的WORD型,占2个字节,对于8086,超过1字节长度的数据类型是按照“低位在前”原则存放的,例如:DATA2 DW 1234H,则在存储器中的所保存的数的顺序是34H,12H。
明白了这个,再说DATA2 DW DATA1:其中的DATA1是变量名,要注意汇编与其它语言对变量引用的语义不同,例如C语言中“引用”一个变量时,使用的是该变量的“值”,而在汇编语言中“引用”一个变量时,使用的是该变量的“地址”,也就是它在内存中的地址(类似于C中的“&变量名”)。
所以,DATA2变量的“值”是DATA1变量的“地址(16位偏移量)”,与DATA1的“值”(就是你提到的0,30H)无关。DATA2其实是一个指向DATA1的“指针变量”。