汇编语言dup汇编指令

db 3 dup(0)

定义了3个字节,它们的值都是0,相当于db 0,0,0

db 3 dup(0;1;2)

定义了9个字节,它们是o,1,2,0,1,2, 0,1,2,相当于db 0,1,2,0,1,2,0,1,2

db d dup ('adb','ABC')

定义了18个字节,它们是,abcABCabcABCabcABC',相当于db'abcABCabcABCabcABC'
可见,dup的使用格式如下:

db重复的次数dup(重复的字节型数据)
dw重复的次数dup(重复的字型数据)
dd重复的次数dup(重复的双字型数据)

dup是一个十分有用的操作符,比如要定义一个容量为200个字节的栈段,如果不用dup,则必须:

stack segment
 dw 0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0
 dw 0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0
 dw 0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0
 dw 0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0
 dw 0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0
stack ends

当然,你可以用dd,使程序变得简短一些,但是如果要求定义一个容量为1000字节或10000字节的呢?如果没有dup,定义部分的程序就变得太长了,有了dup就可以轻松解决。如下

stack segment

  db 200 dup(0)

stack ends

发布日期:

所属分类: 易语言 标签: