找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4222|回复: 2
打印 上一主题 下一主题
收起左侧

51单片机指令速查表

[复制链接]
跳转到指定楼层
楼主
ID:270431 发表于 2018-1-2 22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MCS-51系列单片机指令速查表
算术运算指令 (共24条)
  
机器码
  
助记符
功能
对标志影响
字节数
周期数
P
OV
AC
CY
28~2F
ADD  A,Rn
(A)+(Rn)→A
√
√
√
√
1
1
25
ADD  A,direct
(A)+(direct)→A
√
√
√
√
2
1
26,27
ADD  A,@Ri
(A)+((Ri))→A
√
√
√
√
1
1
24
ADD  A,#data
(A)+  data →A
√
√
√
√
2
1
38~3F
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
98~9F
SUBB  A,Rn
(A)-(Rn)-Cy  →A
√
√
√
√
1
1
95
SUBB  A,direct
(A)-(direct)-Cy  →A
√
√
√
√
2
1
96,97
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
08~0F
INC  Rn
(Rn)+  1→Rn
×
×
×
×
1
1
05
INC  direct
(direct)+  1 →direct
×
×
×
×
2
1
06,07
INC  @Ri
((Ri))+  1 →(Ri)
×
×
×
×
1
1
A3
INC  DPTR
(DPTR)+  1 →DPTR
×
×
×
×
1
2
14
DEC  A
(A)-  1 →A
√
×
×
×
1
1
18~1F
DEC  Rn
(Rn)-  1→Rn
×
×
×
×
1
1
15
DEC  direct
(direct)-  1 →direct
×
×
×
×
2
1
16,17
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
58~5F
ANL  A,Rn
(A)∧(Rn)→A
√
×
×
×
1
1
55
ANL  A,direct
(A)∧(direct)→A
√
×
×
×
2
1
56,57
ANL  A,@Ri
(A)∧((Ri))→A
√
×
×
×
1
1
54
ANL  A,#data
(A)∧ data →A
√
×
×
×
2
1
52
ANL  direct,A
(direct)∧(A)→direct
×
×
×
×
2
1
53
ANL  direct,#data
(direct)∧ data →direct
×
×
×
×
3
2
48~4F
ORL  A,Rn
(A)∨(Rn)→A
√
×
×
×
1
1
45
ORL  A,direct
(A)∨(direct)→A
√
×
×
×
2
1
46,47
ORL  A,@Ri
(A)∨((Ri))→A
√
×
×
×
1
1
44
ORL  A,#data
(A)∨ data →A
√
×
×
×
2
1
42
ORL  direct,A
(direct)∨(A)→direct
×
×
×
×
2
1
43
ORL  direct,#data
(direct)∨ data →direct
×
×
×
×
3
2
68~6F
XRL  A,Rn
(A)⊕(Rn)→A
√
×
×
×
1
1
65
XRL  A,direct
(A)⊕(direct)→A
√
×
×
×
2
1
66,67
XRL  A,@Ri
(A)⊕((Ri))→A
√
×
×
×
1
1
64
XRL  A,#data
(A)⊕ data →A
√
×
×
×
2
1
62
XRL  direct,A
(direct)⊕(A)→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
E8~EF
MOV  A,Rn
(Rn)→A
√
×
×
×
1
1
E5
MOV  A,direct
(direct)→A
√
×
×
×
2
1
E6,E7
MOV  A,@Ri
((Ri))→A
√
×
×
×
1
1
74
MOV  A,#data
data →A
√
×
×
×
2
1
F8~FF
MOV  Rn,A
(A)→(Rn)
×
×
×
×
1
1
A8--AF
MOV  Rn,direct
(direct)→Rn
×
×
×
×
2
2
78~7F
MOV  Rn,#data
data →Rn
×
×
×
×
2
1
F5
MOV  direct,A
(A)→direct
×
×
×
×
2
1
88~8F
MOV  direct,Rn
(Rn)→direct
×
×
×
×
2
1
85
MOV  direct1,direct2
(direct2)  →direct1
×
×
×
×
3
2
86,87
MOV  direct,@Ri
((Ri))→direct
×
×
×
×
2
2
75
MOV  direct,#data
data→direct
×
×
×
×
3
2
F6,F7
MOV  @Ri,A
(A)→(Ri)
×
×
×
×
1
2
A6,A7
MOV  @Ri,direct
direct →(Ri)
×
×
×
×
2
2
76,77
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
E2,E3
MOVX A,@Ri
((Ri)+P2) →A
√
×
×
×
1
2
E0
MOVX A,@DPTR
((DPTR)) →A
√
×
×
×
1
2
F2,F3
MOVX  @Ri,A
(A)→(Ri)+(P2)
√
×
×
×
1
2
F0
MOV  @DPTR,A
(A)→(DPTR)
×
×
×
×
1
2
C0
PUSH  direct
(SP)+1→SP  
  
(direct)→SP
×
×
×
×
2
2
D0
POP  direct
((direct))→direct (SP)-1→SP
×
×
×
×
2
2
C8~8F
XCH  A,Rn
(A)←  →(Rn)
√
×
×
×
1
1
C5
XCH  A,direct
(A)←  →(direct)
√
×
×
×
2
1
C6,C7
XCH  A,@Ri
(A)←  →((Ri))
√
×
×
×
1
1
D6,D7
XCHD  A,@Ri
(A)0--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  C,bit
(Cy)∧ (bit)  → Cy
×
×
×
√
2
2
B0
ANL  C,/bit
(Cy)∧ /(bit)  → Cy
×
×
×
√
2
2
72
ORL  C,bit
(Cy)∨ (bit)  → Cy
×
×
×
√
2
2
A0
ORL  C,/bit
(Cy)∨ /(bit) → Cy
×
×
×
√
2
2
A2
MOV  C,bit
(bit)→  Cy
×
×
×
√
2
1
92
MOV  bit,C
(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→PC10~0
×
×
×
×
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)-1→SP
  
((SP))→PCL (SP)-1→SP
  
从中断返回
×
×
×
×
1
2
*1
AJMP  addr11
addr11 →PC10~0
×
×
×
×
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
B8~8F
CJNE Rn,#data,rel
(PC)+3→PC
  
若(Rn)≠data,则(PC)+(rel)→PC
  
若(Rn)<DATA,则1→CY< font>
×
×
×
√
3
2
B6,B7
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)+2→PC,(direct)-1→direct
  
若(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 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶顶 踩踩
回复

使用道具 举报

沙发
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 单片机教程网

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