李超

cc编程笔记本。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
符号定义语句的目的是把一些经常使用的常量或数值表达式,使用一个符号来代替,这样不用在代码中逐个修改了,只需修改符号定义语句即可。

符号定义语句分为
1 等价语句 EQU
2 等号语句 =
3 符号名定义语句 LABEL


1 等价语句
格式为
符号名 EQU 表达式

比如可以用符号等价语句来代表常量或者表达式
NUMBER    EQU    100
BUFF_LEN    EQU    NUMBER+2

还可以用符号等价语句来定义一个较长的字符串常量
MSG    EQU    "Hallo World"

还可以用符号等价语句定义一个指令或寄存器
MOVE    EQU    MOV
COUNTER    EQU    CX

还可以用符号等价语句对一片内存区域起一个另一个数据类型的别名,不过要配合THIS使用
WORD1    EQU    THIS WORD
BYTE1    DB    12h,21h
这个时候WORD1就是2112H

2 等号语句
汇编语言提供了用等号来定义符号常数的方法,即可以用符号名来代表一个常数。格式为
符号名 = 数值表达式
比如
ABC = 100 * 5
DEF = ABC * 5

3 符号名定义语句
符号名定义语句LABEL与THIS的功能相似,该语句有一个指定的符号名,该符号名的段地址和偏移量与下面紧跟存储单元的相应属性相同,但该符号的类型是新指定的。LABEL语句的一般格式为:
符号名 LABEL 类型
常用类型有BYTE WORD DWORD NEAR FAR

WBUFFER LABEL WORD
BUFFER DB DUP(0)
WBUFFER和BUFFER拥有相同的段地址和偏移量,但是他们的数据类型不同

          NEXT1 LABEL FAR
NEXT: MOV BX, AX
NEXT1和NEXT具有相同的段地址和偏移量,但NEXT1是远标号,NEXT是近标号。在同一个模块内转移可以使用NEXT在不同模块间转移,使用NEXT1。
posted on 2008-03-24 13:26  coderlee  阅读(1040)  评论(0编辑  收藏  举报