找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3064|回复: 2
收起左侧

51单片机指令速查表

[复制链接]
ID:270431 发表于 2018-1-2 22:11 | 显示全部楼层 |阅读模式
MCS-51系列单片机指令速查表
算术运算指令 (24)
  
机器码
  
助记符
功能
对标志影响
字节数
周期数
P
OV
AC
CY
282F
ADD  A,Rn
A+Rn→A
1
1
25
ADD  A,direct
A+direct→A
2
1
2627
ADD  A,@Ri
A+((Ri))→A
1
1
24
ADD  A,#data
A+  data →A
2
1
383F
ADDC  A,Rn
A+Rn+Cy  →A
1
1
35
ADDC  A,direct
A+direct+  Cy →A
2
1
36,37
ADDC  A,@Ri
A+((Ri))+Cy  →A
1
1
34
ADDC  A,#data
A+  data +Cy →A
2
1
989F
SUBB  A,Rn
A-Rn-Cy  →A
1
1
95
SUBB  Adirect
A-direct-Cy  →A
2
1
9697
SUBB  A@Ri
A-((Ri))-Cy  →A
1
1
94
SUBB  A#data
A-  data - Cy →A
2
1
04
INC  A
A+  1 →A
×
×
×
1
1
080F
INC  Rn
Rn+  1→Rn
×
×
×
×
1
1
05
INC  direct
direct+  1 →direct
×
×
×
×
2
1
0607
INC  @Ri
((Ri))+  1 →Ri
×
×
×
×
1
1
A3
INC  DPTR
DPTR+  1 →DPTR
×
×
×
×
1
2
14
DEC  A
A-  1 →A
×
×
×
1
1
181F
DEC  Rn
Rn-  1→Rn
×
×
×
×
1
1
15
DEC  direct
direct-  1 →direct
×
×
×
×
2
1
1617
DEC  @Ri
((Ri))-  1 →Ri
×
×
×
×
1
1
A4
MUL  AB
A·B→AB
×
×
1
4
84
DIV  AB
A/B→AB
×
×
1
4
D4
DA  A
A进行十进制调整
1
1
逻辑运算指令 (25)
  
机器码
  
助记符
功能
对标志影响
字节数
周期数
P
OV
AC
CY
585F
ANL  ARn
ARn→A
×
×
×
1
1
55
ANL  Adirect
Adirect→A
×
×
×
2
1
5657
ANL  A@Ri
A((Ri))→A
×
×
×
1
1
54
ANL  A#data
A data →A
×
×
×
2
1
52
ANL  directA
directA→direct
×
×
×
×
2
1
53
ANL  direct#data
direct)∧ data →direct
×
×
×
×
3
2
484F
ORL  ARn
ARn→A
×
×
×
1
1
45
ORL  Adirect
Adirect→A
×
×
×
2
1
4647
ORL  A@Ri
A((Ri))→A
×
×
×
1
1
44
ORL  A#data
A data →A
×
×
×
2
1
42
ORL  directA
directA→direct
×
×
×
×
2
1
43
ORL  direct#data
direct)∨ data →direct
×
×
×
×
3
2
686F
XRL  ARn
ARn→A
×
×
×
1
1
65
XRL  Adirect
Adirect→A
×
×
×
2
1
6667
XRL  A@Ri
A((Ri))→A
×
×
×
1
1
64
XRL  A#data
A data →A
×
×
×
2
1
62
XRL  directA
directA→direct
×
×
×
×
2
1
63
XRL  direct#data
direct data →direct
×
×
×
×
3
2
E4
CLR  A
0 →A
×
×
×
1
1
F4
CPL  A
/A→A
×
×
×
×
1
1
23
RL  A
A循环左移一位
×
×
×
×
1
1
33
RLC  A
A带进位循环左移一位
×
×
×
×
1
1
03
RR  A
A循环右移一位
×
×
×
×
1
1
13
RRC  A
A带进位循环右移一位
×
×
×
×
1
1
C4
SWAP  A
A半字节交换
×
×
×
×
1
1
数据传送指令 (28)
  
