欢迎来到天天文库
浏览记录
ID:26659270
大小:1.92 MB
页数:100页
时间:2018-11-28
《单片机学习第三章指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章80C51单片机指令系统内容提要:§3-1汇编语言与指令系统简介§3-2数据传送类指令§3-3算术运算类指令§3-4逻辑运算类指令§3-5控制转移类指令§3-6位操作类指令高级语言:§3.1指令的格式及寻址方式一、汇编语言程序设计的意义什么是程序?完成某项特定任务的指令的集合。计算机按程序一条一条地依次执行指令,从而完成指定任务。要让计算机完成各项任务,就应设计各种程序。汇编语言:机器语言:程序设计语言:用二进制代码表示指令和数据。用助记符表示指令操作功能,用标号表示操作对象。独立于机器,面向过程,接近自然语言和数学表达式.汇编语言程序的每一条语句都与计算机的某一
2、条指令对应,所以必需熟悉指令系统。指令=操作码+操作数操作码——表示了该指令所能执行的操作功能。操作数——表示参加操作的数的本身或操作数所在的地址。二、MCS-51指令格式:[标号:]操作码助记符[操作数][;注释]标号是程序员根据编程需要给指令设定的符号地址,可有可无;标号由1~8个字符组成,第一个字符必须是英文字,不能是数字或其它符号;标号后必须用冒号。操作码表示指令的操作种类,如MOV表示数据传送操作,ADD表示加法操作等。操作数或操作数地址表示参加运算的数据或数据的有效地址。操作数一般有以下几种形式:没有操作数项,操作数隐含在操作码中,如RET指令;只有一个操作
3、数,如CPLA指令;有两个操作数,如MOVA,#00H指令,操作数之间以逗号相隔;有三个操作数,如CJNEA,#00H,NEXT指令,操作数之间也以逗号相隔。注释是对指令的解释说明,用以提高程序的可读性;注释前必须加分号。MCS-51系列单片机的指令系统简介111条指令,共分五大类:数据传送类;(29条)算术运算类;(24条)逻辑运算类;(24条)控制转移类;(17条)位操作类。(17条)指令中操作数的描述符号:Rn——工作寄存器R0~R7Ri——间接寻址寄存器R0、R1Direct——直接地址,包括内部128BRAM单元地址、26个SFR地址。#data——8位常数#
4、data16——16位常数addr16——16位目的地址addr11——11位目的地址rel——8位带符号的偏移地址DPTR——16位外部数据指针寄存器bit——可直接位寻址的位A——累加器B——寄存器BC——进、借位标志位,或位累加器@——间接寄存器或基址寄存器的前缀/——指定位求反(x)——x中的内容((x))——x中的地址中的内容(间接寻址中的内容)$——当前指令存放的地址三、寻址方式寻找操作数存放单元的地址的方式,共7种方式。1、立即数寻址所要找的操作数是一二进制数或十进制数,出现在指令中,用“#”作前缀MOVA,#3AH2、寄存器寻址操作数存放在工作寄存器R0
5、~R7中,或寄存器B中。MOVR1,A3、直接寻址指令中直接给出操作数的地址。MOVA,3AHMOV30H,DPH图3.1立即数寻址示意图MovA,#3AH图3.2寄存器寻址示意图MovR1,A图3.3直接寻址示意图MovA,3AHMOV3AH,#65HMOVR0,#3AHMOVA,@R04、寄存器间接寻址指令中寄存器的内容作为操作数存放的地址,该地址里面的内容才是操作数,在工作上间接寻址寄存器前用“@”表示前缀。例如:5、变址寻址操作数地址=变地址+基地址基地址寄存器DPTR或PC变址寄存器@A该寻址方式常用于访问程序存储器,查表。如MOVCA,@A+DPTRMOVC
6、A,@A+PC图3.5变址寻址示意图MOVCA,@A+DPTR6、相对寻址把指令中给定的地址偏移量与本指令所在单元地址(PC内容)相加得到真正有效的操作数所存放的地址。例如“李同学20岁,张同学比李同学大3岁,问张同学多少岁?”这就是一个相对寻年龄的问题,而相对寻址与此类似。如JC60H;设(PC)=2000H为基址,相对偏移量为60H;;则当C=1时,转移的目的地址=2000H+2+60H7.位寻址位寻址是指按位进行的寻址操作,而上述介绍的指令都是按字节进行的寻址操作。MCS-51单片机中,操作数不仅可以按字节为单位进行操作,也可以按位进行操作。当我们把某一位作为操作
7、数时,这个操作数的地址称为位地址。位寻址区包括专门安排在内部RAM中的两个区域:一是内部RAM的位寻址区,地址范围是20H~2FH,共16个RAM单元,位地址为00H~7FH;二是特殊功能寄存器SFR中有11个寄存器可以位寻址,参见有关章节中位地址定义。图3.6位寻址示意图SETB3DH设内部RAM27H单元的内容是00H,执行SETB3DH后,由于3DH对应内部RAM27H的第5位,因此该位变为1,也就是27H单元的内容变为20H。该指令的执行过程如图3.6所示。巩固新课:1、汇编语言有何种特点?指令格式?2、MCS—51系列机共有多少
此文档下载收益归作者所有