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

MCS-51 指令系统表

发布时间:2020-08-21 发布时间:
|

助记符

操作码

说明

字节

振荡周期

ACALL addrll

X1*

绝对子程序调用

2

24

ADD A,Rn

28~2F

寄存器和 A 相加

1

12

ADD A,direct

25

直接字节和 A 相加

2

12

ADD A,@R

26,27

间接 RAM 和 A 相加

1

12

ADD A,#data

24

立即数和 A 相加

2

12

ADDC A,Rn

38~3F

寄存器、进位位和 A 相加

1

12

ADDC A,dircet

35

直接字节、进位位和 A 相加

2

12

ADDC A,@R

36,37

间接 RAM 、进位位和 A 相加

1

12

ADDC A , dircet

34

立即数、进位位和 A 相加

2

12

AJMP addrll

Y1**

绝对转移

2

24

ANL A,Rn

58~5F

寄存器和 A 相 ” 与 ”

1

12

ANL A,direct

55

直接字节和 A 相 ” 与"

2

12

ANL A,@Ri

56,57

间接 RAM 和 A 相"与"

1

12

ANL A,#data

54

立即数和 A 相"与"

2

12

ANL direct , A

52

A 和直接字节相"与"

2

12

ANL direct , #data

53

立即数和直接字节相"与"

3

24

ANL C,bit

82

直接位和进位相"与"

2

24

ANL C,/bit

B0

直接位的反和进位相"与"

2

24

CJNE A,dircet,rel

B5

直接字节与 A 比较,不相等则相对转移

3

24

CJNE A,#data,rel

B4

立即数与 A 比较,不相等则相对转移

3

24

CJNE Rn,#data,rel

B8~BF

立即数与寄存器相比较,不相等则相对转移

3

24

CJNE @R,#data,rel

B6,B7

立即数与间接 RAM 相比较,不相等则相对转移

3

24

CLR A

E4

A 清零

1

12

CLR bit

C2

直接位清零

2

12

CLR C

C3

进位清零

1

12

CPL A

F4

A 取反

1

12

CPL bit

B2

直接位取反

2

12

CPL C

B3

进位取反

1

12

DA A

D4

A 的十进制加法调整

1

12

DEC A

14

A 减 1

1

12

DEC Rn

18~1F

寄存器减 1

1

12

DEC direct

15

直接字节减 1

2

12

DEC @Ri

16,17

间接 RAM 减 1

1

12

DIV AB

84

A 除以 B

1

48

DJNE Rn,rel

DB~DF

寄存器减 1 ,不为零则相对转移

3

24

DJNE direct,rel

D5

直接字节减 1 ,不为零则相对转移

3

24

INC A

04

A 加 1

1

12

INC Rn

08~0F

寄存器加 1

1

12

INC direct

05

直接字节加 1

2

12

INC @Ri

06,07

间接 RAM 加 1

1

12

INC DPTR

A3

数据指针加 1

1

24

JB bit;rel

20

直接位为 1 ,则相对转移

3

24

JBC bit,rel

10

直接位为 1 ,则相对转移,然后该位清 0

3

24

JC rel

40

进位为 1 ,则相对转移

2

24

JMP @A+DPTR

73

转移到 A + DPTR 所指的地址

1

24

JNB bit,rel

30

直接位为 0 ,则相对转移

3

24

JNC rel

50

进位为 0 ,则相对转移

2

24

JNZ rel

70

A 不为零,则相对转移

2

24

JZ rel

60

A 为零,则相对转移

2

24

LCALL addr16

12

长子程序调用

3

24

LJMP addr16

02

长转移

3

24

MOV A,Rn

E8~EF

寄存器送 A

1

12

MOV A,direct

E5

直接字节送 A

2

12

MOV A,@Ri

E6,E7

间接 RAM 送 A

1

12

MOV A,#data

74

立即数送 A

2

12

MOV Rn , A

F8~FF

A 送寄存器

1

12

MOV Rn,direct

A8~AF

直接字节送寄存器

2

24

