51单片机学习之路(2)

  • MCS-51指令系统

指令编码格式及分类

一条指令表示计算机所完成的某种操作。它通常由操作码操作数两部分组成。例如:MOV A,R1

本系统有下列三种指令编码格式:

1、单字节指令(49条)

51单片机学习之路(2)

2、双字节指令(46条)

51单片机学习之路(2)

3、三字节指令(16条)

51单片机学习之路(2)

例如:

一字节指令空操作NOP的编码格式为:

51单片机学习之路(2)

两字节指令MOV A,#40H的编码格式为:

51单片机学习之路(2)

三字节指令MOV 20H,#3AH的编码格式为:

51单片机学习之路(2)

MOV DPTR,#1000H的编码格式为:

51单片机学习之路(2)

  • 指令分类

按指令功能分为:

数据传送类指令(29条);

算术运算类指令(24条);

逻辑运算类指令(24条);

控制转移类指令(17条);

位操作指令(17条)。

在上述111条指令中,64条指令执行时间为一个机器周期,45条指令执行时间为两个机器周期,只有乘、除法指令执行时间为四个机器周期。当主频为12MHz时,典型指令执行时间为1us。

  • 寻址方式

寻址方式是指操作数存放存储单元地址的表示形式。

MCS-51指令系统共提供七种寻址方式:

立即寻址:该方式把操作数(即立即数)包含在指令字节中。在指令格式中,在立即数前冠以符号 “#”表示立即寻址方式。

例如:

MOV A,#40H ;
MOV DPTR,#1000H ; 

存储格式为:

51单片机学习之路(2)

  • 直接寻址

该方式是把操作数的地址包含在指令字节中, 而操作数本身则存放在该地址指示的数据存储单 元中。

在指令格式中,操作数的地址直接写在指令中。

例如:

MOV A,40H ;

MOV A,40H 存储和执行示意图如下:

51单片机学习之路(2)

执行前,(40H)= 2BH

执行后,(40H)= 2BH,(A)= 2BH

  • 寄存器寻址方式

该方式把操作数存放在指定的寄存器中。 能实现这种寻址的寄存器有:R0~R7、A、B、DPTR。

  • 寄存器间接寻址方式

该方式是把操作数的所在地址存放在指定 的寄存器中。

能实现这种寻址方式的寄存器有:R0、R1、DPTR。

在指令格式中,在寄存器前面冠以符号“@”表示,例如:

51单片机学习之路(2)

设:       (R0)= 40H         (40H)= 3FH

执行前:(R0)= 40H    (40H)= 3FH

执行后:(R0)= 40H    (40H)= 3FH       (A)= 3FH

  • 基址加变址寻址方式

该方式把DPTR或PC寄存器作为基址寄存器,累加器A作为变址寄存器,(A)+(PC)或(A)+( DPTR)的和作为操作数的16位地址。

这种寻址方式的指令只有三条:

MOVC A,@A+DPTR ;    A←((A)+(DPTR))
MOVC A, @A+PC ;      A←((A)+(PC))
JMP @A+DPTR ;       跳转至(A)+(DPTR)

前两条是程序存储器读指令,用MOVC助记符。

  • 相对寻址方式

这种寻址方式是以程序计数器PC的当前值为基准,加上指令中给出的相对偏移量 rel 以形成目标地址。

  • 位寻址方式

MCS-51具有位处理功能,可以对二进制 “位”进行操作。

(1)位寻址的寻址范围

内部RAM中的20H-2FH字节地址范围, 共128位,位地址为00H-7FH

特殊功能寄存器的可寻址位。可位寻址的特殊功能寄存器有B、ACC、PSW、IP、IE、 SCON、TCON、P0~P3,共11个。

PSW中的CY作为位累加器。

下面的都是汇编的知识啦,感谢自己选修了微机原理这门课呐!!!