ERQ(程式指令)

生活百科 2023-01-17 20:14生活百科www.aizhengw.cn

ERQ(程式指令)

符号名EQU

<表达式>

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

基本介绍

  • 中文名ERQ
  • 类型程式指令
  • EQU与“=”EQU伪指令符号名不能重複再定义
  • EQU与DATAEQU的作用相当于C语言中常量定义

格式

该伪指令的含义是为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

EQU与DATA的区别

EQU的作用相当于C语言中常量的定义,如
SIN1 EQU 0X7814
看见SIN1的时候就等于看到了0X7814. 两者完全等价,所以使用时既可以作为地址也可以作为数据使用,看你做什幺用了。
而DATA 的作用是定义数据存储器地址的指令,比如
AAA DATA 50H
意思就是将地址50H赋给 AAA。

51彙编的EQU不支持大于16位的常量定义

MOV TL1,#256-FOSC/12/32/BAUDRATE
MOV TH1,#256-FOSC/12/32/BAUDRATE
结果会发现表达式并不能传递一个準确的数值给TL1,TH1。EQU定义的常量不能大过65535(2的16次方),把高过16位的略去一算,果然就是传进去的数值。
上一篇:布丽·拉尔森 下一篇:FRONTiER(软体)

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有