- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计 4.1 汇编语言的基本概念 4.2 顺序程序设计 4.3 分支程序设计 4.4 循环程序设计 4.5 查表程序 4.6 子程序 4.1 汇编语言的基本概念 4.1.1 计算机语言 程序是计算某一算式或完成某一工作的若干指令的有序集合。目前,用于程序设计的语言可分为三种;机器语言、汇编语言和高级语言。 4.1.2 汇编语言的语句结构 一、汇编语言的指令类型 MCS-51单片机汇编语言,包含两类不同性质的指令。 1.基本指令:即指令系统中的指令。它们都是机器能够执行的指令。 2.伪指令:汇编时用于控制汇编的指令。它们都是机器不能够执行的指令。 二、汇编语言的语句格式 汇编语言源程序是由汇编语句(即指令)组成的,汇编语句一般由四部分组成,每一部分称为一段。其典型的汇编语句格式如下: 标号: 操作码 操作数 ;注释 4.1.3 伪指令 伪指令是非执行指令,只是在对源程序进行汇编的过程中起某种控制作用。例如,设置目标程序或数据存储区的起始地址,给程序分配一定的存储单元、定义符号、判断源程序是否结束等。伪指令汇编后不产生目标代码,它不影响程序的执行,所以有伪指令之称。常用的伪指令如下。 4.1.3 汇编语言源程序编辑与汇编 一、手工编程和汇编 二、机器编辑和汇编 4.2 顺序程序 一、程序设计的一般步骤 1.分析问题:熟悉和明确要求,建立数学模型。 2.确定算法:根据实际问题的要求和指令系统的特点,选择解决问题的方法。 3.设计程序流程图:程序流程图是程序结构的一种图解表示法,体现了程序设计思想,是把算法转化成程序的准备阶段。 4.分配内存单元:确定程序和数据区的起始地址。 5.编写汇编语言源程序:根据流程图和指令系统编写源程序。 6.调试程序:源程序编制好以后,必须上机调试。先将源程序通过汇编生成目标程序,并消除语法错误;然后在实用系统上进行联调修改,直至达到预定的要求。 二、顺序程序 顺序程序(又称简单程序)是一种最简单、最基本的程序。它的特点是,程序按编写的顺序依次往下执行每一条指令,直到最后一条。这种程序虽然简单,但它是构成复杂程序的基础。 MOV A,R7 ;取高位字符 CPL A ;高位字节求补 ADDC A,#0 ORL A,#80H ;恢复负号 MOV R7,A STOP:SJMP STOP ;暂停 END 4.3 分支程序 利用条件转移指令形成不同的程序分支,这就是分支程序。分支程序有三种基本形式,如图所示。 实现多向分支的主要方法是采用分支表法。常用的分支表的组成有三种形式: 分支地址表 转移指令表 地址偏移量表 解法1: 采用分支地址表法。 解法2: 采用转移指令表。 解法3: 采用地址偏移量表。(自学) 4.4 循环程序设计 一、循环程序的结构 例:试设计一个排序程序,将5次采样值按从小到大的顺序排序。 4.5 查 表 程 序 作用:求函数值、完成数据补偿、修正、计算、实现代码转换、按键的识别、查找按键命令处理程序的入口地址、显示译码等各种功能,具有程序简单、执行速度快等优点。 查表指令:执行查表指令时,发出读程序存储器选通脉冲/PSEN。在MCS-51的指令系统中,给用户提供了两条极为有用的查表指令: ⑴ MOVC A,@A+DPTR ⑵ MOVC A,@A+PC 表格的定义方法:使用DB、DW伪指令,存放于代码段中。 4.5 查表程序 一、顺序查表 例:在以DATA为首地址的存储区中,有一长度为100个字节的无序数据表,设要找的关键字放在KEY单元中,试编写程序,若找到关键字,则将它所在的内存单元地址存入R2、R3中;若未找到,则将R2、R3清零。 方法1: MOVC A,@A+PC 方法二: MOVC A,@A
文档评论(0)