欢迎来到天天文库
浏览记录
ID:59017687
大小:303.00 KB
页数:80页
时间:2020-09-26
《第4章 MCS51汇编语言程序的设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章MCS-51汇编语言程序设计4.1汇编语言程序设计概述4.2顺序与循环程序设计4.3子程序的设计4.4分支转移程序设计4.5查表程序设计4.6综合编程举例4.1汇编语言程序设计概述4.1.1概述MCS-51单片机的汇编语言指令系统,每一条指令就是汇编语言的一条命令语句。由于汇编语言是面向机器硬件的语言,因此使用汇编语言进行程序设计,必须熟悉MCS-51单片机的硬件结构、指令系统、寻址方式等,才能编写出符合要求的程序。汇编语言语句有两种基本类型:1.指令语句每一条指令在汇编时都产生一个指令代码,也称为机器代码,该机器代码对应着机器的一种操作。
2、2.伪指令语句伪指令语句没有目标代码,它主要是为汇编程序服务的,在汇编过程中起控制作用。标号字段和操作字码段之间要有冒号“:”相隔;操作码字段和操作数字段间的分界符是空格;双操作数之间用逗号相隔;操作数字段和注释字段之间的分界符用分号“;”相隔。标号字段操作码字段操作数字段注释字段(LABLE)(OPCODE)(OPRAND)(COMMENT)MCS-51汇编语言的4分段格式:1.标号字段标号是语句所在地址的标志符号2.操作码字段规定语句执行的操作,不能空缺3.操作数字段存放指令的操作数或操作数地址,可以采用字母和数字的多种表示形式4.注释字段在
3、MCS-51汇编语言中应有向汇编程序发出的指示信息,告诉它如何完成汇编工作,这一任务是通过使用伪指令来实现的。“伪”体现在汇编时,伪指令没有相应的机器代码产生。伪指令具有控制汇编程序的输入输出、定义数据和符号、条件汇编、分配存储空间等功能。不同汇编语言的伪指令也有所不同,但一些基本的内容却是相同的。伪指令下面介绍在MCS-51汇编语言程序中常用的伪指令。ORG汇编起始地址命令END汇编语言程序结束伪指令EQU赋值伪指令DB定义字节伪指令DW定义字伪指令BIT位地址符号伪指令DATA定义标号数值伪指令ORG汇编起始地址命令功能:规定程序的起始地址。
4、如果不用ORG规定,则汇编的得到的目标程序将从0000H开始。通用形式ORGM,M为十或十六进制数.例如:ORG2000HSTART:MOVA,#00H┇注意:在一个源程序中,可以多次使用ORG指令,来规定不同的程序段的起始地址。但是,地址必须由小到大排列,不能交叉、重叠。END汇编语言程序结束伪指令功能:用在程序末尾,表示程序已经结束。汇编程序对END以后的指令不再汇编。EQU赋值伪指令功能:把操作数段中的地址或数据赋值给标号字段中的标号。格式:标号(字符名称)EQU数或汇编符号例:AAEQUR1;R1与AA等值DB定义字节伪指令功能:从指定单
5、元开始定义(存储)若干个字节的数值或ASCII码字符。常用于定义数据常数表。格式:操作码操作数DB字节常数或ASCII字符例:ORG1000HDB76H,73,‘C’,‘B’DB0ACH则(1000H)=76H(1001H)=49H(1002H)=43H(1003H)=42H(1004H)=0ACHDW定义字伪指令功能:从指定单元开始定义(或存储)若干个字的数据或ASCII码字符。格式:操作码操作数DW字常数或ASCII字符BIT位地址符号伪指令功能:把位地址赋予所规定的字符名称。格式:字符名称操作码操作数BIT位地址例:ABCBITP1.0Q4
6、BITP2.2汇编后,位地址P1.0、P2.2分别赋给变量ABC和Q4。DATA定义标号数值伪指令功能:给标号段中的标号赋以数值。格式:标号操作码操作数字符名称:DATA表达式例:MN:DATA3000H汇编后MN的值为3000H.DATA与EQU的区别在于:用DATA定义的标识符汇编时作为标号登记在符号表中,所以可以先使用后定义;而EQU定义的标识符必须先定义后使用,因后者不登记在符号表中。4.1.2汇编语言程序设计步骤使用汇编语言作为程序设计语言的步骤与高级语言编程步骤类似,但略有差异。其程序设计步骤大致可分为以下几步:1.分析课题,确定算法
7、或解题思路。2.画工作流程图(图形的符号规定均同于高级语言流程图)3.分配内存单元,确定程序与数据区存放地址。4.编写源程序。5.上机调试、修改,最后确定源程序。程序设计时,必须根据实际问题和所使用的计算机的特点来确定算法,然后按照尽可能使程序简短和缩短运行时间两个原则编写程序。4.1.3汇编语言源程序的汇编语言源程序翻译成机器代码(指令代码)的过程称为“汇编”。手工汇编通过查指令的机器代码表,逐个把助记符指令翻译成机器代码,再进行调试和运行。缺点:繁琐、容易出错。所以只有小程序或受条件限制时才使用。在实际的程序设计中,都是采用机器汇编来自动完成
8、。机器汇编借助于微计算机来代替手工汇编。它实际上是通过执行汇编程序来对源程序进行汇编的。由于使用微型计算机完成了汇编,而汇编后得到的机器
此文档下载收益归作者所有