我试图了解 MASM EQU 和 TEXTEQU 指令之间的区别。到目前为止,我所能收集到的只是语法略有不同,并且 EQU
宏不能重新定义,而 TEXTEQU
宏可以。在我看来,它们仍然非常相似,那么还有其他不同之处吗?在什么情况下我应该使用 EQU
而不是 TEXTEQU
,反之亦然?
最佳答案
EQU 更通用,因为它允许数字常量和文本常量。 EQU 还明确声明文本值可以在声明后更改。虽然 documentation 令人困惑,但声明“名称不能在以后重新定义”仅适用于 EQU
的第一种形式“名称 EQU 表达式”,而 EQU
的第二种形式“名称 EQU ”被注释为“名称可以稍后分配不同的文本。”
另一方面,TEXTEQU 只处理文本文字。使用普通的双引号文本、以 % 开头的文字(我从未见过)以及宏的值。 EQU 似乎不支持后两种类型,但我没有测试过。
大多数情况下,如果您只创建双引号类型的文本常量,它们似乎可以互换。
关于assembly - MASM EQU 和 TEXTEQU 指令之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29354569/