第4篇__汇编语言程序设计知识1.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计知识 本章教学要求 1. 了解汇编语言编程的基础知识; 2. 了解汇编语言程序设计的基本步骤和方法; 3. 了解汇编语言的特点:目标程序效率高、占存储空间少、运行速度快、实时性强等; 4. 掌握89C51汇编语言的几种结构:顺序、分支、循环、查表及子程序的结构; 5. 掌握一些常用汇编子程序的编程方法。 6. 掌握常用的一些伪指令。 4.1.1 编程步骤 1、分析问题 2、确定算法 3、画程序流程图 4、编写源程序 1、分析问题 对需要解决的问题进行分析,以求对问题由正确的理解。 解决问题的任务是什么? 工作过程? 现有的条件,已知数据,对运算的精度和速度方面的要求? 设计的硬件结构是否方便编程? 2、确定算法 算法是如何将实际问题转化成程序模块来处理。 在编程以前,先要对几种不同的算法进行分析、比较,找出最适宜的算法。 3、画程序流程图 程序流程图是使用各种图形、符号、有向线段等来说明程序设计过程的一种直观的表示。 流程图步骤分得越细致,编写程序是也越方便。 画流程图是程序结构设计是采用的一种重要手段。 一个系统软件有总的流程图(主程序流程图)和局部的流程图(子程序流程图)。 流程图常采用的图形和符号。 4、编写源程序 用89C51汇编语言编写的源程序行(一条语句)包括四个部分,也叫四个字段: 〔标号:〕 操作码 〔操作数〕;〔注释〕 每个字段之间要用分隔符分隔,而每个字段内部不能使用分隔符。可以用作分隔符的符号:空格“ ”、冒号“:”、逗号“,”、分号“;”等。 例:MAIN:MOV A,#00H;立即数00H→A 标号: 标号是用户定义的符号地址。 一条指令的标号是该条指令的符号名字,标号的值是汇编这条指令时指令的地址。 标号由以英文字母开始的1~8个字母或数字组成,以冒号“:”结尾。 标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所以,标号又叫指令标号。 操作码 操作码是必不可少的。 它用一组字母符号表示指令的操作码。 在89C51中,由89C51的指令助记符组成。 操作数 汇编语言指令可能要求或不要求操作数,所以这一字段可能有也可能没有。 若有两个操作数,操作数之间用逗号“,”分开。 操作数包括的内容有: (1)工作寄存器:由PSW.3和PSW.4规定的当前工作寄存器区中的R0~R7。 (2)特殊功能寄存器:21个SFR的名字。 (3)标号名:赋值标号—由汇编指令EQU等赋值的标号;指令标号—指令标号指示的指令的第一字节地址是该标号的值。 注释 注释部分不是汇编语言的功能部分,只是用语增加程序的可读性。 良好的注释是汇编语言程序编写中的重要组成部分。 4.1.2 编程的方法和技巧 每个模块应具有独立的功能,能产生一个明确的结果,即单模块的功能高内聚性。 模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性。控制耦合是指模块进入和退出的条件及方式,数据耦合是指模块间的信息交换方式、交换量的多少及交换频繁程度。 模块长度适中。20条~100条的范围较合适。 1、尽量采用循环结构和子程序。 2、尽量少用无条件转移指令。 3、对于通用的子程序,考虑到其通用性,除了用于存放子程序入口参数的寄存器外,子程序中用到的其他寄存器的内容应压入堆栈(返回前再弹出),即保护现场。 4、在中断处理程序中,除了要保护处理程序中用到的寄存器外,还要保护标志寄存器。 5、用累加器传递入口参数或返回参数比较方便,在子程序中,一般不必把累加器内容压入堆栈。 4.1.3 汇编语言程序的基本结构 顺序程序是最简单的程序结构,即顺序结构。 程序按顺序一条一条地执行指令。 例4-1 将片内RAM的20H单元中的压缩BCD码拆成两个ACSII码存入21H、22H单元。低4位存在21H单元,高4位存在22H单元。 二、分支程序 程序分支是通过条件转移指令实现的,即根据条件对程序的执行进行判断、满足条件则进行程序转移,不满足条件就顺序执行程序。 分支程序又分为单分支、双分支和多分支结构。 多分支程序是首先把分支程序按序号排列,然后按序号值进行转移。 在89C51指令系统中,通过条件判断实现单分支程序转移的指令有:JZ、JNZ、CJNE、DJNZ等。此外还有以位状态作为条件进行程序分支的指令,如JC、JNC、JB、JNB、JBC等。使用这些指令可以完成0、1、正、负,以及相等、不相等作为各种条件判断依据的程序转移。 三、循环程序 在程序运行时,有时需要连续重复执行某段程序,可以使用循环程序。其结构包括四部分: 1、置循环初值 2、循环体(循环工作部分) 3、修改控

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档