单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计

上传人:E**** 文档编号:89499303 上传时间:2019-05-25 格式:PPT 页数:57 大小:498KB
返回 下载 相关 举报
单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计_第1页
第1页 / 共57页
单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计_第2页
第2页 / 共57页
单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计_第3页
第3页 / 共57页
单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计_第4页
第4页 / 共57页
单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计》由会员分享,可在线阅读,更多相关《单片机原理及应用 教学课件 ppt 作者 林毓梁 主编 第5章 汇编语言程序设计(57页珍藏版)》请在金锄头文库上搜索。

1、第5章 汇编语言程序设计,5-1 汇编语言程序设计概念 5-2 三种程序结构 5-3 子程序,5-1 汇编语言程序设计概念,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。 机器语言、汇编语言和高级语言比较一览表,返回,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用机器码书写程序。 缺点:不易被人们识别和读写。难写、难读、

2、难交流 。 优点:计算机可以直接识别和执行。 适用场合:无。,返回,74H 02H 24H 05H 80H FEH,计算机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用符号书写指令(用助记符表示操作码,特殊符号表 示操作数)。 缺点:机器不能直接识别;程序员必须了解机器的结构和指 令系统,不易推广和普及;不能移植,不具备通用性。 优点:易为人们识别、记忆和读写。 适用场合:实时控制系统 。,返回,MOV A,#02H ADD A,#05H SJMP $,计算

3、机程序设计语言是指计算机能够理解和执行的语言。 程序设计语言的种类很多,归纳起来有三种: 机器语言、汇编语言和高级语言。 编程时采用哪种语言由程序设计语言的特点和适用场合决定。,特点:用以英语为基础的语句编程。 缺点:机器不能直接识别;执行时间长。 优点:易于推广和交流;不依赖于机器,具有通用性。 适用场合:科学运算和数据处理 。,返回,机器语言、汇编语言和高级语言比较一览表,1、高级语言程序转换为机器语言程序的过程称为编译过程,通过编译程序实现。 2、汇编语言源程序转换为机器语言目的程序的过程称为汇编过程,通过手工查表 或汇编程序实现。 3、用汇编程序将汇编语言源程序转换为机器语言时,汇编语

4、言源程序的格式 必须正确,程序员还要了解伪指令。,返回,汇编语言源程序格式,汇编语言源程序格式如下: 1、汇编语言源程序由一条一条汇编语句组成。 2、每条汇编语句独占一行,以CRLF结束。 3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,指令系统中的指令,习题,4-2 汇编语言源程序格式,汇编语言源程序格式如下: 1、汇编语言源程序由一条一条汇编语句组成。 2、每条汇编语句独占一行,以CRLF结束。 3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、标号是指指令的符

5、号地址。 2、一般情况下可以省略,只用在转移的目的指令前。 3、它必须符合以下规定: 由8个或8个以内的字母、数字构成,第一个必须 是字母。 同一程序内,不能有相同的标号。 不能用助记符、寄存器名和特殊符号等作标号。 标号必须以冒号结束。,汇编语言源程序格式,汇编语言源程序格式如下: 1、汇编语言源程序由一条一条汇编语句组成。 2、每条汇编语句独占一行,以CRLF结束。 3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、操作码说明语句的功能。 2、它是汇编语句中必不可少的部分。,4-2 汇编语言源程序格式,汇编语言源程序格式如下

6、: 1、汇编语言源程序由一条一条汇编语句组成。 2、每条汇编语句独占一行,以CRLF结束。 3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、操作数说明操作的对象。 2、操作数有二种表示方法: 数本身和数所在地方。 3、操作数存在与否由指令决定:1个、2个、3个或没有。 如果有2个或3个,则各个操作数之间用逗号隔开。,参与运算的数可以用D、B、H、或ASCII码、表达式来表示。,1、内RAM:其地址可以用B、H、D、已定义的符号、含有+、-号的表达式表示。 2、SFR:用特殊功能寄存器名 表示。 3、工作寄存器:用工作寄存器名表

7、示。 4、外RAM:用dptr表示,汇编语言源程序格式,汇编语言源程序格式如下: 1、汇编语言源程序由一条一条汇编语句组成。 2、每条汇编语句独占一行,以CRLF结束。 3、典型的汇编语句由四部分组成: 标号:操作码 操作数;注释,返回,汇编语言源程序是用汇编语言编写的用户程序。,1、注释用于说明语句的功能,增加程序的可读性。 、可有可无,如果有,则必须以分号开头,以CR-LF结束,若一行不够,可以另起一行,新行必须以分号开头。,伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU

