×
单片机 > 单片机程序设计 > 详情

8051单片机指令和寻址方式

发布时间:2020-06-02 发布时间:
|

80C51指令系统专用于80C51系列单片机,具有255种操作码(00H-FFH)除去A5H。

1. 寻址方式

寻址方式就是指指令中给出寻找操作数或操作数所在地址的方法,执行任何指令都需要操作数。

1)立即寻址

MOV DPTR,#1234H; 立即寻址是指在指令中直接给出操作数,出现在指令中的操作数称为立即数,因此被称为立即寻址。

2)直接寻址

MOV A,3AH; 直接寻址是指在指令中直接给出操作数单元地址。功能是将片内RAM的3AH单元内的数据传送内累加器A。

直接寻址方式只能给出8位地址,因此这种寻址方式的寻址范围只限于片内RAM。具体:a.低128单元,在指令中直接以单元地址的形式给出;b.特殊功能寄存器,即可以以单元地址形式也可以以寄存器符号形式给出。直接寻址是访问SFR寄存器的唯一方法。

3)寄存器寻址

INC R0; 寄存器寻址是指指令中将指定的寄存器的内容作为操作数。该语句实现R0寄存器的自加一操作。

寄存器寻址范围: a.四个寄存器组共32个通用寄存器; b.部分特殊功能寄存器,A、AB、DPTR。

4)寄存器间接寻址

ANL A,@R1; 是指在指令中给出的寄存器内容是操作数的地址,从该地址取出的才是操作数。@前缀是区分寄存器寻址和间接寻址的标志。

寻址范围:

a.片内ram低128单元,只能采用R0或R1为间接寻址寄存器;

b.片外的64K ram单元,使用DPTR作为间接寻址寄存器;

c.片外RAM低256单元,除了用DPTR外还可以用R0或R1为间址寄存器,例如MOVX A,@R0

d.堆栈区,堆栈操作指令(PUSH和POP)

5)相对寻址

是指在指令中给出的操作数为程序转移的偏移量。如JC 80H;

6)变址寻址

是指以DPTR或PC为基址寄存器,累加器A作为变址寄存器,以两者的内容相加,形成16为的程序存储地址作为操作数地址。

如:MOVC A,@A+DPTR; 变址寻址只能对程序存储器寻址

7)位寻址

单片机有位操作功能,位寻址的范围包括:

a)片内ram中的位寻址区。有20H-2FH,共16个单元128位,可以直接使用位地址0H~7FH

b)可位寻址的SFR。共有11个可位寻址SFR,实际有83个位可位寻址。


关键字:8051  单片机指令  寻址方式

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
MSP430F5529 上手小例程2