2024年4月2日发(作者:)

指 令 集(111条)

助 记 符

MOV A,Rn

MOV A,data

MOV A,@Ri

MOV A,#data

MOV Rn,A

MOV Rn,data

MOV Rn,#data

MOV data,A

MOV data,Rn

MOV data,data

MOV data,@Ri

MOV data,#data

MOV @Ri,A

MOV @Ri,data

MOV @Ri,#data

MOV DPTR,#data16

MOV C,bit

MOV bit,C

MOVC A,@A+DPTR

MOVC A,@A+PC

MOVX A,@Ri

MOVX A,@DPTR

MOVX @Ri,A

MOVX @DPTR,A

PUSH data

POP data

XCH A,Rn

XCH A,data

XCH A,@Ri

XCHD A,@Ri

ANL A,Rn

ANL A,data

ANL A,@Ri

ANL A,#data

ANL data,A

ANL data,#data

ANL C,bit

ANL C,/bit

说明

1.数据传送指令(30条)

寄存器送 A

直接字节送A

间接RAM 送A

立接数送 A

A 送寄存器

直接数送寄存器

立即数送寄存器

A 送直接字节

寄存器送直接字节

直接字节送直接字节

间接 Rn 送直接字节

立即数送直接字节

A 送间接 Rn

直接字节送间接Rn

立即数送间接 Rn

16 位常数送数据指针

直接位送进位位

进位位送直接位

A+DPTR 寻址程序存贮字节送 A

A+PC 寻址程序存贮字节送A

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

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

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

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

直接字节进栈道,SP 加1

直接字节出栈,SP 减1

寄存器与 A 交换

直接字节与A 交换

间接Rn 与A 交换

间接Rn 与A 低半字节交换

2.逻辑运算指令(35条)

寄存器与到A

直接字节与到A

间接RAM与到A

立即数与到A

A与到直接字节

立即数与到直接字节

直接位与到进位位

直接位的反码与到进位位

字节 周期 代 码

1

2

1

2

1

2

2

2

2

3

2

3

1

1

2

3

2

2

3

1

1

1

1

1

2

2

1

2

1

1

1

2

1

2

2

3

2

2

1

1

1

1

1

2

1

1

1

2

2

2

2

1

2

1

1

2

2

2

2

2

2

2

2

2

1

1

1

1

1

1

1

1

1

2

2

2

E8--EF

E5

E6--E7

74

F8--FF

A8--AF

78--7F

F5

88—8F

85

86;87

75

F6;F7

A6;A7

76;77

90

A2

92

93

83

E2;E3

E0

F2;F3

F0

C0

D0

C8—CF

C5

C6;C7

D6;D7

58—5F

55

56;57

54

52

53

82

B0

- 1 -

ORL A,Rn

ORL A,data

ORL A,@Ri

ORL A,#data

ORL data,A

ORL data,#data

ORL C,bit

ORL C,/bit

XRL A,Rn

XRL A,data

XRL A,@Ri

XRL A,#data

XRL data,A

XRL data,#data

SETB C

SETB bit

CLR A

CLR C

CLR bit

CPL A

CPL C

CPL bit

RL A

RLC A

RR A

RRC A

SWAP A

ADD A,Rn

ADD A,data

ADD A,@Ri

ADD A,#data

ADDC A,Rn

ADDC A,data

ADDC A,@Ri

ADDC A,#data

SUBB A,Rn

SUBB A,data

SUBB A,@Ri

SUBB A,#data

INC A

INC Rn

INC data

寄存器或到A

直接字节或到A

间接RAM或到A

立即数或到A

A或到直接字节

立即数或到直接字节

直接位或到进位位

直接位的反码或到进位位

寄存器异或到A

直接字节异或到A

间接RAM异或到A

立即数异或到A

A异或到直接字节

立即数异或到直接字节

进位位置 1

直接位置 1

A清0

进位位清 0

直接位清 0

A求反码

进位位取反

直接位取反

A循环左移一位

A 带进位左移一位

A右移一位

A 带进位右移一位

A 半字节交换

3.算术运算指令(24条)

寄存器加到A

直接字节加到A

间接RAM 加到A

立即数加到A

寄存器带进位加到 A

直接字节带进位加到A

间接RAM 带进位加到A

立即数带进位加到 A

从A 中减去寄存器和进位

从A 中减去直接字节和进位

从A 中减去间接RAM 和进位

从A 中减去立即数和进位

A加1

寄存器加 1

直接字节加1

1

2

1

2

2

3

2

2

1

2

1

2

2

3

1

2

1

1

2

1

1

2

1

1

1

1

1

1

2

1

2

1

2

1

2

1

2

1

2

1

1

2

1

1

1

1

1

2

2

2

1

1

1

1

1

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

48—4F

45

46;47

44

42

43

72

A0

68—6F

65

66;67

64

62

63

D3

D2

E4

C3

C2

F4

B3

B2

23

33

03

13

C4

28—2F

25

26;27

24

38—3F

35

36;37

34

98—9F

95

96;97

94

04

08—0F

05

- 2 -

INC @Ri

INC DPTR

DEC A

DEC Rn

DEC data

DEC @Ri

MUL AB

DIV AB

DA A

4.转移指令(22条)

AJMP addr 11

LJMP addr 16

SJMP rel

JMP @A+DPTR

JZ rel

JNZ rel

JC rel

JNC rel

JB bit,rel

JNB bit,rel

JBC bit,rel

CJNE A,data,rel

CJNE A,#data,rel

CJNE @Ri,#data,rel

CJNE Rn,#data,rel

DJNZ Rn,rel

DJNZ data,rel

ACALL addr 11

LCALL addr 16

RET

RETI

NOP

间接RAM 加1

数据指针加1

A减1

寄存器减 1

直接字节减1

间接RAM 减1

A乘B

A被B除

A十进制调整

绝对转移

长转移

短转移

相对于DPTR 间接转移

若A=0 则转移

若A≠0 则转移

若C=1 则转移

若C≠1 则转移

若直接位=1 则转移

若直接位=0 则转移

若直接位=1 则转移且清除

直接数与 A 比较,不等转移

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

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

立即数与寄存器比较不等转移

寄存器减 1 不为0 转移

直接字节减1 不为 0 转移

绝对子程序调用

子程序调用

子程序调用返回

中断程序调用返回

空操作

1

1

1

1

2

1

1

1

1

2

3

2

1

2

2

2

2

3

3

3

3

3

3

3

2

3

2

3

1

1

1

1

2

1

1

1

1

4

4

1

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

2

1

06;07

A3

14

18—1F

15

16;17

A4

84

D4

*1

02

80

73

60

70

40

50

20

30

10

B5

B4

B6;B7

B8—BF

D8—DF

D5

*1

12

22

32

00

- 3 -