目录
1. 指令语句
指令语句程序运行过程被执行
标号: 指令助记符 操作数; 注释
(1) 标号
意义:某条指令的标号的值是该指令首部的偏移地址。
要求:
- 第一个字符必须是英文字母或某些特殊字符
- “·” 只能作第一个字符
- 特殊字符不能单独作标号
- 系统中已定义的保留字不能作标号
(2) 指令助记符
参考之前介绍的各种指令。
(3) 操作数
由常数,字符,字符串,变量,标号,寄存器,存储器和表达式构成。
(4) 注释
不汇编,不执行。
2. 伪指令语句
伪指令语句在汇编过程中已运行完毕
没有对应的机器码,不能让CPU执行,仅在汇编过程中完成某些特定功能。
名字 伪指令指示符 操作数 ;注释
(1) 段定义语句
段名 SEGMENT [定位类型][组合类型][‘分类名’]
- 用途 :定义一个逻辑段,以SEGMENT开始,以ENDS结束,整个段的内容包含在两条伪指令之间。
- 注意:段名即为该逻辑端的基地址。
(2) 段分配语句
ASSUME CS:代码段名,DS:数据段名,SS:堆栈段名,ES:附加段名
- 用途 :把段定义语句定义的逻辑段段名,定义成代码段、数据段,堆栈段,附加段
ASSUME ES:NOTHING;
- 用途:取消ASSUME已经定义的段寄存器。
- 要求: 取消定义的段名必须是SEGMENT和ENDS定义过的段名。
(3) 过程定义语句
过程名 PROC [NEAR]/FAR
·
· ;过程内容
RET
过程名 ENDP
- 用途:作为首尾限定过程。
- NEAR:进过程。表示段内调用。可省略不写。
- FAR:远过程。表示段间调用。
(4) 变量定义语句
数据定义语句
变量名 伪指令指示符 操作数;注释
伪指令指示符:
DB,用于操作数的长度为一个字节
DW,用于操作数的长度为一个字
DD,用于操作数的长度为双字
DQ,用于操作数的长度为4字
DT,用于操作数的长度为10字节
-
用途:为一个数据项分配存储单元。
-
特点:
- 默认操作数?,表示不指定初始值,但留出相应的存储空间。
(5) 程序结束语句
END [标号名或名字]
-
用途 :停止汇编程序对源程序的汇编。
-
特点 :
- 标号名和名字可以省略不写
-
要求 :
- 每个模块只能有一条也必须有一条END语句。
- 该语句位于汇编语言程序最后一行
(6) 其他
① 等值伪指令语句EQU
符号名 EQU 变量、标号、常数等
- 用途:将EQU右边的数值赋给左边的符号名
② 定义类型伪指令 LABEL
名字 LABEL 类型
- 用途:将LABEL左边的名字定义为其右边的类型。
③ 对准伪指令 EVEN
EVEN
- 用途:要求汇编程序将下一语句所指向的地址调整为偶地址。
④ ORG伪指令
ORG 操作数
- 用途:给下一条语句指定起始偏移地址。
⑤ 模块连接伪指令PUBLIC和EXTRN
PUBLIC
- 用途:用于将标号,变量或数据定义为公共的,可供其他程序模块使用,否则别的模块不能引用它。
EXTERN
- 用途:用于引用其他模块中已用PUBLIC伪指令定义过的标号和变量。