收藏 分享(赏)

指令系统77917.ppt

上传人:jinchen 文档编号:9818972 上传时间:2019-09-08 格式:PPT 页数:22 大小:293.50KB
下载 相关 举报
指令系统77917.ppt_第1页
第1页 / 共22页
指令系统77917.ppt_第2页
第2页 / 共22页
指令系统77917.ppt_第3页
第3页 / 共22页
指令系统77917.ppt_第4页
第4页 / 共22页
指令系统77917.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

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

2、制编码表示每条指令,它是计算机能直接识别和执行的语言。用机器语言编写的程序称为机器语言程序或指令程序(机器码程序)。因为机器只能直接识别和执行这种机器码程序,所以又称它为目标程序。 例如,要做10加20的加法,在MCS5l中可用机器码指令编程:01110100 00001010 把10放到累加器A中 00100l00 00 010100 A加 20,结果放A中 为了便于书写和记忆,可采用十六进制表示指令码,以上两条指令可写成74 0AH24 14H 显然,用机器语言编写程序不易记忆、不易查错,不易修改。,汇编语言,汇编语言是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,它与机器语

3、言指令是一一对应的。 汇编语言不象高级语言(如BASIC)那样通用性强,而是属于某种计算机所独有,与计算机的内部硬件结构密切相关。 用汇编语言编写的程序叫汇编语言程序。,二、指令格式,8051汇编语言指令由操作码助记符字段和操作数字段两部分组成。指令格式如下: 操作码 目的操作数 ,源操作数例如: MOV A, #OOH 操作码部分规定了指令所实现的操作功能,由25个英文字母表示,例如:JB、MOV、DJNZ、LCALL等。 操作数部分指出了参与操作的数据来源和操作结果存放在什么空间单元。操作数可以直接是一个数(立即数),或者是一个数据所在的空间地址,即在执行指令时从指定的地址空间取出操作数。

4、 操作码和操作数都有对应的二进制代码,指令代码由若干字节组成。,805l指令系统中,有一字节、两字节或三字节指令。(1) 一字节指令 一字节指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。如:INC A805l单片机共有49条一字节指令。 (2) 双字节指令用一个字节表示操作码,另一个字节表示操作数或操作数所在的地址:其指令格式为: 操作码 立即数或地址如:MOV A, #00H8051中有45条双字节指令。,(3) 三字节指令一个字节操作码,两个字节操作数。其格式如下: 操作码 立即数或地址 立即数或地址8051单片机共有三字节指令17条如:MOV 90H, #00H,2 伪指

5、令,伪指令不是真正的指令,无对应的机器码,在汇编时不产生目标程序(机器码),它只是用来对汇编过程进行某种控制。 标准的MCS5l汇编程序(如Intel的ASM51)定义的伪指令常用的有以下几条: (1) ORG 汇编起始命令 格式: ORG 16位地址其功能是规定该伪指令后面程序的汇编地址,即汇编后生成目标程序存放的起始地址,例如: ORG 2000H START: MOV A,#64H 既规定了标号START的地址是2000H,又规定了汇编后的第一条指令码从2000H开始存放。ORG可以多次出现在程序的任何地方,当它出现时,下一条指令的地址就由此重新定位。,(2) END 汇编结束命令 EN

6、D命令通知汇编程序结束汇编。在END之后所有的汇编语言指令均不予以处理。 (3) EQU 赋值命令 格式: 字符名称 EQU 项(数或汇编符号) EQU命令是把“项”赋给“字符名称”,注意这里的字符名称不等于标号(其后没有冒号),其中的项,可以是数也可以是汇编符号。用EQU赋过值的符号名可以用作数据地址、代码地址、位地址或是一个立即数。因此,它可以是8位的、也可以是16位的。如:AA EQU R1 ;AA就代表了工作寄存器RlMOV A, AA ;,(4) DATA 数据地址赋值命令格式: 字符名称 DATA 表达式 (5) DB 定义字节命令 格式: DB项或项表 (6) DW 定义字命令

