4.4 复合内存变量的定义

上节,我们介绍了汇编语言中六个最基本的数据类型,这些数据类型能满足程序设计中绝大多数情况的需要,但也存在需要更复杂的数据类型的情况。

下面介绍汇编语言所提供的三种复合数据类型的说明形式。

4.4.1 重复说明符DUP

从前面的内容里,我们知道了定义少量内存变量的定义形式,但如果在程序中要说明50个、100个、200个甚至更多的、同类型的内存变量时,若采用前面所学的方法,对它们一一加以说明显然是不可行的。为此,汇编语言提供了变量的重复说明符DUP,其说明的一般形式如下:

count  DUP  (表达式, 表达式, …, 表达式)

解释:count是重复次数,(表达式, 表达式, …, 表达式)是被重复的部分,“表达式”可以是存储单元的初值,也可以是含义另一个DUP的式子。如果在表达式的括号中有多个表达式,那么,它们之间要用逗号','分开。

例如:

BUFFER  DB 100 DUP(?)
STRING  DB 120 DUP('ABCDE'), 0
DATA1  DW 50 DUP(10H, 20 DUP(1,2,3), 20H)
POINTS  DD 12, 30 DUP(0)

从上面的例子可看出:用DUP说明内存变量相当于在高级语言中定义数组。