【发布时间】:2016-10-31 16:26:07
【问题描述】:
我无法在汇编程序 (8086) 中明确 EQU 指令。
abc EQU xyz
当在代码中找到带有 xyz、xyz 代表的任何值、值等时,EQU 是否会从字面上交换 abc?
即我可以写吗?
varA EQU [bp+4]
mov ax, varA
还有一个问题是 EQU 可以全局访问,即我可以在程序外定义 EQU,并在程序内使用它吗?
【问题讨论】:
-
取决于您使用的实际汇编程序。是emu8086吗?那我就不知道了。但是大多数 x86 汇编器没有预处理器。因此,这种情况下的 EQU 是根据定义进行评估的,而不是替换的。我有 99% 的把握,这也是你的情况。对于预处理器,可以随意运行一些 C 编译器预处理器(甚至是独立的,但我总是有 gcc,所以我会选择 C 的)。
-
嗯,我明白了。汇编中有什么类似预处理器的东西,我真的需要它吗?
-
刚刚编辑了我的答案以证明 EQU 是全局的(在过程中声明了 EQU)。