8051指令系统汇总表

启动及中断入口地址

0000H RESET

0003H

000BH T/C0

0013H

001BH T/C1

0023H 串口1

002BH 仅8032(8052)有

 

0033H PF1(电源故障)__DS80C320

003BH 串口2 ...

0043H INT2

004BH

0053H INT4

005BH

0063H WDTI__看门狗

 

PSW状态寄存器

CY

AC

F0

RS1

RS0

OV

-

P

进位 辅助进位    用户 寄存器选择 符号运算 出错标志 奇偶标志

标志 0 0 0                             1=奇

                        0 1 1                             0=偶

                        1 0 2

                        1 1 3

TMOD     89H

GATE

C/

M1

M0

GATE

C/

M1

M0

用于定时器/计数器T1

    用于定时器/计数器T0

 

M1

M0

方 式

    功 能

 0

方式0

13位定时器/计数器

 0

方式1

16位定时器/计数器

 1 

方式2

常数自动装入的8位定时器/计数器

 1

方式3

仅适用于T0,分为两个8位计数器,对T1停止计数

 

 

 

    PCON 87H

SMOD

SMOD0

 

 

GE1

GF0

PD

IDL

 

直接寻址 内部数据RAM寻址

 

 

 

 

 

 

Indirect RAM

255

 

Direct RAM

127

 

127  120

 

7      0

48

 

32

R7

R0   3区

31

24

 

 

 

 

R7

R0   2区

23

16

R7

R0   1区

15

8

R7

R0   0区

7

0

 

位地址(符号地址) 字节地址

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F7 B F0

F0H

E7 ACC E0

E0H

D7 PSW D0

D0H

DF IP D8

D8H

B7 P3 B0

B0H

AF IE A8

A8H

A7 P2 A0

A0H

SBUF

99H

9F SCON 98

98H

97 P1 90

90H

TH1

8DH

TH0

8CH

TL1

8BH

TL0

8AH

(TMOD)

89H

8F TCON 88

88H

(PCON)

87H

DPH

83H

DPL

82H

SP

81H

87 P0 80

80H

SFR寻址

 

MSB 位地址 LSB

2FH

7F 7E 7D 7C 7B 7A 79 78

2EH

77 76 75 74 73 72 71 70

2DH

6F 6E 6D 6C 6B 6A 69 68

2CH

67 66 65 64 63 62 61 60

2BH

5F 5E 5D 5C 5B 5A 59 58

2AH

57 56 55 54 53 52 51 50

29H

4F 4E 4D 4C 4B 4A 49 48

28H

47 46 45 44 43 42 41 40

27H

3F 3E 3D 3C 3B 3A 39 38

26H

37 36 35 34 33 32 31 30

25H

2F 2E 2D 2C 2B 2A 29 28

24H

27 26 25 24 23 22 21 20

23H

1F 1E 1D 1C 1B 1A 19 18

22H

17 16 15 14 13 12 11 10

21H

0F 0E 0D 0C 0B 0A 09 08

20H

07 06 05 04 03 02 01 00

 

SRF寄存器

地址 MSB 位寻址 LSB        

F0H

F7

F6

F5

F4

F3

F2

F1

F0

B

 

E0H

E7

E6

E5

E4

E3

E2

E1

E0

ACC

 

D0H

CY

AC

F0

RS1

RS0

OV

 

P

PSW

D7

D6

D5

D4

D3

D2

D1

D0

 

C8H

CF

CE

CD

CC

CB

CA

C9

C8

T2CON

 

B8H

  

PT2

PS

PT1

PX1

PT0

PX0

IP

  

BD

BC

BB

BA

B9

B8

 

B0H

B7

B6

B5

B4

B3

B2

B1

B0

P3

 

A8H

EA

 

ET2

ES

ET1

EX1

ET0

EX0

IE

AF

AE

AD

AC

AB

AA

A9

A8

 

A0H

A7

A6

A5

A4

A3

A2

A1

A0

P2

 

98H

SM0

SM1

SM2

REN

TB8

RB8

T1

R1

SCON

9F

9E

9D

9C

9B

9A

99

98

 

 

 

90H

97

96

95

94

93

92

91

90

P1

 

80H

87

86

85

84

83

82

81

80

P0

 

 

 

88H

定 时 器

中 断

 

T

C

O

N

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

T1标志

启动=1

停止=0

T0标志

启动=1

停止=0

中断1

标志

0 电平

1 下沿

中断1

标志

0 电平

1 下沿

8F

8E

8D

8C

8B

8A

89

88

 

IE0及IE1在中断返回前应清除(CLR IE0(IE1))。

 

EA

 

ET2

ES

ET1

EX1

ET0

EX0

 

IE

禁止中断=0

允许中断=1

 

8052

串行口

定时器

