51系列单片机的指令系统部分(1)

MCS-51

相关的概念

通常,一条指令是由两个部分组成,操作数和操作码。操作码用来规定指令进行什么操作,操作数则规定指令操作的对象。

寄存器:中央处理器的组成部分。是有限存贮容量的高速存贮部件,用来暂存指令,数据和地址。有指令寄存器(IR)和程序计数器(PC)

DPTR:是单片机中功能比较特殊的寄存器,是一个16位的特殊功能寄存器,——数据指针

累加器:也是一种寄存器,用来储存计算产生的中间结果。





指令系统的寻址方式

指令中说明操作所在地址的方法,就是寻址方式。

1、寄存器寻址方法

寄存器寻址方式就是操作数在寄存器中,因此指定寄存器也就得到操作数。实现寄存器寻址方式的寄存器有R0~R7、A、B、和DPTR等。

eg:MOV A,R2    ;将寄存器R2中的数据传送到累加器A中

2、直接寻址方式

直接寻址方式是指操作数直接以单元地址的形式给出,即操作数在指令中以存储单元的形式出现。其只能使用8位二进制数表示地址,所以直接寻址范围位内部RAM的底128单元和特殊功能寄存器。

eg:MOV A,30H  ;将内部RAM 30H中的数据传送到累加器A

3、寄存器间接寻址方式

寄存器间接寻址方式是指,寄存器中存放的是操作数的地址,这就造成先找到地址,之后按照地址在找到操作数,因此称之为寄存器间接寻址方式。为了与寄存器寻址方式相区分,规定为,在寄存器的名称前面加前缀“@”。

eg:MOV A,@R0    将R0寄存器的内容  为地址,把该地址单元的内容送给寄存器A

4、立即寻址方式

立即寻址方式是指操作数在指令中直接给出,通常将此操作数成为立即数,“#”是立即寻址的标志。

eg:MOV A,#20H    将立即数20H传送到累加器A中

5、变址寻址方式

变址寻址方式是为了访问程序存储器的数据表格,变址寻址是将DPTR或PC作为基地址寄存器,预先存放操作数在基地址,累加器A作为基地址偏移量即变址寄存器,累加器A中也应预先存放有被寻址操作数地址对基地址的偏移量,在指令执行时,单片机将基地址和偏移量相加所得到的16位地址作为操作数地址,已达到访问数据表格的目的

一、其是访问程序存储器ROM中数据的唯一寻址方式,寻址范围可达64KB

二、其指令只有3条

MOVE  A,@A+DPTR

MOVE A,@A+PC

JMP A,@A+DPTR(无条件转移指令)

三、变址寻址方式是用于查表操作,而数据表是建立在程序存储器RAM中

6、相对寻址方式

针对于程序转移的问题,为转移指令所采用。

地址偏移量用“rel”表示

目的地址=转移指令地址+转移指令的字节数+rel

7、位寻址方式

在单片机系统中,操作数不仅可以以字节为单位进行操作,同时还可以按位进行操作。当把8位二进制数的某一位作为操作数时,把这一位的地址称之为位地址,对位地址寻址称之为位寻址。

eg:MOVE,0D5H    ;将0D5H的位状态送给寄存器C位寻址

寄存器寻址                   工作寄存区,部分特殊功能寄存去    
直接寻址                    片内RAM低128B,特殊功能寄存器    
寄存器间接寻址             片内RAM,片外数据存储器    
立即寻址                           
变址寻址                    程序存储器    
相对寻址                 程序存储器    

    位寻址             位寻址区,SFR中可寻址位

猜你喜欢

转载自blog.csdn.net/allaoe/article/details/80113496