为什么以下代码编译完美?
Data Segment
Var1 Dw (any 4 digit hex value)
Var2 Dw Var1
Data Ends
“Var2 Dw Var1”这条线甚至意味着什么? 我认为只有一个立即值可以在类型定义之后。
答案 0 :(得分:2)
当你声明一个这样的变量时:
VARX DW VARY
那时你基本上是在说:
VAR DW (offset of VARY into the segment VARY is in)
在您的具体示例中,Var1
是数据段中的第一个变量,因此Var2
的声明等同于:
Var2 DW 0x0000
如果稍后在Var1
之前添加更多变量,实际上将Var1
进一步移动到细分中,Var2
的值将相应调整。
这种方法的典型用法是通过获取数组开头的地址(在此上下文中为偏移量)来获得类似数组的结构的开始。