单片机汇编语言指令表

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A3 INC DPTR
DPTR+1→ DPTR
12
14 DEC A
A-1→A
√X X X 1 1
18~1F DEC Rn 15 DEC direct
Rn-1→ Rn
XXX X 1 1
(direct)-1→(direct) X X X X 2 1
16,17 DEC @Ri
( Ri )-1→( Ri ) X X X X 1 1
data16→ DPTR A+DPTR→A A+PC→A
对标志位影响
OA C P
VC Y √X X X √X X X XXX X
XXX X
√X X X √X X X √X X X √X X X XXX X
XXX X
√X X X
XXX X
XXX X √X X √ XXX X √X X √ XXX X
√X X X √X X X √X X X √X X X XXX X XXX X XXX X XXX X XXX X XXX X XXX X XXX X XXX X XXX X XXX X XXX X √X X X √X X X
20
JB bit,rel
30
JNB bit,rel
10
JBC bit,rel
B5
Biblioteka Baidu
CJNE A, direct, rel
B4
CJNE A,# data, rel
B8~BF CJNE Rn, # data, rel
B6~B7 CJNE @ Ri, # data, rel
D8~DF
DJNZ Rn, rel
D5
DJNZ direct, rel
00
NOP
SP→(PC)8~15,SP-1→SP SP→(PC)0~7, SP-1→SP SP→(PC)8~15,SP-1→SP SP→(PC)0~7, SP-1→SP
中断返回 PC+2→PC addr11→( PC)10~0 addr16→PC
PC+2→PC,rel→PC
附录 5 MCS-51 指令表
MCS-51 指令中所用符号和含义 Rn——当前工作寄存器组的 8 个工作寄存器(n=0~7)。 Ri—— 可用于间接寻址的寄存器,只能是当前寄存器组中的 2 个寄存器 R0、R1(i=0,1)。 direct——内部 RAM 中的 8 位地址(包括内部 RAM 低 128 单元地址和专用寄存器单元地址)。 #data——8 位常数。 #data16——16 位常数。 addr16——16 位目的地址,只限于在 LCALL 和 LJMP 指令中使用。 addr11——11 位目的地址,只限于在 ACALL 和 AJMP 指令中使用。 rel——相对转移指令中的 8 位带符号偏移量。 DPTR——数据指针,16 位寄存器,可用作 16 位地址寻址。 SP——堆栈指针,用来保护有用数据。 bit——内部 RAM 或专用寄存器中的直接寻址位。 A——累加器。 B——专用寄存器,用于乘法和除法指令或暂存器。 C——进位标志或进位位,或布尔处理机中的累加器。 @——间接寻址寄存器的前缀标志,如@Ri,@DPTR。 /——位操作数的前缀,表示对位操作数取反,如/bit。 (×)——以×的内容为地址的单元中的内容,X 为表示指针的寄存器 Ri(i=0、1)、DPTR、 SP(Ri、DPTR、SP 的内容均为地址)或直接地址单元。如:为了区别地址单元与立即数如 30H 单元与立即数 30H,注释时,表述地址单元时用括号如(30H),立即数直接表示 30H。 $——表示当前指令的地址。 <=>——表示数据交换。 ←——箭头左边的内容被箭头右边的内容所代替。
A,@ DPTR
(DPTR)→A
@ Ri,A
A→(Ri)
@DPTR,A
A→(DPTR)
direct
SP+1→SP (direct)→SP
direct
SP→(direct) SP-1→SP
A, Rn
A<=>Rn
A, direct
A<=>(direct)
A,@ Ri
A<=>( Ri)
A,@ Ri
A0~3<=>( Ri) 0~3
56,57 ANL A,@Ri
A∧( Ri )→A
√X X X 1 1
54 ANL A,#data
A∧data →A
√X X X 2 1
52 ANL direct,A
(direct)∧A→(direct) X X X X 2 1
53 ANL direct,#data
(direct)∧ data →(direct)
addr11
(PC)0~7→(SP), SP+1→SP
(PC)8~15→(SP) addr11→( PC)10~0 PC+3→PC,SP+1→SP
addr16
(PC)0~7→(SP), SP+1→SP
(PC)8~15→(SP) addr16→PC
十六进
助记符
功能
对标志位影响
OAC P
VCY √XXX √XXX X XXX X XXX
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
( Ri )→ (direct)
MOV direct ,#data MOV @Ri , A MOV @Ri ,direct
data → (direct) A→(Ri)
(direct)→(Ri)
MOV @Ri ,#data
data → (Ri)
MOV DPTR,#data16 MOVC A,@A+DPTR MOVC A,@A+PC
A+ DPTR→PC A=0,rel→PC A≠0, PC+2→PC A≠0,rel→PC A=0, PC+2→PC CY=1,rel→PC CY=0, PC+2→PC CY=0,rel→PC CY=1, PC+2→PC bit=1,rel→PC bit=0, PC+3→PC bit=0,rel→PC bit=1, PC+3→PC bit=1,rel→PC,0→bit bit=0, PC+3→PC A≠(direct), rel→PC A=(direct),PC+3→PC A≠data, rel→PC A= data,PC+3→PC Rn≠data, rel→PC Rn = data,PC+3→PC (Ri)≠data, rel→PC (Ri)=data, PC+3→PC Rn-1≠0, rel→PC Rn-1=0,PC+2→PC (direct)-1≠0, rel→PC (direct)-1=0,PC+3→PC
0→A
CPL A
A →A
RL A
A 循环左移一位
RLC A RR A RRC A SWAP A
A 带进位位循环左移一位
A 循环右移一位
A 带进位位循环右移一位
A 半字节交换
数据传送指令
MOV A,Rn MOV A,direct MOV A,@Ri
Rn→A (direct)→A ( Ri )→A
MOV A,#data MOV Rn, A MOV Rn ,direct
E6,E7 74
F8~FF A8~AF 78~7F
F5 88~8F
85 86,87
75 F6,F7 A6,A7 76,77
90 93 83
ORL A,@Ri ORL A,#data ORL direct,A
ORL direct,#data
XRL A,Rn XRL A,direct XRL A,@Ri XRL A,#data XRL direct,A
X X X √2 2
X X X √2 1 X XXX22
X XXX22
X XXX32
对标志位影响 字 周
4
制代码
22
RET
32
RETI
*1
AJMP addr11
02
LJMP addr16
80
SJMP rel
73
JMP @A+ DPTR
60
JZ rel
70
JNZ rel
40
JC
rel
50
JNC rel
C3 C2 D3 D2 B3 B2 82 B0 72 A0 A2 92
*1
12
MOVX MOVX MOVX MOVX PUSH
POP XCH XCH XCH XCHD
CLR CLR SETB SETB CPL CPL ANL ANL ORL ORL MOV MOV
ACALL
LCALL
A,@ Ri
(Ri)→A
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
XRL direct,#data
CLR A
A∨( Ri )→A A∨data →A
(direct)∨A→(direct) (direct)∨ data →(direct)
A⊕Rn→A A⊕(direct)→A A⊕( Ri )→A
A⊕data →A
(direct)⊕A→(direct) (direct)⊕ data →(direct)
空操作,PC+1→PC
O P
V XX
XX
XX XX XX √X XX XX XX XX XX XX XX XX XX XX XX XX XX XX
A C 节期 C Y 数数 XX12
XX12
XX22 XX32 XX22 XX12 XX22 XX22 XX22 XX22 XX32 XX32 XX32 X √3 2 X √3 2 X √3 2 X √3 2 XX22 X √3 2 XX11
1
十六进制 代码
助记符
功能
对标志位影响 字 周 OA C 节期
PVC Y 数数
算术运算指令
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
字周 节期 数数
12 12 12 12
X XXX22
X XXX22
√ XX X 11 √ XX X 21 √ XX X 11 √ XX X 11
X X X √1 1
X XX
21
X X X √1 1
X XX
21
X X X √1 1
X XX
21
X X X √2 2
X X X √2 2
X X X √2 2
字周 节期 数数 11 21 21
32
11 21 11 21 21
32
11
11
11 11 11 11 11
11 21 11 21 11 22 21 21 22 32 22 32 11 22 21 32 12 12
3
十六进制 代码
助记符
功能
E2,E3 E0
F2,F3 F0 C0
D0 C8~CF
C5 C6,C7 D6,D7
data →A A→Rn
(direct)→ Rn
MOV Rn ,#data
data → Rn
MOV direct , A MOV direct ,Rn
A→ (direct) direct→ Rn
MOV direct1 ,direct2 (direct2)→(direct1)
MOV direct ,@Ri
A- data -CY→A √ √ √ √ 2 1
04 INC A
A+1→A
√X X X 1 1
08~0F INC Rn
Rn+1→ Rn
XXX X 1 1
05 INC direct
(direct)+1→(direct) X X X X 2 1
06,07 INC @Ri
( Ri )+1→( Ri ) X X X X 1 1
A4 MUL AB
A*B→BA
√√X 0 1 4
84 DIV AB
A/B→A……B
√√X 0 1 4
D4 DA A
对 A 进行十进制调整 √ X √ √ 1 1
逻辑运算指令
58~5F ANL A,Rn
A∧ Rn→A
√X X X 1 1
55 ANL A,direct
A∧(direct)→A √ X X X 2 1
位操作指令
C
0→CY
bit
0→bit
C
1→CY
bit
1→bit
C
CY →CY
bit
bit →bit
C, bit
CY∧bit→CY
C, /bit C, bit
CY∧ bit →CY CY∨bit→CY
C, /bit
CY∨ bit →CY
C, bit
bit→CY
bit,C
CY→bit
控制转移指令
PC+2→PC,SP+1→SP
XXXX 3 2
48~4F ORL A,Rn 45 ORL A,direct
A∨Rn→A A∨(direct)→A
√X X X 1 1 √X X X 2 1
2
十六进制 代码
助记符
功能
46,47 44 42
43
68~6F 65
66,67 64 62
63
E4
F4
23 33 03 13 C4
E8~EF E5
相关文档
最新文档