第5个回答 2019-09-08
所示
111条指令汇总:
1
般传送
MOV
A,
#data
立即数#data送累加器A
2
MOV
direct,
#data
立即数#data送片内RAM
direct
址单元内
3
Mov
Rn
#data
立即数#data送寄存器Rn
4
Mov
@Ri,
#data
寄存器Ri内
RAM
址
立即数#data送该
址单元内
5
Mov
direct2,
direct1
direct1
址单元
数据送
direct2
址单元内
6
Mov
direct,
rn
Rn
数据送
direct
址单元内
7
Mov
Rn,
direct
direct
址单元内
数据送Rn寄存器
8
Mov
direct,
@Ri
寄存器Ri内
RAM
址
该
址单元内
数据送direct
址单元内
9
Mov
@Ri,
direct
寄存器Ri内
RAM
址
direct
址单元内
数据送该
址单元内
10
Mov
A,
Rn
寄存器Rn内
数据送累加器A
11
Mov
Rn,
A
累加器A内
数据送寄存器Rn
12
Mov
A,
direct
direct
址单元内
数据送累加器A
13
Mov
direct,
A
累加器A内
数据送direct
址单元内
14
Mov
A,
@Ri
寄存器Ri内
RAM
址
该
址单元内
数据送累加器A
15
Mov
@Ri
,
A
寄存器Ri内
RAM
址
累加器A
数据送该
址单元内
16
目
址传送
Mov
DPTR,
#data16
16位立即数送数据指针DPTR寄存器
17
字节交换
SWAP
A
累加器A高低4位数据交换
18
XCH
A,
Rn
累加器A数据
寄存器Rn内
数据交换
19
XCH
A,
direct
累加器A数据
direct
址单元内
数据交换
20
XCH
A,
@Ri
寄存器Ri内
RAM
址
该
址单元内
数据与累加器A
数据交换
21
XCHD
A,
@Ri
寄存器Ri内
RAM
址
该
址单元内
数据低4位与
低4位交换
22
与外部RAM传送
MOVX
@DPTR,
A
累加器A
数据送数据指针DPTR寄存器所指外部RAM
址单元内
23
MOVX
A
,
@DPTR
DPTR寄存器所指外部RAM
址单元内
数据送累加器A
24
MOVX
A,
@Ri
寄存器Ri内
片外RAM
址
该
址单元内
数据送累加器A
25
MOVX
@Ri,
A
寄存器Ri内
片外RAM
址
该
址单元内
数据送累加器A
26
与ROM传送
MOVC
A,
@A+DPTR
A+DPTR构
ROM
址
该
址内
数据送累加器A内
27
MOVC
A,
@A+PC
A+PC构
ROM
址
该
址内
数据送累加器A内
28
栈操作
PUSH
direct
堆栈指针SP自加1
direct
址单元
数据压进堆栈
29
POP
direct
堆栈
数据送direct
址单元
堆栈指针减1
算术运算指令
30
加
指令
ADD
A,
Rn
寄存器Rn与累加器A
数据相加
,结
保存
累加器A
31
ADD
A,
direct
direct
址单元内
数据与累加器A
数据相加
结
保存
累加器A
32
ADD
A,
@Ri
寄存器Ri内位
址
该
址单元内
数据与累加器A
数据相加
结
保存
累加器A
33
ADD
A,
#data
立即数与累加器A
数据相加
结
保存
累加器A
34
带进位加
ADDC
A,
Rn
寄存器Rn与累加器A
数据相加
再加
进位标志内
值
,结
保存
累加器A
35
ADDC
A,
direct
direct
址单元内
数据与累加器A
数据相加
再加
进位标志内
值
结
保存
累加器A
36
ADDC
A,
@Ri
寄存器Ri内
RAM
址
该
址单元内
数据与累加器A
数据相加
再加
进位标志内
值
结
保存
累加器A
37
ADDC
A,
#data
立即数与累加器A
数据相加
再加
进位标志内
值
结
保存
累加器A
38
带借位减
SUBB
A,
Rn
与累加器A
数据减
寄存器Rn
数据
再减
进位标志内
值
结
保存
累加器A
39
SUBB
A,
direct
与累加器A
数据减
direct
址单元内
数据
再减
进位标志内
值
结
保存
累加器A
40
SUBB
A,
@Ri
寄存器Ri内
RAM
址
累加器A
数据减
该
址单元内
数据
再减
进位标志内
值
结
保存
累加器A
41
SUBB
A,
#data
累加器A
数据减
立即数
再减
进位标志内
值
结
保存
累加器A
42
加1指令
INC
A
累加器A
值自加1
43
INC
Rn
寄存器Rn
值自加1
44
INC
direct
direct
址单元内值自加1
45
INC
@Ri
寄存器Ri内
RAM
址
该
址单元内
值自加1
46
INC
DPTR
数据指针寄存器DPTR内
值自加1
47
减1指令
DEC
A
累加器A
值自减1
48
DEC
Rn
寄存器Rn
值自减1
49
DEC
direct
direct
址单元内
值自减1
50
DEC
@Ri
寄存器Ri内
RAM
址
该
址单元内
值自减1
51
乘
MUL
AB
累加器A与寄存器B内
值相乘
乘积
高8位保存
B寄存器
低8位保存
累加器A
52
除
DIV
AB
累加器A
值除
寄存器B
值
商保存
累加器A
余数保存
B寄存器
53
二-十进制调整
DA
A
累加器A
结
进行十进制调整
逻辑运算指令
54
逻辑与
ANL
A,
Rn
累加器A
值
寄存器Rn
值进行与操作
结
保存
累加器A
55
ANL
A,
direct
累加器A
值
direct
址单元内
值进行与操作
结
保存
累加器A
56
ANL
A,
@Ri
寄存器Ri内
RAM
址,
累加器A
值
该
址单元内
值进行与操作
结
保存
累加器A
57
ANL
A,
#data
累加器A
值
立即数进行与操作
结
保存
累加器A
58
ANL
direct,
A
累加器A
值
direct
址单元内
值进行与操作
结
保存
direct
址单元内
59
ANL
direct,
#data
立即数
direct
址单元内
值进行与操作
结
保存
direct
址单元内
60
逻辑或
ORL
A,
Rn
累加器A
值
寄存器Rn
值进行或操作
结
保存
累加器A
61
ORL
A,
direct
累加器A
值
direct
址单元内
值进行或操作
结
保存
累加器A
62
ORL
A,
@Ri
寄存器Ri内
RAM
址,
累加器A
值
该
址单元内
值进行或操作
结
保存
累加器A
63
ORL
A,
#data
累加器A
值
立即数进行或操作
结
保存
累加器A
64
ORL
direct,
A
累加器A
值
direct
址单元内
值进行或操作
结
保存
direct
址单元内
65
ORL
direct,
#data
立即数
direct
址单元内
值进行或操作
结
保存
direct
址单元内
66
逻辑异或
XRL
A,
Rn
累加器A
值
寄存器Rn
值进行异或操作
结
保存
累加器A
67
XRL
A,
direct
累加器A
值
direct
址单元内
值进行异或操作
结
保存
累加器A
68
XRL
A,
@Ri
寄存器Ri内
RAM
址,
累加器A
值
该
址单元内
值进行异或操作
结
保存
累加器A
69
XRL
A,
#data
累加器A
值
立即数进行异或操作
结
保存
累加器A
70
XRL
direct,
A
累加器A
值
direct
址单元内
值进行异或操作
结
保存
direct
址单元内
71
XRL
direct,
#data
立即数
direct
址单元内
值进行异或操作
结
保存
direct
址单元内
72
按位取反
CPL
A
累加器A
值按位取反
73
累加器清零
CLR
A
累加器A清0
74
逻辑右移
RR
A
累加器A
值循环右移1位
75
逻辑左移
RL
A
累加器A
值循环左移1位
76
带进位右移
RRC
A
累加器A
值带进位循环右移1位
77
带进位左移
RLC
A
累加器A
值带进位循环左移1位
控制转移指令
78
条件转移
SJMP
rel
rel
址偏移量
PC加2
址加
rel作
目标
址
程序跳
目标
址继续运行
79
AJMP
addr11(a10-
a0)
addr11
11位
址
PC加2
址高5位与指令
低11位
址构
目标
址
程序跳
目标
址继续运行
80
LJMP
addr16
addr16
16位
址送程序计数器PC
使机器执行
条指令
条件转移
addr16处执行程序
81
JMP
@A+DPTR
目标
址
基
址放
DPTR
目标
址
基
址
偏移量放
累加器A
相加构
目标
址
82
条件转移
JZ
rel
If(累加器A=0)则PC加2再加
rel作
目标
址
83
JNZ
rel
If(累加器A!=0)则PC加2再加
rel作
目标
址
84
CJNE
A,
direct,
rel
If(累加器A!=
direct
址单元
值)则PC加2再加
rel作
目标
址
85
CJNE
A,
#data,
rel
If(累加器A!=
立即数)则PC加2再加
rel作
目标
址
86
CJNE
Rn,
#data,
rel
If(寄存器Rn
值!=
立即数)则PC加2再加
rel作
目标
址
87
CJNE
@Ri,
#data,
rel
寄存器Ri内
RAM
址
If(该
址单元
值!=
立即数)则PC加2再加
rel作
目标
址
88
循环转移
DJNZ
Rn,
rel
寄存器Rn
值减1
If(寄存器Rn
值!=0)则PC加2再加
rel作
目标
址
89
DJNZ
direct,
rel
Direct
址单元
值减1
If(该值!=0)则PC加3再加
rel作
目标
址
90
布尔条件转移
JC
rel
If(CY=1)则PC加2再加
rel作
目标
址
91
JNC
rel
If(CY=0)则PC加2再加
rel作
目标
址
92
JB
bit,
rel
If(bit位=1)则PC加3再加
rel作
目标
址
93
JNB
bit,
rel
If(bit位=0)则PC加3再加
rel作
目标
址
94
JBC
bit,
rel
If(bit位=1)则PC加3再加
rel作
目标
址
且bit位清0
95
调用指令
ACALL
addr11
addr11
11位
址
PC加2
址PUSH进堆栈
再
PC
址高5位与指令
低11位
址构
目标
址
程序跳
目标
址继续运行
96
LCALL
addr16
PC加3
址PUSH进堆栈
再
16位
址送PC作
目标
址
程序跳
目标
址继续运行
97
返
指令
RET
程序返
指令
堆栈
址恢复
PC
使程序
调用处
98
RETI
断程序返
指令
堆栈
址恢复
PC
使程序
调用处
99
空操作
NOP
空操作
位操作指令
100
布尔传送
MOV
C,
bit
bit位
址
值送PSW
进位标志位CY
101
MOV
bit,
C
PSW
进位标志位CY
值送bit位
址
102
位清0
CLR
C
进位标志位CY清0
103
位清0
CLR
bit
bit位
址内清0
104
位置1
SETB
C
进位标志位CY置1
105
SETB
bit
bit位
址内置1
106
位与
ANL
C,
bit
Cy
bit位
址
值进行与操作
结
送Cy
107
ANL
C,
/bit
bit位
址
值取反
再与Cy进行与操作
结构送Cy
108
位或
ORL
C,
bit
Cy
bit位
址
值进行或操作
结
送Cy
109
ORL
C,
/bit
bit位
址
值取反
再与Cy进行或操作
结构送Cy
110
位取反
CPL
C
Cy取反
111
CPL
bit
bit位
址
值取反