等号伪指令(equal-sign directive)把一个符号名称与一个整数表达式连接起来,其语法如下:
通常,表达式是一个 32 位的整数值。当程序进行汇编时,在汇编器预处理阶段,所有出现的 name 都会被替换为 expression。假设下面的语句出现在一个源代码文件开始的位置:
然后,假设在其后 10 行的位置有如下语句:
那么,当汇编文件时,MASM 将扫描这个源文件,并生成相应的代码行:
程序员可以完全跳过 COUNT 符号,简化为直接用常量 500 来编写 MOV 指令,但是经验表明,如果使用符号将会让程序更加容易阅读和维护。
设想,如果 COUNT 在整个程序中出现多次,那么,在之后的时间里,程序员就能方便地重新定义它的值:
假如再次对该源文件进行汇编,则所有的 COUNT 都将会被自动替换为 600。
最重要的符号之一被称为当前地址计数器(current location counter),表示为 $。例如,下面的语句声明了一个变量 selfPtr,并将其初始化为该变量的偏移量:
程序通常定义符号来识别常用的数字键盘代码。比如,27 是 Esc 键的 ASCII 码:
在该程序的后面,如果语句使用这个符号而不是整数常量,那么它会具有更强的自描述性。
《数据定义》一节说明了怎样使用 DUP 操作符来存储数组和字符串。为了简化程序的维护,DUP 使用的计数器应该是符号计数器。
在下例中,如果已经定义了 COUNT,那么它就可以用于下面的数据定义中:
用“=”定义的符号,在同一程序内可以被重新定义。下例展示了当 COUNT 改变数值后,汇编器如何计算它的值:
符号值的改变,例如 COUNT,不会影响语句在运行时的执行顺序。相反,在汇编器预处理阶段,符号会根据汇编器对源代码处理的顺序来改变数值。