7、格式: DW 16位数据项或项表 (7) DS 定义存储空间命令 格式: DS表达式 (8) BIT 位地址符号命令 格式: 字符名 BIT 位地址,4.2 寻址方式,寻址就是寻找指令中操作数或操作数所在地址。 寻址方式就是如何找到存放操作数的地址 把操作数提取出来的方法,它是计算机的重要性能指标之一,也是汇编语言程序设计中最基本的内容之一,必须十分熟悉,牢固掌握。,8051单片机寻址方式有七种:, 寄存器寻址 直接寻址 立即数寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址,1寄存器寻址,寄存器寻址就是由指令指出寄存器组R0R7中某一个或其它寄存器(A、B、DPTR等)的内容作为操作数。 例

8、如 MOV A, R0MOV P1, A ADD A, R0,2. 直接寻址,在指令中直接给出操作数所在存储单元的地址,称直接寻址方式。此时,指令中操作数部分是操作数所在地址。 在8051中,使用直接寻址方式可访问片内RAM的128个单元以及所有的特殊功能寄存器(SFR)。对于特殊功能寄存器,既可以使用它们的地址,也可以使用它们的名字。例如: MOV A, 3AH ;(3AH) A把片内RAM中3AH这个单元的内容送累加器A。 MOV A, P1 ;(P1口) A是把SFR中P1口内容送A,它又可写成 MOV A, 90H 其中90H是P1口的地址。,3立即数寻址,指令操作码后面紧跟的是一字节

9、或两字节操作数,用“#”号表示,以区别直接地址。例如: MOV A, 3AH ;(3AH) A MOV A, #3AH ;3AHA前者是表示把片内RAM中3AH这个单元的内容送累加器A,而后者则表示把3AH这个数 又:MOV DPTR, #2000H ;,4寄存器间接寻址,操作数的地址事先存放在某个寄存器中,寄存器间接寻址是把指定寄存器的内容作为地址,由该地址所指定的单元内容作为操作数。 8051规定R0或R1为间接寻址寄存器,它可寻址内部RAM低位地址的128字节单元内容。还可采用数据指针(DPTR)作为间接寻址寄存器,寻址外部数据存储器的64K字节空间,,例如,将片内RAM 65H单元的内

10、容47H送A,可执行指令:MOV R0, #65H ; R065H MOV A,R0 ; A(65H)指令的执行过程为:当程序执行到本指令时,以指令中所指定的工作寄存器R0内容(65H)为指针,将片内RAM 65H单元内容47H送累加器A。,5变址寻址(基址寄存器十变址寄存器间接寻址),变址寻址是以某个寄存器的内容为基地址,然后在这个基地址的基础上加上地址偏移量形成真正的操作数地址。 8051中采用数据指针DPTR或PC为变址寄存器,地址偏移量是累加器A的内容,以DPTR或PC的内容与累加器A的内容之和作为操作数的l 6位程序存储器地址。 在8051中,用变址寻址方式只能访问程序存储器,访问的

11、范围为64KB。当然,这种访问只能从ROM中读取数据而不能写入。 例如: MOVC A, A十DPTR ;(A)十(DPTR) A这种方式多用于查表操作。,6相对寻址,相对寻址只出现在相对转移指令中。 相对转移指令执行时,是以当前的PC值加上指令中规定的偏移量rel而生成实际的转移地址的,这里所说的PC的当前值是执行完相对转移指令后的PC值。 一般将相对转移指令操作码所在地址称为源地址,转移后的地址称为目的地址,则有: 目的地址源地址十2(相对转移指令字节数)十rel 例如:执行指令 SJMP rel,7 位寻址,采用位寻址方式的指令,其操作数将是8位二进制数中的某一位。在指令中给出的是位地址,即给出片内RAM某一单元中的一位。 位地址在指令中用Bit表示。例如,CLR bit 8051单片机片内RAM有两个区域可以位寻址,其一是20H一2FH的l 6个单元中的128位;其二是字节地址能被8整除的特殊功能寄存器。 在805l中,位地址常用下列两种方式表示: 直接使用位地址。对于20H一2FH的16个单元共128位的位地址分布是00H一7FH。 对于特殊功能寄存器,可以直接使用位地址,又可以直接用寄存器名字加位数表示,如PSW3等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报