文档介绍:汇编语言
第 5 章
8086汇编语言基础
汇编语言基本语法
汇编语言语句
伪指令语句
宏指令语句
汇编语言程序设计
顺序程序设计
分支程序设计
循环程序设计
子程序设计
DOS功能调用
汇编语言程序的开发过程
编辑
文本编辑器,如
源程序:
汇编
汇编程序,如
目标模块:
连接
连接程序,如
可执行文件:
调试
调试程序,如
应用程序
错误
错误
错误
错误
8086汇编语言基础
宏汇编基本语法
汇编源程序不区分字母大小写。
(1)组成:数据段、代码段、
堆栈段、附加段。
(2)段定义起始:段名 SEGMENT
段定义结束:段名 ENDS
前后段名要一致,
每个段不超过64KB。
(3)程序语句组成:
标号助记符操作数;注释
(4)整个程序结束:
END 起始地址
AA SEGMENT
STR1 DB 'HELLO!'
AA ENDS
BB SEGMENT
STR2 DB 6 DUP(?)BB SEGMENT
ASSUME ,DS:AA,ES:BB
START: CLD
MOV AX,AA
MOV DS,AX
LEA SI,STR1
MOV AX,SEG STR2
MOV ES,AX
MOV DI,OFFSET STR2
MOV CX,6
REP MOVSB
MOV AH,4CH
INT ENDS
END START
●
●
1)效率低(与人们描述计算过程的需要差距大);
2)机器硬件的具体结构联系过于紧密——在一种结构的机器上开发 的程序极难移植到另一种不同结构的机器上去。
8086汇编语言基础
汇编语言进行程序设计的优点
1)充分利用机器的硬件功能和结构特点,加快程序的执行速度, 减少目标程序所占用的存储空间;
2)用来编写实时控制程序、实时通信程序,有时也用来编制某些 系统软件程序。
汇编语言进行程序设计缺点
汇编语言基本语法
在8086汇编中使用的语句可以分成2种类型
这类指令能够产生目标代码,是CPU可以执行的能够完成特定功能的语句,主要由机器指令组成。在汇编时一条指令语句被翻译成对应的机器码,对应着特定的操作。
指令语句:
伪指令语句:
伪指令语句是为汇编程序和连接程序提供一些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过程中告诉汇编程序应如何汇编,并完成相应的伪操作。
格式:
指令语句: [标号: ]  指令助记符  [操作数]  [;注释]
伪指令语句: [名字  ] 伪指令助记符  [操作数]  [;注释]
汇编语言源程序中的语句可以由四项组成,格式如下:
[名字] 操作符[操作数] [;注释]
汇编语言语句
●
●名字项:是程序设计人员自己定义的符号, 用于代表内存单元的地址,表示本条语句的符号地址。一般来说,名字可以是和,统称为标识符。
变量
标号
名字项的组成规则
组成标号的字符:A〜Z,a〜z,0〜9,?,@,$,下划线;
标号的最大长度为3l(字符个数);
标号的第一个字符不能是0〜9的数字;
机器指令语句中标号必须以冒号结束,伪指令语句中的标号不允许有冒号。
汇编语言语句
汇编语言语句
●伪指令符:指定汇编程序要完成的具体操作
如:数据定义伪指令DB、DW、DD,
段定义伪指令SEGMENT,假定伪指令ASSUME等。
●操作数:伪指令后面的操作数可以是常数、标号、变量、表达式等,其个数由具体的伪指令决定,各个操作数之间必须以“逗号”分隔。
●注释:伪指令的注释必须以“;”开始,
其作用同指令语句中的注释部分。
常量:汇编语句中出现的各种常数表达式
数值常量
直接以数值形式出现在汇编语句中的常量
(1) 数字常量
(2)字符常量: 字符常量是用单引号或双引号引起来的一个或多个字符。
字符串常量是以各字符的ASCⅡ码表示的。
[例] ‘A’用41H 表示,
字符串‘A1B2’用41H,31H,42H,32H表示。
常量
汇编语言语句
变量: 是在程序运行期间可以随时修改数值的数据对
象。主要用来定义M中的数据。数据存放地址
的符号表示。
变量的三种属性
段属性:即指定义变量所在段的段首址;
偏移属性:该变量所在段的偏移地址;
类型属性:指在对该变