- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工程科技]4第四章课件汇编语言程序设计
4.1 程序编制的方法和技巧 4.1.1程序编制的步骤 二、进行算法的优化 三、程序总体设计及流程图绘制 清晰正确的流程图是编制正确无误的应用程序的基础和条件。所以,绘制一个好的流程图,是程序设计的一项重要内容。 常用的流程图符号有:开始和结束符号、工作任务符号、判断分支符号、程序连接符号、程序流向符号等 4.1.2 编制程序的方法和技巧 二、尽量采用循环结构和子程序 4.1.3 汇编语言的语句格式 一、标号 三、操作数 四、注释 注释只是对语句的说明。注释字段可以增加程序的可读性,有助于编程人员的阅读和维护。注释字段必须以分号“;”开头,长度不限,当一行书写不下时,可以换行接着书写,但换行时应注意要在开头使用分号“;”。 4.2 源程序的编辑和汇编 一、源程序的编辑 源程序的编写要依据80C51汇编语言的基本规则,特别要用好常用的汇编命令(即伪指令),例如下面的程序段: ORG 0040H MOV A,#7FH MOV R1,#44H END 这里的ORG和END是两条伪指令,其作用是告诉汇编程序此汇编源程序的起止位置。编辑好的源程序应以“ . ASM”扩展名存盘,以备汇编程序调用。 二、源程序的汇编 源程序经过机器汇编后,形成的若干文件中含有两个主要文件,一是列表文件,另一个是目标码文件。因汇编软件的不同,文件的格式及信息会有一些不同。但主要信息如下: 伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。它不是单片机执行的指令,所以没有对应的可执行目标码,汇编后产生的目标程序中不会再出现伪指令。 ORG 8000H START:MOV A,#30H … … 此时规定该段程序的机器码从地址8000H单元开始存放。 二、汇编结束伪指令 END 格式为: END 该指令的功能是结束汇编。 汇编程序遇到END伪指令后即结束汇编。处于END之后的程序,汇编程序将不处理。 三、字节数据定义伪指令 DB [标号:] DB 字节数据表 功能是从标号指定的地址开始,在ROM中定义字节数据。该伪指令将字节数据表中的数据根据从左到右的顺序依次存放在指定的存储单元中。一个数据占一个存储单元。例如: 该伪指令常用于存放数据表格。如要存放显示用的十六进制的字形码,可以用多条DB指令完成: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB C6H,A1H,86H,84H 四、字数据定义伪指令 DW [标号:] DW 字数据表 功能是从标号指定的地址单元开始,在程序存储器中定义字数据。该伪指令将字或字表中的数据根据从左到右的顺序依次存放在指定的存储单元中。应特别注意:16位的二进制数,高8位存放在低地址单元,低8位存放在高地址单元。例如: 五、定义存储空间伪指令 DS [标号:] DS 表达式 功能是从标号指定的地址单元开始,在程序存储器中保留由表达式所指定的个数的存储单元作为备用的空间,并都填以零值。例如: 六、赋值伪指令 EQU 符号名 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 格式为: 符号名 BIT 位地址表达式 功能是将位地址赋给指定的符号名。其中,位地址表达式可以是绝对地址,也可以是符号地址。 4.3 基本程序结构 方法一: MOV A,2EH ;2字节,1个机器周期 MOV 2EH,2DH ;3字节,2个机器周
文档评论(0)