MASM汇编语言程序的设计_第1页
MASM汇编语言程序的设计_第2页
MASM汇编语言程序的设计_第3页
MASM汇编语言程序的设计_第4页
MASM汇编语言程序的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 汇编语言程序设计 教学内容教学内容 本章以Microsoft公司的宏汇编程序MASM为背景,介绍面向80 x86的汇编语言程序设计方法。包括汇编语言源程序的格式、伪指令、宏指令以及顺序结构、分支结构、循环结构、过程调用等汇编语言程序设计方法。具体内容如下:1、汇编语言源程序的格式及汇编语言上机过程2、伪指令3、宏指令4、汇编语言程序设计的基本方法包括顺序程序、分支程序、 循环程序、子程序)第5章 汇编语言程序设计 汇编语言程序设计是“微型计算机原理课程非常重要的内容之一。通过本章学习,应该达到如下要求:1、熟练掌握汇编语言格式及调试方法。2、掌握子程序和宏指令的概念、定义及其调用方法。

2、3、掌握DOS调用和BIOS调用的方法。4、熟练掌握顺序程序、分支程序、循环程序设计的基本方法 和一般技巧。第5章 汇编语言程序设计 第5章 汇编语言程序设计 5.1 汇编语言的基本概念汇编语言的基本概念5.2 汇编语言源程序的格式汇编语言源程序的格式 5.3 伪指令语句伪指令语句 5.4 宏指令语句宏指令语句 5.5 汇编语言程序的上机过程汇编语言程序的上机过程 5.6 汇编语言程序设计的基本方法汇编语言程序设计的基本方法 第5章 汇编语言程序设计 5.1 汇编语言的基本概念汇编语言的基本概念 第5章 汇编语言程序设计 5.1 汇编语言的基本概念程序设计语言是专门为计算机编程所配置的语程序设

3、计语言是专门为计算机编程所配置的语言。它们按照形式与功能的不同可分为三种,即机器言。它们按照形式与功能的不同可分为三种,即机器语言、汇编语言和高级语言。语言、汇编语言和高级语言。1. 机器语言机器语言机器语言机器语言Machine Language是由是由0和和1二进二进制代码书写和存储的指令与数据。它的特点是能被机制代码书写和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。是难认、难记、难编、易错。第5章 汇编语言程序设计 2. 汇编语言汇编语言汇编语言汇编语言Assembly Langu

4、age使用指令的助使用指令的助记符、符号地址、标号等书写程序的语言,简称符号记符、符号地址、标号等书写程序的语言,简称符号语言。它的特点是易读、易写、易记。其缺点是不能语言。它的特点是易读、易写、易记。其缺点是不能为机器所直接识别。为机器所直接识别。3. 高级语言高级语言高级语言高级语言High Level Language是脱离具体是脱离具体机器即独立于机器的通用语言,不依赖于特定计机器即独立于机器的通用语言,不依赖于特定计算机的结构与指令系统。算机的结构与指令系统。第5章 汇编语言程序设计 为什么要用汇编语言编写程序凡是学过一种程序设计高级语言的人,都会有高凡是学过一种程序设计高级语言的人

5、,都会有高级语言级语言“易学易用的感觉,这是因为高级语言的语句易学易用的感觉,这是因为高级语言的语句是面向数学语言和自然语言的,因此容易接受、掌握。是面向数学语言和自然语言的,因此容易接受、掌握。相对来说汇编语言编制程序比高级语言要困难些。既然相对来说汇编语言编制程序比高级语言要困难些。既然如此,为什么还要学习和使用汇编语言呢?主要有以下如此,为什么还要学习和使用汇编语言呢?主要有以下几点:几点:汇编语言是机器语言的符号表示语言,因而,汇编语言是机器语言的符号表示语言,因而,程序设计人员可以充分利用机器硬件的全部功能,发挥程序设计人员可以充分利用机器硬件的全部功能,发挥机器的长处。机器的长处。

6、第5章 汇编语言程序设计 现在的微机系统中,底层的一些功能仍然靠现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现。例如机器的自检、系统初始化、汇编语言程序来实现。例如机器的自检、系统初始化、实际的输入输出操作,至今仍然是用汇编语言编制的实际的输入输出操作,至今仍然是用汇编语言编制的程序来完成。程序来完成。汇编语言程序的效率通常高于高级语言程序。汇编语言程序的效率通常高于高级语言程序。所以在节省内存空间和提高程序运行速度的重要场合,所以在节省内存空间和提高程序运行速度的重要场合,如实时控制,常常使用汇编语言来编制的。如实时控制,常常使用汇编语言来编制的。鉴于以上理由,现在许多高级语言都设

