微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt

微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt

ID:57122758

大小:1.27 MB

页数:143页

时间:2020-08-01

微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt_第1页
微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt_第2页
微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt_第3页
微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt_第4页
微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt_第5页
资源描述:

《微型计算机原理与应用chapter5-汇编语言程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言及其程序设计5.1汇编语言程序结构5.2表达式及伪指令5.3汇编语言程序设计5.4DOS功能调用5.5汇编语言程序上机过程汇编语言与汇编程序前面介绍了指令、指令系统及程序的基本概念,由此了解到计算机所以能够自动地工作,是因为运行程序的结果。计算机能够按照程序中的安排去执行相应的指令,才使得计算机看起来工作得非常有序。通过第四章的内容还了解到计算机可直接识别的是机器指令,而用机器指令编写的程序称为机器语言程序。由于机器指令是用二进制编码来表示的,既不直观又难以记忆,所以使得机器指令编写的程序在使用上受到了限制。第五章汇编语言及其程序设计5.1汇编语言程序结构为了解决机器语

2、言使用上的不便,人们开始使用容易记忆和识别的符号指令编写程序。汇编语言就是用与操作功能含义相应的缩写英文字符组成的符号指令作为编程用的语言。因此说汇编语言实际上是一种符号语言,并且是一种面向机器的低级语言。在使用汇编语言编写程序时需要对计算机硬件有一定的了解。下面分别使用机器语言和汇编语言编写的一段小程序,以此观察它们的不同。机器语言程序汇编语言程序0000B009MOVAL,900020408ADDAL,80004F4HLT使用汇编语言编写的程序计算机是不能够直接地识别和执行的,必须经过“翻译”,将汇编语言程序“翻译”成机器语言程序。这个“翻译”是由汇编程序来完成的,汇编

3、程序是由系统预先提供的系统软件之一,汇编程序不是简单的翻译,而是一个把源文件转换成二进制编码表示的目标文件(.OBJ)的过程(将这个过程称为汇编)。在这个过程中,对源程序进行语法检查(又称扫描),得到无语法错误的结果后,还要经过连接程序,使目标程序成为计算机可执行文件(.EXE)。汇编语言程序转换成为计算机可运行的程序的过程如下图所示。汇编语言源程序经汇编程序转换为目标文件经连接程序转换成可执行文件机器语言机器码表示,例如B8H、C3H汇编语言用指令助记符表示机器码例:机器码B8H、C3H的助记符为MOVAX,BXCPU不同,机器码不同,助记符不同高级语言语言规范,可用于不同的CPU

4、语言汇编语言高级语言代码效率高较低源程序可读性较差好对硬件的依附性高低程序员硬件知识高较低应用范围较广广泛汇编语言和高级语言的比较例:5个连续字节单元的累加DATASEGMENT;定义数据段D1DB5DUP(?);连续的字节单元CCEQU$-D1;对单元计数SUMDW0;为结果保留一个字DATAENDS;数据段定义结束STACKSEGMENTPARASTACK‘STACK’;定义堆栈段DB100DUP(?);100字节的栈空间STACKENDS;堆栈段定义结束CODESEGMENT;定义代码段ASSUMEDS:DATA,SS:STACK,CS:CODE;对各段进行说明BEGIN:MOV

5、AX,DATA;DS初始化为DATAMOVDS,AXLEASI,D1;预置源数据的指针汇编语言程序结构特点定义存储单元的数据伪指令定义堆栈段定义语句作堆栈用的存储单元指令MOVCX,CC+1;预置次数CLD;(DF)=0,串指针自动增量LODSBYTEPTR[SI];取一个数并修改指针DECCX;修改次数MOVAH,0;清AX的高字节CLC;清CF位AGAN:ADCSUM,AX;累加LODSBYTEPTR[SI];再取数并修改指针LOOPAGAN;控制循环MOVAH,4CH;完成,返回DOSINT21HCODEENDS;代码段结束ENDBEGIN;整个程序结束段定义汇编程序结束源程序的

6、一般格式代码段是必需的。每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾。源程序的一般格式为:段名1SEGMENT语句…语句段名1ENDS段名2SEGMENT语句…语句段名2ENDS…END(标号)汇编语言源程序的结构段名1SEGMENT语句行……语句行段名1ENDS段名2SEGMENT语句行……语句行段名2ENDS……END标号或过程名一个源程序由若干段组成,如数据段、代码段、堆栈段等;各段由若干条语句行组成;指令必须放在代码段中;为了确保程序的执行和正确返回,必须借助堆栈段;根据编程需要确定是否需要数据段、附加段。语句行的

7、构成1.指令性语句:即执行性语句(指令)包括四部分:[标号:]指令操作码[操作数][;注释]例:AGAN:ADCSUM,AX;累加2.指示性语句:即说明性语句(伪指令),由四部分组成:[名字]伪指令[操作数][;注释]例:SUMDW0;为结果保留一个字汇编语言的语句行指令性语句指令,与机器码一一对应。指示性语句伪指令,可以对源程序进行指示、说明、定义等。注释语句以分号开始,整行均是对程序的注解,增强可读性。本身不参与汇编,对指令代码无任何贡献。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。