我读过这本书Assembly Language for x86 by Kip Irvine。在第85页,他写了关于使用符号的原因:
使用
DUP
运算符:Section 3.4.4
展示了如何使用DUP
运算符为数组和字符串创建存储。DUP
使用的计数器应该是一个符号常量,以简化程序维护。在下一个示例中,如果已定义COUNT,则可以在以下数据定义中使用它:array dword COUNT DUP(0)
我不明白这个命令在做什么。有人可以向我解释这是什么意思吗?
答案 0 :(得分:4)
这很简单:
.const
COUNT equ 10 ; sets COUNT to a value of 10 or whatever
.data
array dword COUNT DUP(0) ; creates an array of DWORDs/4-byte values
所以array
由COUNT(= 10)DWORD
值组成,等于'0'(4 * 10 = 40字节)。
DUP
命令只是说前面的数据类型是'重复'COUNT次。因此array
DWORD
DUP
COUNT
array
导致DWORD
地址后跟(sizeof(DWORD)* COUNT个)字节初始化为{ {1}} s的值为0.