机器码
  
助记符
功能
对标志影响
字节数
周期数
P
OV
AC
CY
E8EF
MOV  ARn
Rn→A
×
×
×
1
1
E5
MOV  Adirect
direct→A
×
×
×
2
1
E6E7
MOV  A@Ri
((Ri))→A
×
×
×
1
1
74
MOV  A#data
data →A
×
×
×
2
1
F8FF
MOV  RnA
ARn
×
×
×
×
1
1
A8--AF
MOV  Rndirect
direct→Rn
×
×
×
×
2
2
787F
MOV  Rn#data
data →Rn
×
×
×
×
2
1
F5
MOV  directA
A→direct
×
×
×
×
2
1
888F
MOV  directRn
Rn→direct
×
×
×
×
2
1
85
MOV  direct1direct2
direct2  →direct1
×
×
×
×
3
2
8687
MOV  direct@Ri
((Ri))→direct
×
×
×
×
2
2
75
MOV  direct#data
data→direct
×
×
×
×
3
2
F6F7
MOV  @RiA
ARi
×
×
×
×
1
2
A6A7
MOV  @Ridirect
direct →Ri
×
×
×
×
2
2
7677
MOV  @Ri#data
data →Ri
×
×
×
×
2
2
90
MOV  DPTR#data16
data16 →DPTR
×
×
×
×
3
1
93
MOVC A@A+DPTR
((A+DPTR))→A
×
×
×
×
1
2
83
MOVC A@A+PC
((A+PC))→A
×
×
×
×
1
2
E2E3
MOVX A@Ri
((Ri)+P2) →A
×
×
×
1
2
E0
MOVX A@DPTR
((DPTR)) →A
×
×
×
1
2
F2,F3
MOVX  @RiA
ARi+P2
×
×
×
1
2
F0
MOV  @DPTRA
ADPTR
×
×
×
×
1
2
C0
PUSH  direct
SP+1→SP  
  
direct→SP
×
×
×
×
2
2
D0
POP  direct
((direct))→direct (SP)-1→SP
×
×
×
×
2
2
C88F
XCH  ARn
A←  →Rn
×
×
×
1
1
C5
XCH  Adirect
A←  →direct
×
×
×
2
1
C6C7
XCH  A@Ri
A←  →((Ri))
×
×
×
1
1
D6D7
XCHD  A@Ri
A0--3←  →((Ri))0--3
×
×
×
1
1
位操作指令 (12)
  
机器码
  
助记符
功能
对标志位影响
字节数
周期数
P
OV
AC
CY
C3
CLR  C
0 → Cy
×
×
×
1
1
C2
CLR  bit
0 → bit
×
×
×
2
1
D3
SETB  C
1 → Cy
×
×
×
1
1
D2
SETB  bit
1 → bit
×
×
×
2
1
B3
CPL  C
/Cy → Cy
×
×
×
1
1
B2
CPL  bit
/bit → bit
×
×
×
2
1
82
ANL  Cbit
Cy)∧ bit  → Cy
×
×
×
2
2
B0
ANL  C/bit
Cy /bit  → Cy
×
×
×
2
2
72
ORL  Cbit
Cy bit  → Cy
×
×
×
2
2
A0
ORL  C/bit
Cy)∨ /bit → Cy
×
×
×
2
2
A2
MOV  Cbit
bit→  Cy
×
×
×
2
1
92
MOV  bitC
Cy→  bit
×
×
×
2
1
控制转移指令 (22)
  
机器码
  
助记符
功能
对标志影响
字节数
周期数
P
OV
AC
CY
*1
ACALL  addr11
(PC)+2→PC (SP)+1→SP (PC)L→SP
  
(SP)+1→SP
  
(PC)H→SP addr11→PC100
×
×
×
×
2
2
12
LCALL  addr16
(PC)+2→PC (SP)+1→SP (PC)L→SP
  
(SP)+1→SP (PC)H→SP addr16→PC
×
×
×
×
3
2
22
RET
((SP))→PCH (SP)-1→SP
  
