1.符号定义语句
(1)赋值语句(EQU)
格式:
符号名 EQU 表达式
EQU语句给符号定义一个值或其他符号名,甚至是一条可执行指令等。
(2)等号语句(=)
格式:
符号名=表达式
此语句功能与EQU类似,但可以对符号名进行再定义。
(3)标号定义语句(LABEL)
LABEL伪指令用于为标号或变量指明或修改类型属性。
定义标号有两种方法:一种是用冒号定义标号(标号名:),这种方法只能定义NEAR属性的标号;另一种就是使用LABEL伪指令定义标号,可以定义NEAR或FAR属性的标号。
2.数据定义语句
(1)定义字节(DB)
DB(Define Byte)用来定义一个变量并初始化其内存单元。DB分配一个或多个字节。
格式:
符号名 DB 表达式
表达式可以是常数表达式、问号(?)、字符串或重复子句。
(2)定义字(DW)
DW定义一个字(两字节),其格式和表达式与DB类似。此外还有DD(定义双字,4字节)、DQ(定义4个字,8字节)、DT(定义10字节)。
3.段定义语句
(1)SEGMENT与ENDS
这两个伪操作总是一起出现。它们将汇编语言源程序分成段,这些分段对应于存储器中的段。
格式:
段名 SEGMENT[定位类型][组合类型]['类别'](www.daowen.com)
段名 ENDS
段名是由编程者自己指定的,需符合汇编语言符号名的规定。定位类型、组合类型和类别是赋给段名的属性。定位类型表示此段的起始边界要求,可以是PAGE、PARA、WORD或BYTE。组合类型用来告诉连接程序本段与其他段的关系,分别为NONE、PUBLIC、COMMON、AT表达式以及STACK和MEMORY。类别可以是任何合法的名称,必须用单引号括起来。连接程序把类型名相同的段放在连续的存储区内。
(2)ASSUME
ASSUME伪操作语句告诉汇编程序访问某个段使用哪个段寄存器。当汇编程序遇到一个段名时,它就自动地引用给出的段寄存器将段名加以汇编。
格式:
ASSUME段寄存器:段名[,…]
或
ASSUME 段寄存器:NOTHING段寄存器的输入是CS、DS、ES或SS。
需要注意,ASSUME是伪指令语句,只是建立了段与段寄存器之间的对应关系,但并不能自动把段寄存器设置为实际的段地址。因此,一般需要在程序中用指令语句将各段寄存器设置为正确的值。
(3)ORG
ORG语句指定了在它以后的程序或数据块存放的起始地址的偏移量。
格式:
ORG表达式
与ORG有关的有一个用“$”代表的位置计数器,代表当前段的汇编内容偏移量。
4.过程定义语句
过程是程序的一部分,实际上就是子程序。
格式:
伪操作PROC与ENDP必须成对出现。根据调用的要求使用NEAR或FAR属性。
5.结束语句
END语句标志着整个源程序的结束,它告诉汇编程序汇编任务到此结束。
格式:
END [表达式]
表达式必须是源程序的启动地址。如果几个模块连在一起,则只能指定主模块的启动地址。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。