41程序编制的方法和技巧.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 程序编制的方法和技巧 4.1.1程序编制的步骤 清晰的流程图是正确编制应用程序的基础和条件,是一个良好的编程习惯 4.1.2 编制程序的方法和技巧 二、尽量采用循环结构和子程序 4.1.3 汇编语言的语句格式 操作数 注释 增加程序可读性,该字段要以分号“;”开头,长度不限。 4.2 源程序的编辑和汇编 源程序的编辑 据汇编语言规则,正确使用汇编命令(即伪指令): ORG 0040H MOV A,#7FH MOV R1,#44H END 源程序的汇编 汇编形成两个主要文件为:列表文件和目标码文件。例: 汇编程序能识别并对汇编过程进行某种控制的汇编命令。无对应的可执行目标码。 汇编结束 END 汇编程序遇到END伪指令后即结束汇编。 字节数据定义 [标号:] DB 字节数据表 将字节数据表中的数据根据从左到右的顺序依次存放在指定的存储单元中。一个数据占一个存储单元。例: 常用于存放数据表格。如存放显示用的十六进制的字形码: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,84H 字数据定义 [标号:] DW 字数据表 从标号指定的地址单元开始,在程序存储器中定义字数据。应注意:高8位存放在低地址单元,低8位存放在高地址单元。例: 空间定义 [标号:] DS 表达式 从标号指定的地址单元开始,在程序存储器中保留由表达式所指定的个数的存储单元,并都填以零值。例如: 赋值 符号名 EQU 表达式 将表达式的值或特定的某个汇编符号定义为一个指定的符号名。 LEN EQU 10 SUM EQU 21H BLOCK EQU 22H CLR A MOV R7,#LEN MOV R0,#BLOCK LOOP:ADD A,@R0 INC R0 DJNZ R7,LOOP MOV SUM,A END 功能:把BLOCK单元开始存放的10个无符号数进行求和,并将结果存入SUM单元中。 位地址符号定义 符号名 BIT 位地址表达式 将位地址赋给指定的符号名。位地址表达式可以是绝对地址,也可以是符号地址。 4.3 基本程序结构 MOVC A,@A+ DPTR,用DPTR指向表首址,则变量与DPTR之和的地址单元中的内容就是变量的平方值。 一、单分支程序 例 求双字节有符号数的二进制补码。 三、多分支程序 例 根据R7的内容转向相应的处理程序。 设R7的内容为0~N,对应的处理程序的入口地址分别为PP0~PPN。 START:MOV DPTR,#TAB ;置分支入口地址表首址 MOV A,R7 ;分支转移序号送A ADD A,R7 ;分支转移序号乘以2 MOV R3,A ;暂存于R3 MOVC A,@A+DPTR ;取高位地址 XCH A,R3 INC A MOVC A,@A+DPTR ;取低位地址 MOV DPL,A ;处理程序入口地址低8位送DPL MOV DPH,R3 ;处理程序入口地址高8位送DPH CLR A JMP @A+DPTR TAB:DW PP0 DW PP1 … … … DW PPN 4.3.3 循环程序 一、先执行后判断 例 50ms延时程序。 若晶振频率为12MHz,则一个机器周期为1μs。执行一条DJNZ指令需要2个机

文档评论(0)

docindoc + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档