EQU等值(赋值)伪指令

有时,一个表达式在程序中会多次出现,重复书写可能较为繁杂,易出错。另一方面。如果要对该表达式进行变动,那么必须在程序中找到每一个表达式,一一做出修改,稍有不慎,就会遗漏,引出麻烦。利用EQU伪指令,就可以避免这些问题的发生。

  格式:<符号名> EQU <表达式>

  该伪指令的含义是为EQU后面的<表达式>起一个叫做<符号名>的名字。这样一来,程序中凡是需要用到该表达式的地方,就都可以用这个名字代替了。这里,<表达式>可以是任何有效的数据,可以是能够算出值的表达式,也可以是有效的助记符等。

  例 COUNT EQU 256

  表示赋予数256一个名字,叫做COUNT。

  VAR1 EQU COUNT-2

  表示赋予表达式COUNT-2一个名字,叫做VAR1。如果有“COUNT EQU 256”在先,那么由于COUNT是数值256,所以VAR1就代表数值254。

  PH EQU PUSH

  表示赋予PUSH一个名字PH。由于PUSH是汇编语言的一个助记符,因此,在程序中书写PH AX,就相当于 PUSH AX。

  与EQU伪指令类似的是等号伪指令“=”。它们的区别是:由EQU伪指令定义后的符号名是不能重复再定义的,而“=”伪指令中定义的符号名可重复定义。例如:

  EMP=7

  ┋

  EMP=EMP+2

  这表示,开始把符号名EMP定义为是数值7,后来把符号名EMP重新定义为代表数值9。但是不能写成:

  EMP EQU 7

  ┋

  EMP EQU EMP+2

  例 STAK SEGMENT STACK

  DB 100H DUP(?)

  TOP EQU $

  STAK ENDS

  在定义堆栈段时,常用TOP EQU $来指定栈底,TOP是符号地址。上述定义的堆栈段大小为100H个字节单元,地址范围为0000H~00FFH。$紧随其后,所以地址计数器的当前值为$=00FFH+1=0100H,即栈底TOP在偏移地址为0100H的单元处。

  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值