8051寻址方式

8051单片机共有7种寻址方式

寻址方式是指令中确定操作数形式,用来确定操作数所处存储空间


1.立即寻址:在指令中直接给出操作数
MOV A, #80H 8位操作数
MOV A, #2000H 16位操作数


2.直接寻址:指令中直接给出操作数地址


(1)SFR这存储空间只能使用直接寻址
MOV PSW, #50H


(2)内部数据RAM这存储空间可以使用直接寻址和寄存器间接寻址
MOV A, 30H


3.寄存器寻址:以通用寄存器内容作为操作数(通用寄存器包括A, B, DPTR, R0~R7)


INC DPTR
注意:A、B既是通用寄存器也是SFR(直接寻址)


4.寄存器间接寻址:以寄存器中内容作为操作数地址


能够用于寄存器间接寻址寄存器有:R0 R1 DPTR SP
区分内部数据RAM寻址和外部数据RAM寻址:外部数据RAM寻址指令上采用MOVX


对内部数据RAM寻址:使用8位R0或者R1即可
MOV @R0, A


对外部数据RAM寻址:使用P2端口提供高8位地址使用R0或者R1提供低8位地址;或者使用16位DPTR提供地

MOVX A, @R1
MOVX @DPTR, A


5.变址寻址:以基址寄存器PC或者DPTR与变址寄存器A中内容之和作为操作数地址


变址寻址只能对存储器中数据进行寻址由于存储器 是只读因此变址寻址只有读操作指令上采用MOVC

MOVC A, @A+DPTR
MOVC A, @A+PC


6.相对寻址:用于修改PC值使得PC加上指令中给出字节偏移量
由于转移指令有两字节和三字节这两种形式因此偏移量范围分别为-126~+129和-125~+130
SJMP 80H


7.位寻址:以位地址中内容为操作数
SETB 20H
MOV 32H, C


总结下各种寻址方式使用场合:
立即寻址:常数
直接寻址:SFR和内部数据RAM
寄存器寻址:寄存器区
寄存器间接寻址:内部数据RAM和外部数据RAM
变址寻址:存储器
相对寻址:PC
位寻址:位地址区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值