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