资源描述:
《51单片机指令系统寻址方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MCS-51单片机指令系统3.1单片机指令系统概述3.2寻址方式3.3分类指令MCS-51单片机指令系统的特点:(1)指令执行快。(2)指令短,约有一半的指令为单字节指令。(3)用一条指令即可实现2个一字节的相乘或相除。(4)具有丰富的位操作指令。(5)可直接用传送指令实现端口的输入输出操作。3.1单片机指令系统概述在MCS-51指令中,一般指令主要由操作码、操作数组成。指令应具有以下功能:(1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。(2)操作数指明操作的数本身或者是操作数
2、所在的地址。(3)指定操作结果存放的地址。指令格式1.单字节指令单字节指令格式由8位二进制编码表示,例如:CLRA→E4H2.双字节指令双字节指令格式由两个字节组成,操作码和操作数,例如:MOVA,#10H→74H10H3.三字节指令三字节指令格式中,第一个字节为操作码,后两个字节为操作数,例如:MOV40H,#30H→75H40H30H一条汇编语言指令中最多包含4个区段,如下所示:[标号:]操作码[操作数][;注释]4个区段之间要用分隔符分开:标号与操作码之间用“:”隔开,操作码与操作数之
3、间用空格隔开,操作数与注释之间用“;”隔开,如果操作数有两个以上,则在操作数之间要用逗号“,”隔开(乘法指令和除法指令除外)。指令描述符号介绍Rn——当前选中的寄存器区中的8个工作寄存器R0~R7(n=0~7)。Ri——当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。direct—8位的内部数据存储器单元中的地址。#data——包含在指令中的8位常数。#data16——包含在指令中的16位常数。addr16——16位目的地址。addr11——11位目的地址。rel——8位带符号的偏移字节,简称
4、偏移量。DPTR——数据指针,可用作16位地址寄存器。bit——内部RAM或专用寄存器中的直接寻址位。A——累加器。B——专用寄存器,用于乘法和除法指令中。C——进位标志或进位位,或布尔处理机中的累加器。@——间址寄存器或基址寄存器的前缀,如@Ri,@DPTR。/——位操作数的前缀,表示对该位操作数取反,如/bit。×——片内RAM的直接地址或寄存器。(×)——由×寻址的单元中的内容。——箭头左边的内容被箭头右边的内容所代替。3.2寻址方式所谓寻址方式,就是寻找操作数地址的方式,在用汇编语言编程时,数据的存
5、放、传送、运算都要通过指令来完成。编程者必须自始至终都要十分清楚操作数的位置,以及如何将它们传送到适当的寄存器去参与运算。每一种计算机都具有多种寻址方式。寻址方式的多少是反映指令系统优劣的主要指标之一。在MCS-51单片机指令系统中,有以下7种寻址方式:(1)立即寻址;(2)直接寻址;(3)寄存器寻址;(4)寄存器间接寻址;(5)基址寄存器加变址寄存器间接寻址;(6)相对寻址;(7)位寻址。1.立即寻址立即寻址方式是指操作数包含在指令字节中。跟在指令操作码后面的数就是参加运算的数,该操作数称
6、为立即数。立即数有一字节和二字节两种可能,例如指令:MOVA,#3AHMOVDPTR,#0DFFFH2.直接寻址在指令中直接给出操作数的地址,这种寻址方式就属于直接寻址方式。在这种方式中,指令的操作数部分直接是操作数的地址。在MCS-51单片机指令系统中,直接寻址方式中可以访问3种存储器空间:(1)内部数据存储器的低128个字节单元(00H~7FH)。(2)特殊功能寄存器。特殊功能寄存器只能用直接寻址方式进行访问。(3)位地址空间。MOVA,52H;把片内RAM字节地址52H单元的内容送累加
7、器A中。MOV52H,A;把A的内容传送给片内RAM的52H单元中。MOV50H,60H;把片内RAM字节地址60H单元的内容送到50H单元中。MOVIE,#40H;把立即数40H送到中断允许寄存器IE。IE为专用功能寄存器,其字节地址为0A8H。该指令等价于MOV0A8H,#40H。INC60H;将地址60H单元中的内容自加1。3.寄存器寻址在该寻址方式中,参加操作的数存放在寄存器里。寄存器包括8个工作寄存器R0~R7,累加器A,寄存器B、数据指针DPTR和布尔处理器的位累加器C。MOVA,Rn;A(
8、Rn)其中n为0~7之一,Rn是工作寄存器。MOVRn,A;Rn(A)MOVB,A;B(A)4.寄存器间接寻址在这种寻址方式中,寄存器的内容为操作数的地址。寄存器间接寻址只能使用寄存器R0、R1作为地址指针,寻址内部RAM区的数据;当访问外部RAM时,可使用R0、R1及DPTR作为地址指针。寄存器间接寻址符号为“@”,例如:例如:MOVR0,#60H;R060HMOVA,@R0;A((R0))MOVA,