单片机课件--指令系统

单片机课件--指令系统

ID:40132319

大小:305.31 KB

页数:21页

时间:2019-07-22

单片机课件--指令系统_第1页
单片机课件--指令系统_第2页
单片机课件--指令系统_第3页
单片机课件--指令系统_第4页
单片机课件--指令系统_第5页
资源描述:

《单片机课件--指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机原理与接口应用第四章指令系统4.1指令格式一、指令和指令格式指令:是CPU根据人的意图来执行某种操作的命令。指令系统:一台计算机所能执行的全部指令的集合。8051单片机指令系统功能很强,例如,它有乘、除法指令,丰富的条件转移类指令,并且使用方便、灵活。程序:要使计算机按照人的思维完成一项工作,就必须让CPU按顺序执行各种操作,即一步步地执行一条条的指令,这些按人的要求编排的指令操作序列称为程序。程序设计:编排程序的过程就叫作程序设计。程序设计语言:分为机器语言、汇编语言和高级语言。本章重点介绍汇编语言。目

2、标程序:机器语言用二进制编码表示每条指令,它是计算机能直接识别和执行的语言。用机器语言编写的程序称为机器语言程序或指令程序(机器码程序)。因为机器只能直接识别和执行这种机器码程序,所以又称它为目标程序。例如,要做10加20的加法,在MCS—5l中可用机器码指令编程:0111010000001010把10放到累加器A中00100l0000010100A加20,结果放A中为了便于书写和记忆,可采用十六进制表示指令码,以上两条指令可写成740AH2414H显然,用机器语言编写程序不易记忆、不易查错,不易修改。汇编语言

3、汇编语言是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,它与机器语言指令是一一对应的。汇编语言不象高级语言(如BASIC)那样通用性强,而是属于某种计算机所独有,与计算机的内部硬件结构密切相关。用汇编语言编写的程序叫汇编语言程序。把汇编语言源程序翻译成目标程序的过程称为汇编过程,简称汇编。完成这个任务有两种方法:①手工汇编:所谓手工汇编是程序设计人员根据机器语言指令与汇编语言指令对照表,把编好的汇编语言程序翻译成目标程序。如上述10加20的例子可写成:汇编语言程序机器语言程序MOVA,#0AH74

4、0AHADDA,#14H2414H②机器汇编:许多公司为了方便用户,编制了一些软件,能将用户编写的汇编语言源程序翻译成目标程序。在单片机应用系统中,源程序设计好后,还要翻译成二进制机器语言的目标程序,计算机才可执行,这一过程称汇编。反汇编:在分析现成产品ROM/EPROM芯片中的程序时,有时要将二进制机器语言翻译成汇编语言,该过程称为反汇编。二、指令格式8051汇编语言指令由操作码助记符字段和操作数字段两部分组成。指令格式如下:操作码〔目的操作数][,源操作数]例如:MOVA,#OOH操作码部分规定了指令所实现

5、的操作功能,由2—5个英文字母表示,例如:JB、MOV、DJNZ、LCALL等。操作数部分指出了参与操作的数据来源和操作结果存放在什么空间单元。操作数可以直接是一个数(立即数),或者是一个数据所在的空间地址,即在执行指令时从指定的地址空间取出操作数。操作码和操作数都有对应的二进制代码,指令代码由若干字节组成。805l指令系统中,有一字节、两字节或三字节指令。(1)一字节指令一字节指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。如:INCA805l单片机共有49条一字节指令。(2)双字节指令用一个字

6、节表示操作码,另一个字节表示操作数或操作数所在的地址:其指令格式为:操作码立即数或地址如:MOVA,#00H8051中有45条双字节指令。(3)三字节指令一个字节操作码,两个字节操作数。其格式如下:操作码立即数或地址立即数或地址8051单片机共有三字节指令17条如:MOV90H,#00H2伪指令伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序(机器码),它只是用来对汇编过程进行某种控制。标准的MCS—5l汇编程序(如Intel的ASM51)定义的伪指令常用的有以下几条:(1)ORG汇编起始命令格式:

7、ORG16位地址其功能是规定该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址,例如:ORG2000HSTART:MOVA,#64H既规定了标号START的地址是2000H,又规定了汇编后的第一条指令码从2000H开始存放。ORG可以多次出现在程序的任何地方,当它出现时,下一条指令的地址就由此重新定位。(2)END——汇编结束命令END命令通知汇编程序结束汇编。在END之后所有的汇编语言指令均不予以处理。(3)EQU赋值命令格式:字符名称EQU项(数或汇编符号)EQU命令是把“项”赋给“字符名称”,

8、注意这里的字符名称不等于标号(其后没有冒号),其中的项,可以是数也可以是汇编符号。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。因此,它可以是8位的、也可以是16位的。如:AAEQUR1;AA就代表了工作寄存器RlMOVA,AA;(4)DATA数据地址赋值命令格式:字符名称DATA表达式(5)DB定义字节命令格式:DB〔项或项表](6)DW定义字命令格式:DW

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。