((SP))→PCL (SP)-1→SP
×
×
×
×
1
2
32
RETI
((SP))PCH (SP)-1SP
  
((SP))PCL (SP)-1SP
  
从中断返回
×
×
×
×
1
2
*1
AJMP  addr11
addr11 →PC100
×
×
×
×
2
2
02
LJMP  addr16
addr16 →PC
×
×
×
×
3
2
80
SJMP  rel
(PC)+(rel) →PC
×
×
×
×
2
2
73
JMP @A+DPTR
(A)+(DPTR)→PC
×
×
×
×
1
2
60
JZ  rel
(PC)+2→PC (A)=0,(PC)+(rel)→PC
×
×
×
×
2
2
70
JNZ  rel
(PC)+2→PC (A)≠0,(PC)+(rel)→PC
×
×
×
×
2
2
40
JC  rel
(PC)+2→PC
  
(Cy)=1,(PC)+(rel)→PC
×
×
×
×
2
2
50
JNC  rel
(PC)+2→PC
  
(Cy)=0,(PC)+(rel)→PC
×
×
×
×
2
2
20
JB  bit,rel
(PC)+3→PC (bit)=1,(PC)+(rel)→PC
×
×
×
×
3
2
30
JNB  bit,rel
(PC)+3→PC (bit)≠1,(PC)+(rel)→PC
×
×
×
×
3
2
10
JBC  bit,rel
(PC)+3→PC (bit)=1,0 → bit,
  
(PC)+(rel)→PC
×
×
×
3
2
B5
CJNE A,direct,rel
(PC)+3→PC
  
(A)≠(direct),(PC)+(rel)→PC
  
(A)<(direct),1→Cy
×
×
×
3
2
B4
CJNE A,#data,rel
(PC)+3→PC
  
(A)≠data,(PC)+(rel)→PC
  
(A)<DATA,1→CY< font>
×
×
×
3
2
B88F
CJNE Rn,#data,rel
(PC)+3→PC
  
(Rn)≠data,(PC)+(rel)→PC
  
(Rn)<DATA,1→CY< font>
×
×
×
3
2
B6B7
CJNE @Ri, #data, rel
(PC)+3→PC
  
((Ri))≠data,(PC)+(rel)→PC
  
((Ri))<DATA,1→CY< font>
×
×
×
3
2
D8--DF
DJNZ  Rn,rel
(PC)+2→PC,(Rn)-1→Rn
  
(Rn)≠0,(PC)+(rel)→PC
×
×
×
×
3
2
D5
DJNZ  direct,rel
(PC)+2PC,(direct)-1direct
  
(direct)≠0,(PC)+(rel)→PC
×
×
×
×
3
2
00
NOP
空操作
×
×
×
×
1
1
伪指令(共7条)
  
伪指令
  
功能
格式
ORG
规定本条指令下面的程序和数据的起始地址
ORG  Addr16
EQU
将一个常数或汇编符号赋给字符名,相当于C语言的define
字符名  EQU  常数或汇编符号
BIT
BIT之后的位地址值赋给字符名
字符名  BIT  位地址
DB
从指定的ROM地址单元开始存入DB后面的数据,这些数据可以是用逗号隔开的字节串或括在单引号中的ASCII字符串
DB  8位数据表
DW
从指定的ROM地址开始,在连续的单元中定义双字节数据
DW  16位数据表
DS
从指令地址开始保留DS之后表达式的值所规定的存储单元数,以备后用
DS  表达式
END
用来指示源程序到此全部结束
END

51单片机指令速查表.doc

225 KB, 下载次数: 26, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:270431 发表于 2018-1-2 22:12 | 显示全部楼层
好资料分享给大家

回复

使用道具 举报

ID:7485 发表于 2018-1-3 09:08 | 显示全部楼层
我的经验:
长、短跳转(AJMP、LJMP)可以都用“JMP”。
长、短调用子程序(ACALL、LCALL)也是一样,都用CALL,keil可以自动识别。很方便,编程序时可以不用再费脑筋。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表