欢迎来到天天文库
浏览记录
ID:50066739
大小:625.00 KB
页数:56页
时间:2020-03-08
《单片机原理及应用教程 第3版 教学课件 作者 刘瑞新3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MCS-51指令系统及汇编语言程序设计3.1指令系统简介3.2寻址方式3.3指令系统3.4汇编语言程序设计基础3.5程序设计实例指令系统是一种CPU所能直接执行的所有命令的集合,CPU的主要功能是由它的指令系统来体现的。3.1指令系统简介MCS-51系列单片机指令系统共有111条指令,其中有49条单字节指令、45条双字节指令和17条三字节指令。MCS-51的指令系统中有64条指令的执行时间为一个机器周期(12个振荡周期),45条指令的执行时间为两个机器周期。3.1.1指令格式MCS-51指令系统中的
2、每一条指令都有两级指令格式:CPU可直接识别并执行的机器语言指令。汇编语言指令(简称汇编指令)。机器语言指令由二进制数“0”和“1”编码而成,也称目标代码,执行速度最快。汇编语言指令是在机器语言指令的基础上,用英文单词或英文单词缩写表示机器语言指令的操作码(助记符),用符号表示操作数或操作数的地址。汇编语言指令实际上是符号化的机器语言。MCS-51汇编语言指令格式由以下几个部分组成:[标号:]操作码[目的操作数][,源操作数][;注释]其中,[]中的项表示为可选项。标号:又称为指令地址符号,一般是由1
3、~6个字符组成,以字母开头的字母数字串,与操作码之间用冒号分开。操作码:是由助记符所表示的指令的操作功能。操作数:是指参加操作的数据或数据的地址。注释:是为该条指令作的说明,以便于阅读。操作码是指令的核心,不可缺少,其他几项根据不同指令为可选项。3.1.2指令分类及符号说明1.指令分类MSC-51的指令系统共有111条指令,分为五大类:(1)数据传送指令:片内RAM、片外RAM、程序存储器的传送指令,交换及堆栈指令。(2)算术运算类:加法、带进位加、减、乘、除、加1、减1指令。(3)逻辑运算类:逻辑与、或
4、、异或、测试及移位指令。(4)控制程序转移类:无条件转移与调用、条件转移、空操作指令。(5)布尔变量操作类:分为位数据传送、位与、位或、位转移指令。2.符号说明#data:表示指令中的8位立即数(data),“#”表示后面的数据是立即数。#data16:表示指令中的16位立即数。direct:表示8位内部数据存储器单元的地址。Rn:n=0~7,表示当前选中的寄存器区的8个工作寄存器R0~R7。Ri:i=0或1,表示当前选中的寄存器区中的2个寄存器R0、R1,可作地址指针即间址寄存器。Addr11:表示11
5、位的目的地址。Addr16:表示16位的目的地址。rel:表示一个补码形式的8位带符号的偏移量。用于SJMP和所有的条件转移指令中。DPTR:为数据指针,可用作16位的地址寄存器。bit:内部RAM或专用寄存器中的直接寻址位。/:位操作数的前缀,表示对该位操作数取反。A:累加器ACC。B:专用寄存器,用于MUL和DIV指令中。C:进位/借位标志位,也可作为布尔处理机中的累加器。@:间址寄存器或基址寄存器的前缀。$:当前指令的首地址。←:表示将箭头右边的内容传送至箭头的左边。3.2寻址方式所谓寻址方式就是寻
6、找或获得操作数的方式。MCS-51指令系统的寻址方式有以下7种:1.立即寻址在立即寻址方式中,操作数直接出现在指令中。操作数前加“#”号表示,也称立即数。指令的操作数可以是8位或16位数。例如:MOVA,#26H;A←26H指令执行结果:(A)=26H,即把立即数26H直接送到A中。2.直接寻址在直接寻址方式中,操作数的单元地址直接出现在指令中,这一寻址方式可进行内部存储单元的访问。它包括:(1)特殊功能寄存器地址空间。这也是惟一可寻址特殊功能寄存器(SFR)的寻址方式。例如:MOVTCON,A指令执行结
7、果:A的内容传送给寄存器TCON。(2)内部RAM的低128字节例如:MOVA,76H指令执行结果:内部RAM地址为76H单元的内容传送给A。3.寄存器寻址在寄存器寻址方式中,寄存器中的内容就是操作数。例如:MOVA,R1;A←(R1)指令执行结果:把寄存器R1中的内容送到累加器A中。4.寄存器间接寻址在寄存器间接寻址方式中,指定寄存器中的内容是操作数的地址,该地址对应存储单元的内容才是操作数。例如MOVA,@R0该指令的功能是将R0所指3FH单元中内容45H送A中,执行结果:(A)=45H。16位数据指
8、针DPTR作为间址寄存器。访问内部数据存储器时,用当前工作寄存器R0和R1作间址,即@R0、@R1,在堆栈操作中则用堆栈指针SP作间址。例如:MOVXA,@R1MOVX@DPTR,A5.变址寻址变址寻址方式是以程序指针PC或数据指针DPTR为基址寄存器,以累加器A作为变址寄存器,两者内容相加(即基地址+偏移量)形成16位的操作数地址,变址寻址方式主要用于访问固化在程序存储器中的某个字节。变址寻址方式有两类:(1)用程序指针PC
此文档下载收益归作者所有