- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第三章MCS-51单片机汇编语言
程序设计
3.1概述
一、二种程序语言
汇编语言:短、快;充分发挥硬件功能。
执行效率高
高级语言(C语言):长、慢;硬件控制麻烦;
编程效率高
单片机能执行的程序是机器语言(目标程序)。
用于写入单片机或仿真调试。
BIN文件:二进制文件,机器码。
HEX文件:INTEL公司定义,
地址、数据和校验码
ASCII码存储,可显示、打印
需用符号转换程序OHS51转换
目标程序两种文件格式
单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。您的内容已经简明扼要,字字珠玑,但信息却千丝万缕、错综复杂,需要用更多的文字来表述;但请您尽可能提炼思想的精髓,否则容易造成观者的阅读压力,适得其反。正如我们都希望改变世界,希望给别人带去光明,但更多时候我们只需要播下一颗种子,自然有微风吹拂,雨露滋养。恰如其分地表达观点,往往事半功倍。当您的内容到达这个限度时,或许已经不纯粹作用于演示,极大可能运用于阅读领域;无论是传播观点、知识分享还是汇报工作,内容的详尽固然重要,但请一定注意信息框架的清晰,这样才能使内容层次分明,页面简洁易读。如果您的内容确实非常重要又难以精简,也请使用分段处理,对内容进行简单的梳理和提炼,这样会使逻辑框架相对清晰。
两种语言的操作过程:图3-1
连接/定位器
L51
汇编语言
源程序
汇编器A51
符号转换程序OHS51
绝对地址目标程序
.BIN
C语言程序
浮动地址目标程序
编译器C51
·HEX
图3-1两种语言源程序转换成目标程序
四、集成开发环境
汇编与汇编程序
汇编语言源程序转换成机器语言目标程序。
编辑器、汇编器、编译器、连接/定位器、
符号转换程序、…….
WAVE、KEILuVision2
WAVE集成软件:P248
单击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅地阐述您的观点。
汇编的两方法
人工查指令表,得到程序中每条指令对应的机器代码,人工计算地址。早期使用。
手工汇编
用汇编程序对汇编语言源程序进行汇编。
源程序要提供给一些附加信息,遵循汇编程序的一些约定。用伪指令实现。
机器汇编
3)语法检查,提供错误信息
4)生成目标执行文件(*.OBJ/*.HEX)、
列表文件(*.LST)、…….
2、汇编的主要任务
1)确定程序中每条汇编语言指令的机器码
2)确定每条指令在存储器中的存放地址
地址 机器码 源程序
ORG 2000H
2000H7830 MAIN: MOVR0,#30H
2002HE6 MOVA,@R0
…
六、汇编语言程序设计步骤与书中不太一样
1、确定方案和计算方法
2、了解应用系统的硬件配置、性能指标
3、建立系统数学模型,确定控制算法和操作步骤
4、合理分配存储器单元和了解I/O接口地址
5、编制源程序
1)按功能模块设计程序,明确各程序之间的相互关系
2)用流程图表示程序结构和功能
3)程序中用注释说明指令在程序中的作用,方便阅读、调试和修改
3.2伪指令
机器指令:指令系统中的全部指令。每条机器指令都有对应的机器代码,可以被CPU执行。
单击此处添加小标题
伪指令:汇编控制指令,没有机器代码,只用于汇编过程,为汇编程序提供汇编信息。
单击此处添加小标题
宏指令
定义、调用
汇编语言指令类型
单击此处添加小标题
宏调用:
…
宏指令名实际参数
…
宏指令名实际参数
宏定义:
宏指令名MACRO形式参数
… ;被定义的程序段
ENDM
二、常用伪指令及功能
1.起始指令ORGnn
定义程序或数据块的起始地址,连续存放在程序存储器中。
例:
指令地址机器码 源程序
ORG 2000H
2000H7830 MAIN: MOVR0,#30H
2002HE6 MOVA,@R0
…
ORG3000H
3000H23 TAB:DB23H,100,‘A’
3001H64
3002H41
2.字节定义标号:DB表达式,…
在程序存储器中以标号为起始地址存放字节数据。
例:
LN:DB32,’C’,
文档评论(0)