假设我们正在使用MASM 6.1 / 16位/大型数据模型编写汇编代码,并且有一个名为MY_VAR的变量(标签),一个名为MY_SEG的段和一个名为MY_GROUP的段组。假设MY_VAR放置在MY_SEG中,而MY_SEG属于MY_GROUP。
那么,以下两个语句有什么区别:
此外,以下两个语句有什么区别?
请注意,保留了HTML标签。
注意:MASM可以愉快地处理所有这些语句。如预期(在我的情况下),1)和2)的结果相同。但我想确切地知道...
非常感谢, Binarus
那么,以下两个语句有什么区别:
1) MOV AX, MY_SEG
2) MOV AX, SEG MY_SEG:MY_VAR
此外,以下两个语句有什么区别?
请注意,保留了HTML标签。
1) MOV AX, MY_GROUP
2) MOV AX, SEG MY_GROUP:MY_VAR
注意:MASM可以愉快地处理所有这些语句。如预期(在我的情况下),1)和2)的结果相同。但我想确切地知道...
非常感谢, Binarus
mov ax,[MY_VAR]
时,汇编器会查找您已声明 MY_VAR 的段,并将其用于偏移计算。您必须使用ASSUME
和 MY_VAR 的段,最终汇编器会生成一个段覆盖前缀。对于组,算法略有不同,请参见 此处。如果您使用mov ax,MY_VAR
,我认为偏移量始终相对于 MY_VAR 的段。 - user781847