欢迎来到天天文库
浏览记录
ID:40827348
大小:540.10 KB
页数:68页
时间:2019-08-08
《课件汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.1程序编制的方法和技巧本章分为四节,主要介绍:4.3基本程序结构4.2源程序的编辑和汇编4.4常用程序举例9/1/202114.1程序编制的方法和技巧4.1.1程序编制的步骤一、任务分析首先,要对单片机应用系统完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。9/1/20212二、进行算法的优化算法是解决具体问题的方法。应用系统经过分析、研究和明确规定后,对应实现的功能和技术指标可以利用严密的数学方法或数学模型来描述,从而把实际问题转化成由
2、计算机进行处理的问题。同一个问题的算法可以有多种,结果也可能不尽相同,所以,应对各种算法进行分析比较,并进行合理的优化。比如,用迭代法解微分方程,需要考虑收敛速度的快慢(即在一定的时间里能否达到精度要求)。而有的问题则受内存容量的限制而对时间要求并不苛刻。对于后一种情况,速度不快但节省内存的算法则应是首选。9/1/20213三、程序总体设计及流程图绘制经过任务分析、算法优化后,就可以进行程序的总体构思,确定程序的结构和数据形式,并考虑资源的分配和参数的计算等。然后根据程序运行的过程,勾画出程序执行的逻辑顺序,用图形符号将总体设计思路及程序流向
3、绘制在平面图上,从而使程序的结构关系直观明了,便于检查和修改。9/1/20214清晰正确的流程图是编制正确无误的应用程序的基础和条件。所以,绘制一个好的流程图,是程序设计的一项重要内容。流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系。局部流程图反映程序模块的具体实施细节。对于简单的应用程序,可以不画流程图。但是当程序较为复杂时,绘制流程图是一个良好的编程习惯。9/1/20215常用的流程图符号有:开始和结束符号、工作任务符号、判断分支符号、程序连接符号、程序流向符号等9/1/202164.1.2编
4、制程序的方法和技巧一、采用模块化程序设计方法应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:发送、接收、延时、打印和显示等。模块化的程序设计方法具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。9/1/20217二、尽量采用循环结构和子程序采用循环结构和子程序可以使程序的长度减少、占用内存空间减少。多重循环,注意各重循环的初值和循环结束条件,避免出现
5、“死循环”现象;通用的子程序,除了用于存放子程序入口参数的寄存器外,子程序中用到的其它寄存器的内容应压入堆栈进行现场保护,并要特别注意堆栈操作的压入和弹出的平衡;中断处理子程序除了要保护程序中用到的寄存器外,还应保护标志寄存器。9/1/202184.1.3汇编语言的语句格式语句行由四个字段组成:[标号:]操作码[操作数][;注释]括号内的部分可以根据实际情况取舍。每个字段之间要用分隔符分隔,可以用作分隔符的符号有空格、冒号、逗号、分号等。如:LOOP:MOVA,#7FH;A←7FH9/1/20219一、标号标号是语句地址的标志符号,用于引导对
6、该语句的非顺序访问。有关标号的规定为:二、操作码操作码用于规定语句执行的操作。它是汇编语句中唯一不能空缺的部分。它由指令助记符表示。由1~8个ASCII字符组成。第一个字符必须是字母,其余字符可以是字母、数字或其他特定字符;不能使用已经定义了的符号作为标号。如指令助记符、寄存器符号名称等;后边必须跟冒号。9/1/202110三、操作数操作数用于给指令的操作提供数据或地址。在一条汇编语句中操作数可能是空缺的,也可能包括一项,还可能包括两项或三项。各操作数间以逗号分隔。操作数字段的内容可能包括以下几种情况:(1)工作寄存器名;(2)特殊功能寄存器
7、名;(3)标号名;(4)常数;(5)符号“$”,表示程序计数器PC的当前值;(6)表达式。9/1/202111四、注释注释只是对语句的说明。注释字段可以增加程序的可读性,有助于编程人员的阅读和维护。注释字段必须以分号“;”开头,长度不限,当一行书写不下时,可以换行接着书写,但换行时应注意要在开头使用分号“;”。五、数据的表示形式数据可以有以下几种表示形式:二进制数,末尾以字母B标识。如:10001111B;十进制数,末尾以字母D标识或将字母D省略。如:88D,66;十六进制数,末尾以字母H标识。如:78H,0A8H(但应注意的是,十六进制数以
8、字母A~F开头时应在其前面加上数字“0”。);ASCII码,以单引号括起来标识。如:‘AB’,‘1245’9/1/2021124.2源程序的编辑和汇编一、源程序的编
此文档下载收益归作者所有