8、执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA DB DW DS,返回,习题,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA DB DW DS,返回,ORG(汇编起始命令) 功能: 规定下面的目标程序的起始地址。 格式: 标号: ORG 16位地址。 说明: 1、括号内是选项,可

9、以没有。 2、一般在一个汇编语言源程序的开始,都用一条ORG伪指令来规定程序存放的起始位置,故称为汇编起始命令。 3、在一个源程序中,可以多次使用ORG指令,以规定不同的程序段的起始位置。所规定的地址应该是从小到大,而且不允许有重叠,即不同的程序段之间不能有重叠。一个源程序若不用ORG指令开始,则从0000H开始存放目标码。,ORG 2000H START: MOV A,#64H ,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,

10、完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA DB DW DS,返回,END(汇编结束命令) 功能:汇编到此结束。 格式:标号: END 说明: 1、END是汇编语言源程序的结束标志, 在END以后所写的指令,汇编程序都不予处理。 2、一个源程序只能有一个END命令。在同时包含有主程序和子程 序的源程序中,也只能有一个END命令。,ORG 2000H START: MOV A,#64H END INC DPTR ,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的

11、目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA DB DW DS,返回,EQU(等值命令) 功能:将一个数或者特定的汇编符号 赋予规定的字符名称。 格式:字符名称 EQU 数或汇编符号 说明: 1、注意这里使用的是“字符名称”而不是标号,而且也不用“:”来作分隔符,若加上“:”,反而被汇编程序认为是一种错误。 2、用EQU指令赋值以后的字符名称可以用作数据地址、代码地址、位地址或者直接当作一个立即数使用。因此,给字符名称所赋的值可以是8位数也可以是16位二进制数。 3、使用EQU伪指令时必须先赋值

12、,后使用,而不能先使用,后赋值。 对于有的汇编程序来讲,用EQU伪指令赋值的字符名称不能在表 达式中运算。 例如,不能这样使用:MOV A,A10+1,1、 AA EQU R1 MOV A , AA 2、 Al0 EQU 10H DELY EQU 07EBH MOV A,#A10 LCALL DELY,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA D

13、B DW DS,返回,DATA(数据地址赋值命令) 功能:将数据地址或代码地址赋予 规定的字符名称。 格式: 字符名称 DATA 表达式 DATA伪指令的功能和EQU有些相似,使用时要注意它们的差别: 1、EQU伪指令定义的符号必须先定义后使用,而DATA伪指令定义的符号可以先使用后定义。 2、用EQU伪指令可以把一个汇编符号赋给一个字符名称,而DATA伪指令则不能。 3、DATA伪指令可将一个表达式的值赋给一个字符名称,所定义的 字符名称也可以出现在表达式中,而用EQU定义的字符,则不能这 样使用。 4、DATA伪指令常在程序中用来定义数据地址。,MOV A,TAB TAB DATA 30H

14、,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程进行某种控制,或者对符号、标号赋值。在汇编过程中, 伪指令不产生可执行的目标代码;而指令由CPU执行,在汇编过程中,产生可执行的目标代码,完成对数据的运算与处理。 二、常用的伪指令: ORG END EQU DATA DB DW DS,返回,DB(定义字节指令) 功能:从指定的地址单元开始,定义若干个8位内存单元的内容。 格式: 标号: DB 8位二进制数表 说明: 1、这个伪指令是在程序存贮器的某一部分存入一组规定好的8位二进制数,或者是将一个数据表格存入程序存贮器。它在汇编以后,将影响程序存贮器的内容。 2、8位

15、二进制数表可以写成二进制、十进制、十六进制或“ASCII码”、表达式。,例1,例2,例3,2000H : DB 45H,73,“5“,“A“ TAB : DB 101B 以上伪指令经汇编以后,将对2000H开始的若干ROM单元赋值:,返回,例1,2000H,2001H,2002H,2003H,2004H,ROM,45H,49H,35H,41H,05H,ORG 2000H LOOP EQU 10 TAB: DB 45H,73,“5”,-4,LOOP,LOOP+2 以上伪指令经汇编以后,相关单元的内容如何变化?,例2,2005H,2000H,2001H,2002H,2003H,2004H,ROM,45H,49H,35H,FCH,0AH,0CH,返回,将09的平方表存入1000H开始的ROM单元中 解: ORG 1000H TAB : DB 0,1,4,9, 16 DB 25,36,49,64,81,例3,19H,1005H,00H,1000H,01H,1001H,04H,1002H,09H,1003H,10H,1004H,ROM,51H,1009H,24H,1006H,31H,1007H,40H,1008H,返回,4- 伪指令,一、伪指令与指令的区别: 伪指令由汇编程序识别,用来对汇编过程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号