专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

MCS-51单片机指令系统

作者:佚名   来源:本站原创   点击数:  更新时间:2007年09月17日   【字体:

第三章  MCS-51单片机指令系统

(一)  指令系统简介

1.    指令分类统计

指令总数:111条  操作码:255个  助记符:48个

单字节指令:49条                单周期指令:64条

 双字节指令:48条          双周期指令:45条

三字节指令:17条       四周期指令:2条

 

表3-1 MCS-51指令分类

数据传送指令(29)

数据处理指令(48)

位操作指令(12)

程序控制指令(22)

1)        内部传送(16)

2)        外部传送(4)

3)        查表     (2)

4)        交换     (5)

5)        栈操作   (2)

1)        算术运算(24)

2)        逻辑运算(24)

1)        位传送(2)

2)        位置值(4)

3)        位逻辑(6)

1)        调用及返回(4)

2)        无条件转移(4)

3)        条件转移  (11)

4)        循环       (2)

5)        空操作     (1)

 

2.    符号约定

ê                 Rn          表示当前工作寄存器中的R0~R7

ê                 Direct      表示对内部单元直接寻址的8位地址

ê                 lRi        表示8位地址指针lR0或lR1,地址在R0或R1中。

ê                 lDPTR      表示16位地址指针,地址在DPTR中。

ê                 #data       表示8位立即数。

ê                 #data16      表示16位立即数。

ê                 lA+基地址  表示以A为变址寄存器。

ê                 addr11      表示短转移的11位地址。

ê                 addr16      表示长转移的16位地址。

ê                 rel         表示相对转移的地址偏移量。

ê                 bit         表示位地址。

ê                 (xx)         表示XX单元的内容,如(A)表示寄存器A的内容。

ê                 ((xx))       表示以(xx)为指针,所指单元的内容。例如,

                  ((DPTR))表示数据指针DPTR所指单元的内容。

转载须保留地址:http://www.51hei.com/mcu/279.html

3.    寻址方式

F1-1  MCS-51指令系统的寻址方式

寻 址

方 式

 

寻 址 范 围

 

操作数形式

 

举  例

寄存器

寻址

R0-R7 ,DPTR

Acc,B,C(Cy 位)

 

寄存器名

MOV  R3,A

INC  DPTR

直接

寻址

  内部RAM     00H-7FH

特殊功能寄存器  80H-FFH

8位地址

SFR名

MOV  79H,SP

PUSH  P1

 

 直接

位寻址

内部RAM位寻址区 (20H-2FH):

  位地址00H-7FH

可寻址的特殊功能寄存器:

  位地址  80H-F7H

8位地址

位名

SFR名.位序

MOV  C,78H

CLR  TR0

ANL  C,P0.1

 

寄存器

间接

寻址

  以数据指针表示操作数。

  内部RAM  00H-7FH

@R0

@R1

MOV  A, @R0

ADD  A, @R1

  外部RAM或I/O端口

  00H-FFH / 0000H-FFFFH

@R0 ,@R1@DPTR

MOVX  A, @R0

MOVX  @DPTR,A

立即

寻址

  8位(二进制)立即数,

# data

MOV  A,# 1

  16位(二进制)立即数

# data16

MOV  DPTR,#2000H

基址

变址

寻址

     以变址方式读程序存贮器

 实际地址=基址+变址偏移量

 8位无符号变址偏移量由A提供

 基址由PC或DPTR提供

@A+DPTR

@A+PC

MOVC  A,@A+DPTR

MOVC  A,@A+PC

 

转 移 地 址 的 寻 址 方 式

相对

寻址

转移地址= 基址+相对偏移量rel

 基址为取指令后的PC 值

8位有符号数rel在指令中给出

rel

SJMP  0EBH

标号

SJMP  LOOP  ; 标号

直接

寻址

短转移,指令直接给出11位地址

Addr11或标号

AJMP  NEW  ; 标号

长转移,指令直接给出16位地址

Addr16或标号

LJMP  2010H

关闭窗口