文档介绍:第 5 章
汇编语言程序设计
第5章汇编语言程序设计
本章重点:
结合实例理解汇编语言程序设计的基本步骤;掌握汇编语言程序设计的基本方法;熟练运用循环、分支和子程序的程序设计方法解决问题。
本章难点:
依据所要解决的问题,选择正确的程序设计方法,正确地运用指令编写实用的汇编原程序。
汇编语言是一种用助记符来表示指令的操作码和操作数,用标号和符号来代替地址、常量和变量的符号语言。
用汇编语言编写的程序不能由机器直接执行,而必须翻译成由机器代码组成的目标程序,这个翻译过程称为汇编。
概述
用来把汇编语言编写的程序自动翻译成目标程序的软件叫汇编程序。
汇编程序的建立及汇编过程如图所示。
编辑程序
汇编程序
连接程序
EXP. ASM
EXP. OBJ
EXP. EXE
8086的汇编语言的源程序是分段的,由若干个段形成一个源程序。源程序的一般格式为:
NAME1 SEGMENT
语句
…
语句
NAME1 ENDS
NAME2 SEGMENT
语句
…
语句
NAME2 ENDS
…
END <标号>
概述
每一个段有一个名字,以符号SEGMENT作为段的开始,以语句ENDS作为段的结束。这两者都必须有名字,而且名字必须相同。
由若干个段组成一个源程序,整个源程序以语句END作为结束。
概述
总之,8086的源程序是由若干段组成的,而一个段又是由若干个语句行组成的。所以,语句行是汇编源程序的基础。
8086汇编的一个语句行也是由4个部分组成的,即
标号操作码操作数;注释
各部分之间至少要用一个空格作为间隔。
概述
语句行是由标记及分隔符按照一定规则组织起来的,标记是汇编语言源程序的最小的、具有意义的单位,如标识符、保留字、界符、常数和注释,所有这些都称为标记。
在8086汇编语言中,有数值表达式和地址表达式两种,由各种常量与运算符连接成的式子,称为数值表达式。将常量、变量、标号、寄存器内容和运算符、操作符组合成的有意义的式子,称为地址表达式。单个常量,变量、标号是表达式的最简形式。在汇编过程中,汇编程序按操作运算符约定的优先规则对表达式进行计算,得到一个数值或一个地址。
语句行构成
伪指令用来指示汇编程序应该如何去处理汇编语言的源程序。它们在汇编时被解释执行,除了部分语句可以申请存储空间以外,不产生任何目标代码。
伪指令
格式:符号名=表达式
功能:把表达式的值赋值给符号名,等号语句与等值语句具有相同的功能。
符号定义伪指令
格式:符号名 EQU 表达式
功能:用一个符号名来代替表达式,使该符号名与表达式同义。
格式:[变量名] 数据定义符操作数[,操作数,…]
功能:方括号中的变量名为可选项。操作数可以不止一个,多个操作数时用逗号分开。数据定义符号是DB、DW、DD、DQ、DT。 DB定义字节类型变量,DW定义字类型变量,DD定义双字类型变量,DQ定义四字类型变量,DT定义十字节类型变量。
数据定义伪指令