MASM EQU 和 TEXTEQU 指令之间的区别
Difference between MASM EQU and TEXTEQU directives
我试图了解 MASM EQU and TEXTEQU 指令之间的区别。到目前为止,我所能收集到的只是语法略有不同,EQU
宏不能重新定义,而 TEXTEQU
宏可以。他们在我的印象中仍然很相似,那么还有其他区别吗?在什么情况下我应该使用 EQU
而不是 TEXTEQU
,反之亦然?
EQU 更通用,因为它允许数字常量和文本常量。 EQU 还明确声明文本值可以在声明后更改。虽然 documentation 令人困惑,但语句 "The name cannot be redefined later" 仅适用于 EQU
"name EQU expression",而 EQU
"name EQU " 的第二种形式用 "The name can be assigned a different text later." 注释
TEXTEQU 另一方面,只处理文本文字。使用普通的双引号文本、以 % 开头的文字(我从未见过)和宏的值。后两种EQU貌似不支持,不过我没测试过
在大多数情况下,如果您只是创建双引号类型的文本常量,它们似乎可以互换。
我试图了解 MASM EQU and TEXTEQU 指令之间的区别。到目前为止,我所能收集到的只是语法略有不同,EQU
宏不能重新定义,而 TEXTEQU
宏可以。他们在我的印象中仍然很相似,那么还有其他区别吗?在什么情况下我应该使用 EQU
而不是 TEXTEQU
,反之亦然?
EQU 更通用,因为它允许数字常量和文本常量。 EQU 还明确声明文本值可以在声明后更改。虽然 documentation 令人困惑,但语句 "The name cannot be redefined later" 仅适用于 EQU
"name EQU expression",而 EQU
"name EQU
TEXTEQU 另一方面,只处理文本文字。使用普通的双引号文本、以 % 开头的文字(我从未见过)和宏的值。后两种EQU貌似不支持,不过我没测试过
在大多数情况下,如果您只是创建双引号类型的文本常量,它们似乎可以互换。