1中断

INT1

定时器

0中断

INT0

 

IP中断优先级寄存器: 1=高 0=低

  

PT2

PS

PT1

PX1

PT0

PX0

IP

  

定时器2

串行口

定时器1

INT1

定时器0

INT0

 

DPS         数据指针选择        86H

       

DPS.0

1—DPL1,DPH1;    0—DPL,DPH

 

CKCON    时钟控制        8EH

WD1

WD0

T2M

T1M

T0M

MD2

MD1

MD0

WD1,WD0—Watchdog timer;    MD2,MD1,MD0—外部RAM访问时间选择

WD1 WD0     复位时间            0    0    0    2机器周期

  1. 0     217+512            0    0    1    3机器周期(缺省)

  1. 1     220+512            0    1    0    4机器周期

  1. 0     223+512            0    1    1    5机器周期

1 1     226+512            1    0    0    6机器周期

                            1    0    1    7机器周期

                            1    1    0    8机器周期

                            1    1    1    9机器周期

 

C0H

SM0_1

SM1_1

SM2_1

REN_1

TB8_1

RB8_1

T1_1

R1_1

SCON1

 

电源管理寄存器

C4H

CD1

CD0

SWB

-

XTOFF

ALEOFF

 

DME0

PMR

DME0—1        使能片内1K MOVX SRAM

 

扩展中断使能

E8H

-

-

-

EWDI

EX5

EX4

EX3

EX2

EIE

                        DOG     INT5     INT4     INT3    INT2

看门狗控制器

D8H

SMOD_1

PRO

-

-

WDIF

WDRF

EWT

RWT

WDCON

PRO-—上电复位标志

WDIF—看门狗中断标志

WDRF—看门狗计数器复位标志

EWT-—使能看门狗计数器复位

RWT---复位看门狗计数器

 

指令表中的定义如下:

Ri=R0及R1;Rn=R0--R7;direct=内部RAM;

data=立即数(单字节或双字节)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数 据 传 送 类

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

MOV A,Rn

MOV A,direct

MOV A,@Ri

MOV A,#data

MOV Rn,A

MOV Rn,direct

MOV Rn,#data

MOV direct,A

MOV direct,Rn

MOV direct,direct

MOV direct,@Ri

MOV direct,#data

MOV @Ri,A

MOV @Ri,direct

MOV @Ri,#data

(A)←(Rn)

(A)←(direct)

(A)←((Ri))

(A)←#data

(Rn)←A

(Rn)←(direct)

(Rn)←#data

(direct)←A

(direct)←(Rn)

(direct)←(direct)

(direct)←((Ri))

(direct)←#data

((Ri))←(A)

((Ri))←(direct)

((Ri))←#data

p . . .

p . . .

p . . .

p . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

1

2

1

2

1

2

2

2

2

3

2

3

1

2

2

1

1

1

1

1

2

1

1

2

2

2

2

1

2

1

12

12

12

12

12

24

12

12

24

24

24

24

12

24

12

MOV DPTR,#data16

MOVC A,@A+DPTR

MOVC A,@A+PC

MOVX A,@Ri

MOVX A,@DPTR

MOVX @Ri,A

MOVX @DPTR,A

PUSH direct

 

POP direct

(DPTR)←#data16

(A)←((A)+DPTR)

(A)←((A)+PC)

(A)←((Ri))

(A)←((DPTR))

((Ri))←(A)

(DPTR)←(A)

(SP)←(SP)-1

((SP))←(direct)

(direct)←(SP)

(SP)←(SP)-1

. . . .

p . . .

p . . .

p . . .

p . . .

. . . .

. . . .

. . . .

 

. . . .

3

1

1

1

1

1

1

2

 

2

2

2

2

2

2

2

2

2

 

2

24

24

24

24

24

24

24

24

 

24

XCH A,Rn

XCH A,direct

XCH A,@Ri

XCHD A,@Ri

(A)<-->(Rn)

(A)<-->(direct)

(A)<-->((Ri))

(A3-0) <-->((Ri)3-0)

p . . .

p . . .

p . . .

p . . .

1

2

1

1

1

1

1

1

12

12

12

12

 

 

 

 

算 术 操 作 类

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

ADD A,Rn

ADD A,direct

ADD A,@Ri

ADD A,#data

ADDC A,Rn

ADDC A,direct

ADDC A,@Ri

ADDC A,#data

 

SUBB A,Rn

SUBB A,direct

SUBB A,@Ri

SUBB A,#data

 

INC A

INC Rn

INC @Ri

INC direct

 

DEC A

DEC Rn

DEC @Ri

DEC direct

 

INC DPTR

MUL AB

DIV AB

DA A

(A)←(A)+(Rn)

(A)←(A)+direct

(A)←(A)+((Ri))

(A)←(A)+#data

(A)←(A)+(C)+(Rn)

(A)←(A)+(C)+(direct)

(A)←(A)+(C)+((Ri))

(A)←(A)+(C)+#data

 

(A)←(A)-(C)-(Rn)

(A)←(A)-(C)-direct

(A)←(A)-(C)-((Ri))

(A)←(A)-(C)-#data

 

(A)←(A)+1

(Rn)←(Rn)+1

((Ri))←((Ri))+1

(direct)←(direct)+1

 

(A)←(A)-1

(Rn)←(Rn)-1

((Ri))←((Ri))-1

(direct)←(direct)-1

 

(DPTR)←(DPTR)+1

(AB)←(A)*(B)

(A)15-8,(B)7-0←(A)/(B)

十进制调正

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

 

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

↑ ↑ ↑ ↑

 

p . . .

. . . .

. . . .

. . . .

 

p . .

. . . .

. . . .

. . . .

 

. . . .

pov . c

pov . c

p . . c

1

2

1

2

1

2

1

2

 

1

2

1

2

 

1

1

1

2

 

1

1

1

2

 

1

1

1

1

1

1

1

1

1

1

1

1

 

1

1

1

1

 

1

1

1

2

 

1

1

1

2

 

2

4

4

1

12

12

12

12

12

12

12

12

 

12

12

12

12

 

12

12

12

24

 

12

12

12

24

 

24

48

48

12

 

 

 

 

 

 

 

 

 

 

逻 辑 操 作 类

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

ANL A,Rn

ANL A,direct

ANL A,@Ri

ANL A,#data

ANL direct,A

ANL direct,#data

 

ORL A,Rn

ORL A,direct

ORL A,@Ri

ORL A,#data

ORL direct,A

ORL direct,#data

 

XRL A,Rn

XRL A,direct

XRL A,@Ri

XRL A,#data

XRL direct,A

XRL direct,#data

 

CLR A

CPL A

 

RL A

 

RLC A

 

RR A

 

RRC A

 

SWAP A

 

(A)←(A)∧(Rn)

(A)←(A)∧(direct)

(A)←(A)∧((Ri))

(A)←(A)∧#data

(direct)←(direct)∧(A)

(direct)←(direct)∧#data

 

(A)←(A)ˇ(Rn)

(A)←(A)ˇ(direct)

(A)←(A)ˇ((Ri))

(A)←(A)ˇ#data

(direct)<-(direct)ˇ(A)

(direct)<-(direct)ˇ#data

 

(A)←(A)≮(Rn)

(A)←(A)≮(direct)

(A)←(A)≮((Ri))

(A)←(A)≮#data

(direct)←(direct)≮(A)

(direct)←(direct)≮#data

 

(A)←0

(A)←(A)

 

A7←A0

↓__↑

C←A7←A0

↓_____↑

A7→A0

↑__↓

A7→A0→C

↑_____↓

A7-4<-->A3-0

 

p . . .

p . . .

p . . .

p . . .

. . . .

. . . .

 

p . . .

p . . .

p . . .

p . . .

. . . .

. . . .

 

p . . .

p . . .

p . . .

p . . .

. . . .

. . . .

 

p . . .

p . . .

 

. . . .

 

p . . .

 

. . . .

 

p . . .

 

. . . .

 

1

2

1

2

1

3

 

1

2

1

2

2

3

 

1

2

1

2

3

 

 

1

1

 

1

 

1

 

1

 

1

 

1

 

1

1

1

1

1

2

 

1

1

1

1

1

2

 

1

1

1

1

2

 

 

1

1

 

1

 

1

 

1

 

1

 

1

 

12

12

12

12

12

24

 

12

12

12

12

12

24

 

12

12

12

12

24

 

 

12

12

 

12

 

12

 

12

 

12

 

12

 

 

 

 

 

控 制 转 移 类(1)

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

ACALL addr11

 

 

 

 

LCALL addr16

 

 

 

 

RET

 

 

 

RETI

 

 

 

AJMP addr11

 

LJMP addr16

SJMP rel

 

JMP @A+DPTR

JZ rel

 

JNZ rel

 

CJNE A,direct,rel

 

 

 

 

CJNE A,#data,rel

 

 

 

(PC)←(PC)+2, (SP)←(SP)+1

(SP)←(PC7-0)

(SP)←(SP)+1

(SP)←(PC15-8)

(PC10-0)←页地址a10-a0

(PC)←(PC)+3, (SP)←(SP)+1

(SP)←(PC7-0)

(SP)←(SP)+1

(SP)←(PC15-8)

(PC)←addr15-0

(PC15-8)←((SP)),

(SP)←(SP)-1