MOV Rn,#data

78~7F

立即数送寄存器

2

12

MOV direct,A

F5

A 送直接字节

2

12

MOV direct,Rn

88~8F

寄存器送直接字节

2

24

MOV direct,direct

85

直接字节送直接字节

3

24

MOV direct,@Ri

86,87

间接 RAM 送直接字节

2

24

MOV direct,#data

75

立即数送直接字节

3

24

MOV @Ri,A

F6,F7

A 送间接 RAM

1

12

MOV @Ri,direct

A6,A7

直接字节送间接 RAM

2

24

MOV @Ri,#data

76,77

立即数送间接 RAM

2

12

MOV C,bit

A2

直接位进位

2

12

MOV bit,C

92

进位送直接位

2

24

MOV DPTR,#data16

90

16 位常数送数据指针

3

24

MOVC A,@A+DPTR

93

由 A+DPTR 寻直的程序存储器字节送 A

1

24

MOVC A,@A+PC

83

由 A+PC 寻址的程序存储字节送 A

1

24

MOVX A,@Ri

E2,E3

外部数据存储器( 8 位地址)送 A

1

24

MOVX A,@DPTR

E0

外部数据存储器( 16 位地址)送 A

1

24

MOVX @Ri,A

F2,F3

A 送外部数据存储器( 8 位地址)

1

24

MOVX @DPTR,A

F0

A 送外部数据存储器( 16 位地址)

1

24

MUL AB

A4

A 乘以 B

1

48

NOP

00

空操作

1

12

ORL A,Rn

48~4F

寄存器和 A 相"或"

1

12

ORL A,direct

45

直接字节和 A 相"或"

2

12

ORL A,@Ri

46,47

间接 RAM 和 A 相"或"

1

12

ORL A,#data

44

立接数和 A 相"或"

2

12

ORL direct,A

42

A 和直接。字节"或"

2

12

ORL dircect,#data

43

立即数和直接字节相"或"

3

24

ORL C,bit

72

直接位和进位相"或"

2

24

ORL C,/bit

A0

直接位的反和进位相"或"

2

24

POP direct

D0

直接字节退栈, SP 减 1

2

24

PUSH direct

C0

SP 加 1 ,直接字节进栈

2

24

RET

22

子程序调用返回

1

24

RETI

32

中断返回

1

24

RL A

23

A 左环移

1

12

RLC A

33

A 带进位左环移

1

12

RR A

03

A 右环移

1

12

RRC A

13

A 带进位右环移

1

12

SETB bit

D2

直接位置位

2

12

SETB C

D3

进位置位

1

12

SJMP rel

80

短转移

2

24

SUBB A,Rn

98~F

A 减去寄存器及进位位

1

12

SUBB A,direct

95

A 减去直接字节及进位位

2

12

SUBB A,@Ri

96,97

A 减去间接 RAM 及进位位

1

12

SUBB A,#data

94

A 减去立即数及进位位

2

12

SWAP A

C4

A 的高半字节和低半字节交换

1

12

XCH A,Rn

C8~CF

A 和寄存器交换

1

12

XCH A,direct

C5

A 和直接字节交换

2

12

XCH A,@Ri

C6,C7

A 和间接 RAM 交换

1

12

XCHD A,@Ri

D6,D7

A 和间接 RAM 的低四位交换

1

12

XRL A,Rn

68~6F

寄存器和 A 相"异或"

1

12

XRL A,direct

65

直接字节和 A 相"异或"

2

12

XRL A,@Ri

66,67

间接 RAM 和 A 相"异或"

1

12

XRL A , #data

64

立即数和 A 相"异或"

2

12

XRL direct,A

62

A 和直接字节相"异或"

2

12

XRL direct,#data

63

立即数和直接字节相"异或"

3

24

* X=1,3,5,7,9,B,D,F, 即 X1 为 11,31,51,71,91,B1,D1,F1

** Y=0,2,4,6,8,A,C,E, 即 Y0 为 01,21,41,61,81,A1,C1,E1



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

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单