《单片机原理与接口技术》第4章汇编语言程序设计

《单片机原理与接口技术》第4章汇编语言程序设计

ID:40100097

大小:419.55 KB

页数:36页

时间:2019-07-21

《单片机原理与接口技术》第4章汇编语言程序设计_第1页
《单片机原理与接口技术》第4章汇编语言程序设计_第2页
《单片机原理与接口技术》第4章汇编语言程序设计_第3页
《单片机原理与接口技术》第4章汇编语言程序设计_第4页
《单片机原理与接口技术》第4章汇编语言程序设计_第5页
资源描述:

《《单片机原理与接口技术》第4章汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、高等职业教育计算机类课程规划教材单片机原理与接口技术大连理工大学出版社第4章汇编语言程序设计4.1概述4.2汇编语言伪指令4.3简单程序设计4.4循环程序设计4.5子程序设计4.6查表及散转程序设计4.7实用程序举例4.1.1程序设计语言简介1.机器语言当指令和地址采用二进制代码表示时,机器能够直接识别,因此称为机器语言。机器指令代码是0和1构成的二进制数信息,与机器的硬件操作一一对应。使用机器语言可以充分发挥计算机硬件的功能。但是,机器语言难写、难读、难交流,而且机器语言随计算机的型号不同而不同,因此移植困难。然而,无论人们使用什么语言编写程序,最终都必须翻译成机器语言,机器才

2、能执行。4.1概述2.汇编语言汇编语言是采用易于人们记忆的助记符表示的程序设计语言,方便人们书写、阅读和检查。一般情况下,汇编语言与机器语言一一对应。用汇编语言编写的程序称为汇编语言源程序(源程序)。把汇编语言源程序翻译成机器语言程序的过程称为汇编,完成汇编过程的程序称为汇编程序,汇编产生的结果是机器语言程序(目标程序).汇编语言源程序从目标代码的长度和程序运行时间上看与机器语言程序是等效的。不同系列的机器有不同的汇编语言,因此汇编语言源程序在不同的机器之间不能通用。3.高级语言高级语言是对计算机操作步骤进行描述的一整套标记符号、表达格式、结构及其使用的语法规则。它是一种面向过程

3、的语言,使用一些接近人们书写习惯的英语和数学表达式的语言去编写程序,使用方便,通用性强,不依赖于具体计算机。目前,世界上的高级语言有数百种。用高级语言编写的源程序,同样需要翻译成用各种机器语言表示的目标程序,计算机才能解释执行,完成翻译过程的程序称为编译程序或解释程序。高级语言程序所对应的目标代码往往比机器语言要长的多,运行时间也更多。4.1.2汇编语言源程序的设计步骤汇编1.分析任务当我们要编写某个功能的应用程序时,首先应该详细分析给定的任务。明确哪些是任务所提供的基本条件,哪些是任务要解决的具体问题,哪些是任务所期望的最终目标。2.确定算法任务明确之后,下一步就是确定解决问题

4、的方法。将给定的任务转换成计算机处理模式,即通常所说的算法。对于较复杂的任务,需要先用数学方法把问题抽象出来。往往同一个数学表达式可以用多种算法实现,我们应综合考虑寻找出其中的最佳方案,使程序所占内存小,运行时间短。3.画程序流程图画流程图是把所采用的算法转换为汇编语言程序的准备阶段,选择合适的程序结构,把整个任务细化成若干个小的功能,使每个小功能只对应几条语句。4.分配资源在用汇编语言进行程序设计时,我们直接面向的是计算机的最底层资源。在编写代码之前需要对内存区域进行分配,并确定程序和数据的存放地址。5.编写代码在画好流程图并分配了相关资源后,就可以编写程序代码了。6.程序修改

5、与调试当一个汇编语言程序编好后难免有错误或需要进一步优化的地方,必须进行调试、修改。在源程序的汇编过程中用户很容易发现程序中存在的语法错误,但查找和修改程序中的逻辑错误就不那么简单,我们需要借助开发系统所提供的程序单步操作或设置断点等调试手段予以排除。4.2汇编语言伪指令伪指令是用于告诉汇编程序如何进行汇编的指令,它不控制机器的操作也不能被汇编成机器码,只为汇编程序所识别并指导汇编如何进行。MCS-51系列单片机的常用伪指令如下:1.ORG起始地址定义伪指令格式:ORG16位地址功能:规定目标程序在程序存储器中所占空间的起始地址。例如:ORG1000H表示后面的数据或程序存放在从

6、1000H开始的程序存储单元中。2.END汇编程序结束伪指令格式:END功能:标志源程序的结束,即通知汇编程序不再继续向下汇编。3.EQU宏代换伪指令格式:符号EQU字符串功能:在程序中用EQU后面的字符串去替换EQU前面的符号。EQU后面的字符串可以是符号、数据地址、代码地址或位地址。说明:EQU伪指令所定义的符号必须先定义后使用。所以该语句一般放在程序开始。例如:BUFFEREQU58H;BUFFER的值为58HMOVA,BUFFER;表示内部RAM58H单元中数据送给累加器A4.DATA数值赋值伪指令格式:符号名称DATA表达式功能:将表达式指定的数据地址或代码地址赋予符号

7、名称。说明:DATA伪指令功能与EQU伪指令相似,但是DATA所定义的符号可以先使用后定义。该语句一般放在程序开始或结尾。例如:BUFFERDATA58H;BUFFER的值为58HMOVA,BUFFER;表示内部RAM58H单元中数据送给累加器A5.DB字节存储伪指令格式:[标号:]DB8位二进制数据表功能:从指定的地址单元开始,定义若干个字节存储单元的内容。【例4.1】ORG100HFIRST:DB01H,02HSECO:DB011B,′A′,12以上伪指令经汇编后,程序存储器

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

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

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