您的位置:首页 > 其它

8051寻址方式

2013-03-06 15:23 471 查看
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

位寻址:位地址区
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: