欢迎来到天天文库
浏览记录
ID:42117842
大小:533.51 KB
页数:49页
时间:2019-09-08
《片机课件之MCS-51单片机汇编语言程序设计1wj》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章MCS-51单片机汇编语言程序设计汇编语言具有高效、快捷等特点,在中小规模应用软件中广泛应用。了解常用伪指令的格式、功能及使用方法,掌握顺序程序、分支程序、循环程序、子程序的特点及编写方法是汇编语言程序设计的基础。顺序程序的执行次序就是按语句的先后次序执行,应避免用顺序程序实现大量重复操作;分支程序中有比较判断环节,应注意逻辑正确性;循环程序中有一部分要反复执行多次,应注意避免死循环;子程序是能完成某一特定功能的程序模块,应具有通用性。通常都将常用功能模块编写成子程序形式,以提高程序的可读性和执行效率。4.1概述程序是完成某一特定任务的若干指令的有序集合。编写程序,就要熟悉计算机语
2、言。目前计算机语言种类繁多,性能各异,大致可分为三类:机器语言、汇编语言和高级语言。汇编语言也是一种面向机器的程序设计语言,它用英文字符来代替对应的机器语言。例如用ADD代替机器语言中的加法运算,这些英文字符被称为助记符。计算机高级语言是一种面向算法、过程和对象的程序设计语言,它采用更接近人们习惯的自然语言和数学语言描述算法、过程和对象,如BASIC,C,JAVA等都是常用的高级语言。4.1.2汇编语言语句种类及格式汇编语言语句有三种基本类型:指令语句、伪指令语句和宏指令语句。指令语句:每一个指令语句都在汇编时产生一个目标代码,对应着机器的一种操作。【例】:MOVA,#05H;其目标代码
3、为74H05H。伪指令语句:伪指令语句是一种说明语句,主要是为汇编程序服务的,在汇编时没有目标代码与之对应,没有对应的机器操作。【例】:ONEEQU1;其功能为定义ONE的值为1宏指令语句:用以代替汇编语言源程序中重复使用的程序段而设置的一种语句,由汇编程序在汇编时产生相应的目标代码。4.1.3常用伪指令为了便于编程和对汇编语言程序进行汇编,各种汇编语言都提供一些特殊的伪指令,由伪指令确定的操作称为伪操作。1.起始地址说明格式:ORGnn功能:用于汇编语言源程序或数据块开头,指出程序段或数据块存储的起始地址。nn表示16位地址。【例】:ORG1000HMAIN:MOVDPTR,#2000
4、HORG伪指令规定了程序段MAIN的起始地址为1000H。2.汇编结束说明格式:END功能:用于汇编语言源程序末尾,指示源程序到此全部结束。在汇编时,对END后面的指令不予汇编。因此,END语句必须放在整个程序的末尾,有且只能有一个。3.赋值格式:字符名EQU数据或汇编符号功能:将一个数(8位或16位)或汇编符号赋值给所定义的字符名。EQU伪指令中的字符名必须先赋值后使用,故该语句通常放在源程序的开头。【例】:ORG0000HCH1EQU50HCH2EQUR4…MOVA,CHl;A←(50H),相当于MOVA,50HMOVA,CH2;A←R4,相当于MOVA,R44.定义字节格式:[标号
5、:]DBnl,n2,…,nn功能:用于定义8位数据的存放地址。表示把指令右边的单字节数据依次存放到以左边标号为起始地址的连续存储单元中,通常用于定义数据表,程序中使用查表指令将数据取出。【例】:ORG1000HMAIN:MOVDPTR,#TAB;取表头地址MOVA,R2;R2中存放查表指针MOVCA,@A+DPTR;从表中取出数据TAB:DB7FH,6FH,77H,7CH,39H,5EH,79H,61HEND5.定义字格式为:[标号:]DWnnl,nn2,…,nnN功能:用于定义16位数据的存放地址。DW指令与DB指令相似,都是在内存的某个区域内定义数据,不同的是DW指令定义的是字,而D
6、B指令定义的是字节。DW指令表示把指令右边的双字节数据依次存入指定的连续存储单元中。常用于定义一个地址表。6.位地址赋值格式:字符名称BIT位地址功能:该指令把BIT右边的位地址赋给左边的字符名称。被定义的位地址在源程序中可用符号名称来表示。也可以用EQU指令来定义位地址变量。【例】:ORG1000HL0BITP1.1LlBIT20H7.定义存储区格式:[标号:]DSX功能:用于定义从标号开始预留一定数量的内存单元,以备源程序执行过程中使用。预留单元的数量由X决定。【例】:ORG1000HCDS:DS08HMAIN:MOVDPTR,#1000H…END程序汇编到DS语句时,从1000H地
7、址开始预留8个连续地址单元,后面内容从1008H地址开始依次存放。4.1.4汇编语言程序设计方法汇编语言程序设计同高级语言程序设计一样,是有章可循的,只要按照一定的方法步骤去做,程序设计就会变成一件轻松愉快的事情,设计的程序也会规范、清晰、易读、易懂。使用汇编语言设计程序大致上可分为以下几个步骤。1.分析题意,明确要求。2.确定算法。3.画程序流程图。4.分配内存工作单元。5.编写源程序。6.程序优化。7.上机调试。4.2顺序程序设
此文档下载收益归作者所有