2

为什么下面的代码可以完美编译?

Data Segment

Var1 Dw (any 4 digit hex value)
Var2 Dw Var1

Data Ends

“Var2 Dw Var1”这一行是什么意思?我认为只有立即值可以跟在类型定义之后。

4

1 回答 1

2

当您声明这样的变量时:

VARX    DW VARY

那么你基本上是在说:

VAR     DW (offset of VARY into the segment VARY is in)

在您的具体示例中,Var1是数据段中的第一个变量,因此声明Var2相当于:

Var2   DW 0x0000

如果稍后您在 之前添加更多变量Var1,实际上Var1是进一步进入该段,则 的值Var2将相应调整。

它的典型用法是通过获取数组开头的地址(在此上下文中的偏移量)来获取类似数组的构造的开头。

于 2011-10-29T19:45:00.057 回答