- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 汇编语言程序设计
汇编语言是最早应用于单片机的开发与应用的程序语言。相比其他程序设计语言,汇编语言执行速度快、代码短小精悍,且指令的执行周期确定。但是汇编语言也有不足之处,比如其指令复杂、缺乏通用性、不便于程序的移植。目前,随着电子技术的发展,汇编语言的使用范围越来越小,逐渐被C51语言所代替,但是学习汇编语言对理解8051的结构及指令是很有帮助的。
本章主要介绍了汇编语言的概述、指令格式,以及汇编语言的程序结构。本章内容包括:
汇编语言程序概述
汇编语言指令及其格式
汇编语言程序设计
Keil μVison3中运行汇编语言实例
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.1 汇编语言程序概述
汇编语言程序是单片机汇编指令的集合。汇编语言程序设计与51系列单片机的汇编指令集和硬件结构等有密切联系,在单片机上可以用来实现特定的功能和任务。汇编语言以其简练的代码、快速的操作硬件能力而获得了广泛使用,这里首先介绍汇编语言的基本情况。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.1.1 汇编语言简介
汇编语言是采用助记符标识的指令的程序设计语言。其中助记符标识是二进制指令的形象标记。由于现在采用的计算机都是二进制的,其所能执行的每一条指令都对应一组二进制代码。采用二进制代码来表示指令和数据的语言为机器语言,它是唯一能被计算机识别的语言。然而这种语言很难记忆和辨认,给程序设计工作带来很大麻烦。为了容易理解和记忆这些计算机的指令,人们用一些英文单词和字符等作为助记符来描述每一条二进制指令的功能。用助记符标识的指令就是计算机的汇编语言,汇编语言和机器语言是一一对应的。
采用汇编语言编写的程序,每条指令的含义一目了然,这给单片机程序的编写、阅读和修改带来很大方便。而且用汇编语言编写的程序代码少,执行速度快,每条指令的执行时间完全确定。因此,在最初的单片机应用系统中,主要是用汇编语言来编写程序。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.1.2 汇编语言程序设计步骤
使用汇编语言进行计算机或者单片机程序设计的流程图,如图所示,一般可以分为以下几个步骤:
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.1.3 汇编语言程序实例
首先,为了让大家认识一下汇编语言的结构,这里举一个汇编语言的例子。程序示例如下。
ORG 0200H ;汇编程序起始指令
MOV A, 32H ;将单字节数据存入累加器A中
MOV B, #100 ;分离出百位数
DIV AB
MOV R5, A ;百位数送入寄存器R5
XCH A, B ;余数存入累加器A中
MOV B, #10 ;分离出十位和个位
DIV AB
SWAP A ;十位存入高字节
ADD A, B ;低位存入低字节中
MOV R6, A
END ;
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.2 伪指令
伪指令是为汇编程序提供某种信息的指令。伪指令不能命令CPU执行某种操作,也没有对应的机器代码,而51系列单片机的指令能使单片机的CPU执行某种操作,能生成对应的机器代码。51系列单片机汇编程序常用的伪指令有如下几类。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
4.2.1 汇编程序起始伪指令ORG
汇编程序起始伪指令ORG主要用于规定汇编程
文档评论(0)