欢迎来到天天文库
浏览记录
ID:48062433
大小:315.50 KB
页数:12页
时间:2020-01-13
《31寻址方式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章指令系统--分类概述采用汇编语言共有33种、111条指令。按指令字节归类49条单字节指令45条双字节指令17条3字节指令按指令周期分类64条单机器周期指令45条双机器周期指令2条4机器周期指令按指令功能分类传送类指令算术运算类指令逻辑运算类指令控制转移类指令位操作指令2021/8/4P.1指令系统指令格式[标号:]操作码[目的操作数][,原操作数][;注释]例如:example1:MOVA,#0AH;将立即数送到累加器中example2:adda,#08;将累加器中的数加上8再;送回累加器MCS—51的指令通常包括操作码和操作数两部分2021/8/4P.2指令系统在指令描
2、述中使用了如下符号Rn--当前选择的8个工作寄存器R0--R7,n=0--7。@Ri--用作间接寻址的工作寄存器,i=0,1。表示寄存器间接寻址方式。direct--8位直接地址。用于寻址内部RAM或SFR。#data--8位立即数。#data16--16位立即数。addr16--16位目的地址。只限于LCALL和LJMP指令使用。addr11--11位目标地址。只限于ACALL和AJMP使用。rel--补码表示的8位偏移量。用于相对转移指令中。bit--内部RAM和SFR中的位地址。用于位寻址的指令。/bit--位地址中的位取反。2021/8/4P.3寻址方式51单片机有七种
3、寻址方式寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器间接寻址相对寻址位寻址2021/8/4P.4寄存器寻址一、寄存器寻址寄存器寻址就是操作数在寄存器中,因此指定了寄存器就得到了操作数。采用寄存器寻址方式的指令都是一字节的指令,指令中以符号名称来表示寄存器。例如:MOVA,R1这条指令的功能是把工作寄存器R1中的内容传送到累加器A中,由于操作数在R1中,因此指令中指定了R1,也就得到了操作数。寄存器寻址方式的寻址范围包括:(1)工作寄存器组R0—R7,四组共32个寄存器。值得注意的是,在指令中只能使用当前工作寄存器组中的寄存器,因此使用前可通过对PSW寄存器中的
4、位RS1和RS0的设置来选择当前工作寄存器组。(2)部分特殊寄存器ACC,B,DPTR。2021/8/4P.5直接寻址二、直接寻址直接寻址就是在指令中直接给出操作数所在单元的真实地址。这里给出的操作数直接地址为8位二进制地址。例如:MOVA,30H此指令的功能是把内部RAM单元30H中的数据传送给累加器A,指令中30H就是操作数的直接地址。直接寻址方式的寻址范围包括:(1)内部数据存储器(RAM)低128单元。(2)特殊功能寄存器(SFR)。SFR在指令的表示中除了可以以直接地址形式给出外,还可以以寄存器符号形式给出,如对累加器A,在指令中可使用其直接符号形式地址E0H,也可使
5、用其符号形式ACC。值得强调的是直接寻址方式是访问特殊功能寄存器的唯一方法。访问程序存储器用LJMPaddr16和AJMPaddr11。2021/8/4P.6寄存器间接寻址三、寄存器间接寻址寄存器间接寻址方式中,寄存器内存放的是操作数的地址即操作数是通过寄存器间接得到的。寄存器间接寻址在寄存器名称前面加上间接寻址符@。例如:MOVR1,#68HMOVA,@R1;将R1所指向的地址中的数据送到A。若R1中的数是68H,则该指令将RAM68H单元中的数送到A.等效于MOVA,68HMCS-51规定,采用R0、R1、DPTR作为间接寻址寄存器,因此,相应的寄存器间接寻址方式的寻址范围
6、也就确定了:(1)采用R0或R1作间址寄存器,可寻址片内数据存储器RAM的低128B单元和片外数据存储器的低256B单元。(2)采用DPTR作间址寄存器,可寻址片外数据存储器的整个64KB地址空间。(3)堆栈指针SP用于指示堆栈操作的地址,因此,PUSH和POP指令也是寄存器间接寻址。2021/8/4P.7立即寻址四、立即寻址立即寻址方式就是实际操作数作为指令的一部分,在指令中直接给出,取指令时,可在程序存储器中立刻取得操作数。通常把出现在指令中的操作数称为立即数。采用立即寻址方式的指令,在立即数前面加上立即寻址符“#”。例如:MOVR1,#03H;将立即数3送到R1中。除了一
7、条指令需16位长的立即数外,都是8位的立即数,这条16位的立即寻址指令是:MOVDPTR,#addr16例如:MOVDPTR,#0FFAH;将立即数0FFAH送到数据;指针DPTR中。立即寻址方式主要用来给寄存器或存储单元赋初值。2021/8/4P.8基址寄存器加变址寄存器间接寻址五、基址寄存器加变址寄存器间接寻址这种寻址方式用于寻址程序存储器的地址空间,它是以DPTR或PC为基址寄存器,以累加器A作变址寄存器,以两者的内容之和形成的16位数作为操作数地址,也称为变址寻址。例如:MOVCA,
此文档下载收益归作者所有