资源描述:
《单片机原理与应用-第二章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章MCS-51指令系统2.1MCS-51指令系统的分类及一般说明2.2数据传送类指令2.3算术操作类指令2.4逻辑操作类指令2.5控制程序转移类指令2.6布尔变量操作类指令2.7小结每条指令在执行时要花去一定的时间,以机器周期为单位。按指令执行时间分类:单周期(64条);双周期(45条);4周期(2条)按指令的功能分类,可分为5大类:数据传送类(29条);算术运算类(24条)逻辑运算及移位类(24);控制转移类(17条)位操作类(17条)每条指令在程序存储器ROM中占据一定的空间,以字节为单位。按指令所占字节数分类:单字节(49条);双字节(46条);3字节(16条)2.1M
2、CS-51指令系统的分类和一般说明标号:操作码操作数;注释一、指令基本格式方括符[]表示可选项标号代表指令所在地址,1-8个字母/数字,“:”结尾[标号:]操作码[目的操作数][,源操作数][;注释]START:MOVA,#30H;将立即数30H传送至A中MOVDPTR,#5678H;将立即数5678H传送至DPTR⑴标号:指令的符号地址。①用于一段功能程序的识别标记或控制转移地址。指令前的标号代表该指令的地址,是用符号表示的地址。一般用英文字母和数字组成。④标号必须用冒号“:”与操作码分隔。⑵操作码:表示指令的操作功能。①操作码用助记符表示,它代表了指令的操作功能。②操作码是指
3、令的必需部分,是指令的核心,不可缺少。⑶操作数:参加操作的数据或数据地址。⑤操作数与操作码之间用空格分隔,操作数与操作数之间用逗号“,”分隔。①操作数可以是数据,也可以是数据的地址、数据地址的地址或操作数的其他信息。②操作数可分为目的操作数和源操作数。操作数可用二进制数、十进制数或十六进制数表示。④操作数的个数可以是0~3个。⑷注释:指令功能说明。①注释属于非必需项,是为便于阅读,对指令功能作的说明和注解。②注释必须以“;”开始。二、指令分类⑶按指令功能分类:可分为数据传送类、算术运算类、逻辑运算类、位操作类和控制转移类等5大类指令。80C51共有111条指令。⑴按指令长度分类:
4、可分为1字节、2字节和3字节指令。⑵按指令执行时间分类:可分为1机周、2机周和4机周指令。三、指令中常用符号分类介绍各类指令之前,先对描述指令的一些符号意义进行一些简单约定:(1)Ri和Rn:R表示当前工作寄存器区中的工作寄存器,i表示0或1,即R0和R1。n表示0~7,,即R0~R7,当前工作寄存器的选定是由PSW的RS1和RS0位决定的。(2)#data:#表示立即数,data为8位常数。#data是指包含在指令中的8位立即数。(3)#data16:包含在指令中的16位立即数。(4)rel:相对地址,以补码形式表示的地址偏移量,范围为-128~+127,主要用于无条件相对短转
5、移指令SJMP和所有的条件转移指令中。(5)addr16:16位目的地址。目的地址可在全部程序存储器的64KB空间范围内,主要用于无条件长转移指令LJMP和子程序长调用指令LCALL中。(6)addr11:11位目的地址。目的地址应与下条指令处于相同的2KB程序存储器地址空间范围内,主要用于绝对转移指令AJMP和子程序绝对调用指令ACALL指令中。(7)direct:表示直接寻址的地址,即8位内部数据存储器RAM的单元地址(0~127/255),或特殊功能寄存器SFR的地址。对于SFR可直接用其名称来代替其直接地址。(8)bit:内部数据存储器RAM和特殊功能寄存器SFR中的可直
6、接寻址位地址。(9)@:间接寻址寄存器或基地址寄存器的前缀,如@Ri,@DPTR,表示寄存器间接寻址。(10)(X):表示X中的内容。(11)((X)):表示由X寻址的单元中的内容,即(X)作地址,该地址的内容用((X))表示。(12)/和→符号:/表示对该位操作数取反,但不影响该位的原值。→表示指令操作流程,将箭头一方的内容,送入箭头另一方的单元中去。四、寻址方式寻址就是寻找操作数的地址。寻址方式:指令按地址获得操作数的方式MCS-51有七种寻址方式,且一条指令可能含多种寻址方式。寄存器寻址立即寻址寄存器间接寻址直接寻址变址寻址(基址寄存器+变址寄存器间接寻址)相对寻址位寻址(
7、1)寄存器寻址选定某寄存器,自该寄存器中读取或存放操作数,以完成指令规定的操作,称为寄存器寻址。例如:MOVA,R0;设指令执行前A=20H,R0=40H,执行指令后,A=40H?,R0=40H?解析:指令执行如下所示00100000010000000100000001000000AR0(2)立即寻址立即寻址是直接给出操作数,操作数紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器内,可以立即得到并执行,不需要另去寄存器或存储器等处寻找和取数,故称为立即寻址。该操作