51单片机的指令系统(一)


一、指令格式

在这里插入图片描述
在这里插入图片描述
其中操作码有
在这里插入图片描述
在这里插入图片描述

二、 MCS-51指令寻址方式

操作数类型
(b)─ 位寻址区和可位寻址寄存器中的一位二进制数据
字节(B)─ 8位二进制数据
(W)─ 16位双字节数据
在这里插入图片描述
在这里插入图片描述

三、立即寻址

注意:数值前加#符号表示该数是立即数
## 1.引入库

四、直接寻址

2、直接寻址
操作数的地址直接出现在指令中。
寻址对象:
①内部数据存贮器
②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。

例:
执行指令 MOV 40H, #100 后 (40H )= 64H
注意:直接寻址指令中的 40H是操作数存放在存储器中的地址而不是操作数的值

五、寄存器寻址

操作数存放在通用 寄存器中。
寻址对象:A、B、DPTR、R0~R7 。
在这里插入图片描述
A=40H,R0=40H

MUL AB ;A*B→BA,A、B为寄存器寻址

MOV B,R0 ;R0→B,R0为寄存器寻址,B为直接寻址

PUSH ACC ;ACC直接寻址

六、寄存器间接寻址

● 指令的操作数为寄存器名,寄存器中存放的是操作数的地址
MOV @R0,A ;A→(R0) 地址的内部RAM

MOVX A,@R1 ;外部RAM,地址为R1的内容→A
MOVX @DPTR,A ;A→以DPTR内容为地址的
外部RAM

寄存器间接寻址的范围:
(1)内部RAM低128字节,通用形式:MOV
指令及 @Ri(i=1或0);
(2)外部RAM的64K空间,使用间址寄存器:DPTR; 通用形式:MOVX指令,例:MOVX A, @DPTR;
也就是说访问外部的数据存储器是必须要用DPTR,后面实验会讲到
(3)外部RAM的低256字节,除用上面的DPTR,还可用间址寄存器R0和R1去寻找片外RAM的低256字节;通用形式:MOVX指令及@Ri(i=1或0);
(4)堆栈操作指令(PUSH和POP),以堆栈指针(SP)作间址寄存器的间接寻址方式。

七、变址寻址

● 变址寻址方式是单片机中用于访问程序存储器的寻址方式。
注意:是程序存储器

● 数据在程序存储器中,指令给出的寄存器中的数据为基地址和偏移地址。(数据地址 = 基地址 + 偏移地址

● 可充当变址寄存器的寄存器有 A
可充当基址寄存器的寄存器有 PC、DPTR
在这里插入图片描述
在这里插入图片描述
A=12H,DPTR=2000H

八、相对寻址

单片机中的相对寻址方式是用于改变当前PC的值,
新PC = 当前PC + 相对偏移量
● 主要用于实现程序的相对跳转。

例:1000H: SJMP 02H;( 该指令为双字节指令 )
设指令执行前 PC=1000H,执行指令后:
PC = 1004H
注意:02H 为相对偏移量,该数据为8位补码,数值范围为-128~+127

九、位寻址方式

位寻址方式是使用位地址访问位寻址区;
大家还记得这张图不?
在这里插入图片描述
在这里插入图片描述

位地址和字节地址是通过指令来区分的:
MOV A,20H ; 字节寻址(因为A是寄存器名,是一个字节底子)
MOV C,20H ; 位寻址(因为C是特殊功能寄存器的某一个位)
可供位寻址的区域
片内RAM的 20H~2FH为位寻址空间
某些SFR:其字节地址都能被8整除,共11个。
在这里插入图片描述

总结

(1)51系列单片机指令系统的特点是不同的存储空间寻址方式不同,适用的指令不同,必须进行区分,因此 七种寻址方式要熟记于心,并可以正确应用。
下一章我们更进一步巩固七种寻址方式
在这里插入图片描述

  • 2
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学工科的皮皮志^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值