定义存储单元的伪指令DB、DW、DD、DQ、DT:
DB:字节 DW:字 DD:双字 DQ:4个字 DT:10个字
伪指令DB和DW等用来给出程序中所需要的数据、字符串、地址表。该类伪指令用来为一个数据项分配存储单元,用一个符号名(变量名)与这个存储单元相联系,且为这个数据提供一个任选的初始值。
eg:DATA DB 24H,32H
表示从DATA地址单元开始,连续存入24H,32H,共占用2个字节的地址。
DATA DB ?,?
汇编程序分配两个字节单元,以DATA地址单元开始的两个单元可预置任何内容。
除了常数、表达式和字符外,问号“?”也可以作为数据定义伪指令的操作数。
此时仅给变量保留相应的存储单元,而不赋予变量某个确定的初值。
当同样的操作数重复多次时,可用重复操作符“DUP"表示.
格式: n DUP(初值[,初值,…])
其中圆括号中为重复的内容,n为重复次数。如果用"n DUP(?)"作为数据定义伪指令定义符的惟一操作数,则汇编程序产生一个相应的数据区,但不赋任何初值。重复操作符“DUP”可以嵌套。
eg: FILLER DB ? (1) SUM DW ? (2) DB ?,?,? (3) BUFFER DB 10 DUP(?) (4) ZERO DW 30 DUP(0) (5) MASK DB 5 DUP(‘OK!‘) (6) ARRAY DB 100 DUP(3 DUP(8),6) (7)
(1)、(2)分别给字节变量FILLER和字变量SUM分配存储单元,但不赋予特定的值。
(3)给一个没有名字的字节变量赋予3个不确定的值。
(4)给变量BUFFER分配10个字节的存储空间,但本赋任何初值。
(5)给变量ZERO分配一个数据区,共30个字(即60个字节),每个字的内容均为零。
(6)定义一个数据区, 其中有5个重复的字符串“OK!"。共占15个存储单元。
(7)为变最ARRAY定义一个数据区,其中包含重复100次的内容8,8,8,6,共占400个存储单元。