(PC7-0)←((SP)

(SP)←(SP)-1

(PC15-8)←((SP))

(SP)←(SP)-1

(PC7-0)←((SP)

(SP)←(SP)-1

(PC)←(PC)+2

(PC10-0)←页地址a10-a0

(PC)← addr15-0

(PC)←(PC)+2

(PC)←(PC)+rel

(PC)←(A)+(DPTR)

(PC)←(PC)+2

IF(A)=0 THEN (PC)←(PC)+rel

(PC)←(PC)+2

IF(A)≠0 THEN(PC)←(PC)+rel

(PC)←(PC)+3

IF(A)≠(direct)

THEN (PC)←(PC)+rel

IF(A)<(direct)

THEN (C)←1 ELSE (C)←0

(PC)←(PC)+3

IF(A)≠data

THEN (PC)←(PC)+rel

IF(A)<data

THEN (C)←1 ELSE (C)←0

. . . .

 

 

 

 

. . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

1

 

 

 

1

 

 

 

 

2

3

2

 

1

2

 

2

 

3

 

 

 

 

3

 

 

 

2

 

 

 

 

2

 

 

 

 

2

 

 

 

2

 

 

 

 

2

2

2

 

2

2

 

2

 

2

 

 

 

 

2

 

 

 

24

 

 

 

 

24

 

 

 

 

24

 

 

 

24

 

 

 

 

24

24

24

 

24

24

 

24

 

24

 

 

 

 

24

 

 

 

 

          

 

                控 制 转 移 类(2)

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

CJNE Rn,#data,rel

 

 

 

 

 

CJNE @Ri,#data,rel

 

 

 

 

 

DJNZ Rn,rel

 

 

 

 

DJNZ direct,rel

 

 

 

 

NOP

(PC)←(PC)+3

IF(Rn)≠data

THEN (PC)←(PC)+rel

IF(Rn)<data

THEN (C)←1 ELSE (C)←0

 

(PC)←(PC)+3

IF((Ri))≠data

THEN (PC)←(PC)+rel

IF((Ri))<data

THEN (C)←1 ELSE (C)←0

 

(PC)←(PC)+2

(Rn)←(Rn)-1

IF(Rn)>0 OR (Rn)<0

THEN (PC)←(PC)+rel

 

(PC)←(PC)+2

(direct)←(direct)-1

IF(direct)>0 OR (direct)<0

THEN (PC)←(PC)+rel

 

空操作(PC)←(PC)+1

. . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

3

 

 

 

 

 

3

 

 

 

 

2

 

 

 

 

1

2

 

 

 

 

 

2

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

1

24

 

 

 

 

 

24

 

 

 

 

 

24

 

 

 

 

24

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

布 尔 变 量 操 作 类

 

 

助 记 符

 

 

用符号表示的操作

 标 志

POVACC

CLR C

CLR bit

 

SETB C

SETB bit

CPL C

CPL BIT

 

ANL C,bit

ANL C,

ORL C,bit

ORL C,

MOV C,bit

MOV bit,C

JC rel

 

 

JNC rel

 

 

JB bit,rel

 

 

JNB bit,rel

 

 

JBC bit,rel

 

 

 

(C)←0

(bit)←0

 

(C)←1

(bit)←1

(C)←

(bit)←

 

(C)←(C)∧(bit)

(C)←(C)∧

(C)←(C)ˇ(bit)

(C)←(C)∧

(C)←(bit)

(bit)←(C)

(PC)←(PC)+2

IF(C)=1

THEN (PC)←(PC)+rel

(PC)←(PC)+2

IF(C)=0

THEN (PC)←(PC)+rel

(PC)←(PC)+3

IF(bit)=1

THEN (PC)←(PC)+rel

(PC)←(PC)+3

IF(bit)=0

THEN (PC)←(PC)+rel

(PC)←(PC)+3

IF(bit)=1

THEN (PC)←(PC)+rel

(bit)←0

. . . ↑

. . . .

 

. . . ↑

. . . .

. . . ↑

. . . .

 

 

. . . ↑

. . . ↑

. . . ↑

. . . ↑

. . . ↑

. . . .

. . . .

 

 

. . . .

 

 

. . . .

 

 

. . . .

 

 

. . . .

 

 

 

1

2

 

1

2

1

 

2

 

 

2

2

2

2

2

2

2

 

 

2

 

 

3

 

 

3

 

 

3

 

 

 

1

1

 

1

1

1

 

1

 

 

2

2

2

2

2

2

2

 

 

2

 

 

2

 

 

2

 

 

2

 

 

 

12

12

 

12

12

12

 

12

 

 

24

24

 

24

 

24

24

24

 

 

24

 

 

24

 

 

24

 

 

24

 

 

 

 

 

 

posted on 2009-03-09 13:07  光影  阅读(1010)  评论(0编辑  收藏  举报

导航