文档介绍:第4章汇编语言程序设计知识
第4章汇编语言程序设计知识
§ 编程的步骤、方法和技巧
§
汇编语言源程序的编辑和汇编
15:40
单片机原理及接口技术
§
编程的步骤、方法和技巧
编程的步骤编程的方法和技巧汇编语言程序的基本结构
§ § §
15:40
单片机原理及接口技术
§
编程步骤
一、分析问题二、确定算法
三、画程序流程图
四、编写程序
15:40
单片机原理及接口技术
一、分析问题
对需要解决的问题进行分析,以求对问题有正确的理解。•解决问题的任务是什么? •工作过程? •现有的条件,已知数据,对运算的精度和速度方面的要求? •设计的硬件结构是否方便编程?
15:40
单片机原理及接口技术
二、确定算法
算法:是如何将实际问题转化成程序模块来处理。•在编程以前,先要对几种不同的算法进行分析、比较,找出最适宜的算法
15:40
单片机原理及接口技术
三、画程序流程图
程序流程图:是使用各种图形、符号、有向线段等来说明程序设计过程的一种直观的表示。•流程图步骤分得越细致,编写程序是也越方便。•画流程图是程序结构设计是采用的一种重要手段。•一个系统软件有总的流程图(主程序框图)和局部的流程图。•流程图常采用的图形和符号。
单片机原理及接口技术
15:40
椭圆框
或桶形框
:表示程序的开始或结束。
矩形框
菱形框圆圈
:表示要进行的工作。
:表示要判断的事情,菱形框内的表达式表示要判断的内容。:表示连接点。
指向线
15:40
:表示程序的流向。
单片机原理及接口技术
四、编写程序
用89C51汇编语言编写的源程序行(一条语句) 包括四个部分,也叫四个字段: 〔标号:〕〔操作码〕〔操作数〕;〔注释〕•每个字段之间要用分隔符分隔,而每个字段内部不能使用分隔符。可以用作分隔符的符号: 空格“”、冒号“:”、逗号“,”、分号“;”等。例:LOOP:MOV A,#00H ;立即数00H→A
15:40
单片机原理及接口技术
标号
标号:是用户定义的符号地址。•一条指令的标号是该条指令的符号名字, 标号的值是汇编这条指令时指令的地址。•标号由以英文字母开始的1~8个字母或数字组成, 以冒号“:”结尾。•标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所以,标号又叫指令标号。
15:40
单片机原理及接口技术
操作码
操作码是必不可少的。•它用一组字母符号表示指令的操作码。在89C51中,由89C51的指令助记符组成。
15:40
单片机原理及接口技术
操作数
汇编语言指令可能要求或不要求操作数,所以这一字段可能有也可能没有。•若有两个操作数,操作数之间用逗号“,”分开•操作数包括的内容有: (1)工作寄存器:~R7。(2)特殊功能寄存器:21个SFR的名字。
15:40
单片机原理及接口技术
操作数
(3)标号名: 赋值标号:由汇编指令 EQU 等赋值的标号; 指令标号:指令标号指示的指令的第一字节地址是该标号的值。(4)常数:可用二进制(B)、十进制、十六进制(H), 若常数以字符开头,前面加0。(5) $:用来表示程序计数器的当前值。(6)表达式:汇编时,计算出表达式的值填入目标码。
15:40
单片机原理及接口技术
注释
注释部分不是汇编语言的功能部分,只是用于增
加程序的可读性。
良好的注释是汇编语言程序编写中的重要组成部
分。
15:40
单片机原理及接口技术
§
编程的方法和技巧
一、模块化的程序设计方法二、编程技巧
15:40
单片机原理及接口技术
一、模块化的程序设计方法
1、程序功能模块化的优点
2、划分模块的原则
15:40
单片机原理及接口技术
1、程序功能模块化的优点
单个模块结构的程序功能单一,易于编写、调试和修改。•便于分工,从而可使多个程序员同时进行程序的编写和调试工作,加快软件研制进度。•程序可读性好,便于功能扩充和版本升级。•对程序的修改可局部进行,其它部分可以保持不变。•对于使用频繁的子程序可以建立子程序库,便于多个模块调用。
15:40
单片机原理及接口技术
2、划分模块的原则
每个模块应具有独立的功能,能产生一个明确的结果,即单模块的功能高内聚性。•模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性。控制耦合:指模块进入和退出的条件及方式, 数据耦合:指模块间的信息交换方式、交换量的多少、交换频繁程度。•模块长度适中。20条~100条的范围