7、置有与鉴于以上理由,现在许多高级语言都设置有与汇编语言程序接口的功能,以便于提高高级语言程序汇编语言程序接口的功能,以便于提高高级语言程序的效率。的效率。第5章 汇编语言程序设计 5.2 汇编语言源程序的格式汇编语言源程序的格式 例5.1 要求将两个5字节十六进制数相加,可以编写出以下汇编语言源程序。 DATASEGMENT ; 定义数据段定义数据段,DATA为段名为段名 DATA1 DB 0F8H, 60H, 0ACH, 74H, 3BH ;给数赋初值给数赋初值 DATA2 DB 0C1H, 36H, 9EH, 0D5H, 20H DATAENDS ;数据段结束数据段结束 CODE SEGM

8、ENT ;定义代码段定义代码段 ASSUME CS:CODE,DS:DATA ;用用ASSUMW伪指令定义伪指令定义 ;各段寄存器的内容各段寄存器的内容第5章 汇编语言程序设计 START:MOV AX, DATA ;将将DS初始化为数据段初始化为数据段 MOV DS, AX ;首地址的段值首地址的段值DATA MOV CX, 5 ;循环次数送循环次数送CX MOV SI, 0 ;置置SI初值为初值为0 CTC LOOPER:MOV AL, DATA2SI ADC DATA1SI,AL ;与被加数相加;与被加数相加INC SI DEC CX JNZ LOOPER MOV AH, 4CH ;DO

9、S功能调用语句功能调用语句,机器将结束机器将结束 INT 21H ;本程序运行本程序运行,返回返回DOSCODE ENDS END START ;源程序结束;源程序结束 第5章 汇编语言程序设计 STACK SEGMENT STACK ENDS DATA SEGMENT DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS: DATA, SS:STACKSTART: CODE ENDS END START例5-2 编写一个两字相加的程序。DSEG SEGMENT ;定义数据段DATA1 DW 1234H ;定义被加数DATA2 DW 5678H ;定义加数DSEG

10、ENDS ;数据段结束ESEG SEGMENT ;定义附加段SUM DW 2 DUP(?) ;定义存放结果区ESEG ENDS ;附加段结束CSEG SEGMENT ;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址 ASSUME CS:CSEG,DS:DSEG,ES:ESEGSTART: MOV AX,DSEG ;START为程序开始执行的启动标号 MOV DS,AX ;初始化DS MOV AX,ESEG MOV ES,AX ;初始化ES LEA SI,SUM ;存放结果的偏移地址送SI MOV AX,DATA1 ;取被加数 ADD AX,DATA2 ;两数相加 MOV ES

11、:SI,AX ;和送附加段的SUM单元中 HLTCSEG ENDS ;代码段结束 END START ;源程序结束第5章 汇编语言程序设计 5.2.1 分段结构分段结构 由上面的例子可以看出,汇编语言源程序的结构是分段结由上面的例子可以看出,汇编语言源程序的结构是分段结构形式,一个汇编语言源程序由若干段构形式,一个汇编语言源程序由若干段(SEGMENT)组成,每个组成,每个段以段以SEGMENT语句开始,以语句开始,以ENDS语句结束。整个源程序的结语句结束。整个源程序的结尾是尾是END语句。语句。 这里所说的汇编语言源程序中的段与前面讨论的这里所说的汇编语言源程序中的段与前面讨论的CPU管理

12、管理的存储器的段,既有联系,又在概念上有所区别。我们已经知的存储器的段,既有联系,又在概念上有所区别。我们已经知道,微处理器对存储器的管理是分段的,因而,在汇编语言程道,微处理器对存储器的管理是分段的,因而,在汇编语言程序中也要求分段组织指令、数据和堆栈,以便将源程序汇编成序中也要求分段组织指令、数据和堆栈,以便将源程序汇编成为目标程序后,可以分别装入存储器的相应段中。为目标程序后,可以分别装入存储器的相应段中。 第5章 汇编语言程序设计 段可以从性质上分为:数据段、代码段、堆栈段和附加段。代码段和数据段不可缺少,堆栈段和附加段可根据需要设置。在上面的简单源程序中只有两个逻辑段,一个逻辑段的名字是DATA,其中存放着与程序有关的数据,称为逻辑数据段;另一个逻辑段的名字是CODE,其中包含着程序的指令,称为逻辑代码段。每个段内均有若干行语句(STATEMENT),因而,可以说一个汇编源程序是由一行一行的语句组成的。第5章 汇编语言程序设计 源程序的结构特点 (1汇编语言程序通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论