首页 > 编程笔记

汇编语言EQU伪指令

EQU 伪指令把一个符号名称与一个整数表达式或一个任意文本连接起来,它有 3 种格式:

name EQU expression
name EQU symbol
name EQU <text>

第一种格式中,expression 必须是一个有效整数表达式。第二种格式中,symbol 是一个已存在的符号名称,已经用 = 或 EQU 定义过了。第三种格式中,任何文本都可以岀现在<...>内。当汇编器在程序后面遇到 name 时,它就用整数值或文本来代替符号。

在定义非整数值时,EQU 非常有用。比如,可以使用 EQU 定义实数常量:

PI EQU <3.1416>

【示例 1】下面的例子将一个符号与一个字符串连接起来,然后用该符号定义一个变量:
pressKey EQU <"Press any key to continue...", 0>
.data
prompt BYTE pressKey
【示例 2】假设想定义一个符号来计算一个 10 x 10 整数矩阵的元素个数。现在用两种不同的方法来进行符号定义,一种用整数表达式,一种用文本。然后把两个符号都用于数据定义:
matrix1 EQU 10 * 10
matrix2 EQU <10 * 10>
.data
M1 WORD matrix1
M2 WORD matrix2
汇编器将为 M1 和 M2 生成不同的数据定义。计算 matrix1 中的整数表达式,并将其赋给M1。而 matrix2 中的文本则直接复制到 M2 的数据定义中:
M1 WORD 100
M2 WORD 10 * 10
与 = 伪指令不同,在同一源代码文件中,用 EQU 定义的符号不能被重新定义。这个限制可以防止现有符号在无意中被赋予新值。

推荐阅读