欢迎来到天天文库
浏览记录
ID:38948142
大小:263.00 KB
页数:56页
时间:2019-06-21
《第05章 汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章汇编语言程序设计第5章汇编语言程序设计本章重点:结合实例理解汇编语言程序设计的基本步骤;掌握汇编语言程序设计的基本方法;熟练运用循环、分支和子程序的程序设计方法解决问题。本章难点:伪指令、依据所要解决的问题,选择正确的程序设计方法,正确地运用指令编写实用的汇编原程序。汇编语言是一种用助记符来表示指令的操作码和操作数,用标号和符号来代替地址、常量和变量的符号语言。用汇编语言编写的程序不能由机器直接执行,而必须翻译成由机器代码组成的目标程序,这个翻译过程称为汇编。5.1概述用来把汇编语言编写的程序
2、自动翻译成目标程序的软件叫汇编程序。汇编程序的建立及汇编过程如图所示。编辑程序汇编程序连接程序EXP.ASMEXP.OBJEXP.EXE8086的汇编语言的源程序是分段的,由若干个段形成一个源程序。源程序的一般格式为:NAME1SEGMENT语句…语句NAME1ENDSNAME2SEGMENT语句…语句NAME2ENDS…END<标号>5.1概述每一个段有一个名字,以符号SEGMENT作为段的开始,以语句ENDS作为段的结束。这两者都必须有名字,而且名字必须相同。由若干个段组成一个源程序,整个源程序
3、以语句END作为结束。5.1概述总之,8086的源程序是由若干段组成的,而一个段又是由若干个语句行组成的。所以,语句行是汇编源程序的基础。8086汇编的一个语句行也是由4个部分组成的,即标号操作码操作数;注释各部分之间至少要用一个空格作为间隔。5.1概述语句行是由标记及分隔符按照一定规则组织起来的,标记是汇编语言源程序的最小的、具有意义的单位,如标识符、保留字、界符、常数和注释,所有这些都称为标记。在8086汇编语言中,有数值表达式和地址表达式两种,由各种常量与运算符连接成的式子,称为数值表达式。将
4、常量、变量、标号、寄存器内容和运算符、操作符组合成的有意义的式子,称为地址表达式。单个常量,变量、标号是表达式的最简形式。在汇编过程中,汇编程序按操作运算符约定的优先规则对表达式进行计算,得到一个数值或一个地址。5.2语句行构成伪指令用来指示汇编程序应该如何去处理汇编语言的源程序。它们在汇编时被解释执行,除了部分语句可以申请存储空间以外,不产生任何目标代码。5.3伪指令2.等号语句格式:符号名=表达式功能:把表达式的值赋值给符号名,等号语句与等值语句具有相同的功能。5.3.1符号定义伪指令1.等值语
5、句格式:符号名EQU表达式功能:用一个符号名来代替表达式,使该符号名与表达式同义。格式:[变量名]数据定义符操作数[,操作数,…]功能:方括号中的变量名为可选项。操作数可以不止一个,多个操作数时用逗号分开。数据定义符号是DB、DW、DD、DQ、DT。DB定义字节类型变量,DW定义字类型变量,DD定义双字类型变量,DQ定义四字类型变量,DT定义十字节类型变量。5.3.2数据定义伪指令DATADBl0H,20HSTRlDB'COMPUTER'DATAlDB20DUP(?)DATA2DW?DATA3DB2
6、0DUP(30H)5.3.2数据定义伪指令格式:段名SEGMENT定位类型组合类型类别名段名ENDS功能:用来把程序分成若干逻辑段,实现存储器的分段管理,在汇编和连接程序时,控制不同段的定位,组合和连接,以便形成一个可执行程序。5.3.3段定义伪指段寻址伪指令用来告诉汇编程序当前使用的各个段的段地址将要存放在哪个段寄存器中。格式:ASSUME段寄存器名:段名,段寄存器名:段名功能:设置或撤消在SEGMENT…ENDS伪指令中定义过的段名所使用的段寄存器。5.3.4段寻址伪指令格式:过程名PROC[N
7、EAR/FAR]┆RET过程名ENDP功能:定义一个过程,并指明过程名和过程的属性。过程名实际上是过程入口的符号地址,PROC和ENDP前的过程名必须相同,它们之间的部分是过程体。过程的类型可以是NEAR,表示所定义的过程是一个近过程。过程类型为FAR表示是一个远过程,5.3.5过程定义伪指令4.5.4DOS系统功能调用主要内容:系统功能调用简介MS-DOS设置了几十个内部子程序,可以完成I/O设备管理,存储管理,文件管理,合作业管理.它们被做成中断服务程序,其入口地址已由系统置入中断向量表中,可以
8、用软中断指令调用.类型号:20~27H系统功能调用:INT21HDOS系统功能调用1.DOS系统功能调用格式1)、在AH中设置功能号2)、在指定的积存器中设置入口参数3)、用INT21H指令执行系统功能调用4)、根据出口参数分析执行情况2.DOS系统功能调用INT21H的部分I/O操作1).键盘输入一个字符并回显功能号AH=01H,出口参数AL=字符;使用格式:MOVAH,01HINT21H4.5.4DOS系统功能调用格式2).键盘输入字符到缓冲区:功能号:AH=0A
此文档下载收益归作者所有