找回密码
 注册
关于网站域名变更的通知
查看: 275|回复: 3
打印 上一主题 下一主题

单片机教程-附录:51单片机指令表

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-17 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
此表主要是为了方便大家查阅每条指令的作用,写法以及字节数和周期数,建议大家保存为书签。$ j0 M) p) W" z" ~9 [5 f/ @
助记符
; C: }' o6 }8 o( t# m
指令说明
  n1 t2 M% B0 {7 g. l# a0 {. p
字节数) U( s, `" X! L/ B
周期数
* m; u* \/ U+ u/ o. f/ }* w
(数据传递类指令)
MOV1 M) g  q: D$ b' X! }; [
A,Rn9 ^$ k# s# b/ |- H8 S, s. i( }
寄存器传送到累加器3 V, j4 E/ A' R2 _. j: ?
1
3 q/ `0 `: D" ^: _7 K
1
2 ?+ c5 o2 g. x8 s, j% \/ r
MOV
8 }1 \8 i9 T. H: J# C" h6 {7 T+ C
A,direct
" _1 x+ S4 T6 I7 E
直接地址传送到累加器
* V4 ?  ?7 @9 q7 a
2* K" I' V3 y% K# _5 G
1
( {' Q8 ^( J- D
MOV+ g4 [% Q. ]" F; n
A,@Ri! F1 Z! Y0 }- `  A
累加器传送到外部RAM(8 地址)0 F2 v. S  r# C1 o* G, U- X2 y
1
9 D4 t! {  \9 W7 `/ G- b! g. ^
1* g$ F  z/ z" R; i& u
MOV
6 b+ z' m3 i& G. f8 e7 U
A,#data
; a1 a# ?2 }4 P* u, _5 X
立即数传送到累加器
2 Z' d: m: ?: k# I# P0 g; b+ i' F
2
3 }" G# M0 ~7 ^" r# [5 b# G' @7 C
19 Y9 ~% c4 b6 V
MOV7 I% H, d4 d& S. o8 V0 g" C* ?
Rn,A# W% i& C0 `8 T( }
累加器传送到寄存器
0 A" m! p/ W: c
1
; U% E7 I  o% f3 L& O' U
1
$ ^5 H/ J4 m. U0 F4 U1 A) A
MOV" X' m! M/ M( ~/ z7 |
Rn,direct2 H9 z8 X! }+ ~  U7 D0 Y
直接地址传送到寄存器
+ h, a1 }7 X3 v$ b0 r2 |% X/ P
26 R5 [. [. A5 ~
2
, ?( B: w8 @2 c6 ~8 w
MOV0 }- ?6 Y/ N) P* u
Rn,#data% p% u1 G$ c. a0 u
累加器传送到直接地址
" ^% j' d) O5 [0 x. c- N
2
0 j/ h5 U* |. P6 M( Y
1
, H* h/ J. e7 @
MOV
+ D* f5 z# x; e* x7 r1 P3 K
direct,Rn- R2 j1 {' j$ f" l4 Z) t; w' ]
寄存器传送到直接地址
1 s6 {2 N# g$ n6 O# g! N& |' G
2
. H, U6 E. z# ?) q# ~* {: b* c
1
& L6 _2 G% {7 i' j" K, j
MOV- l2 o+ S; w8 n
direct,direct
# r8 l- u3 B5 v+ S3 u
直接地址传送到直接地址9 C' r/ F7 [) d$ @9 z" S. P6 q
3
' K2 I) ]1 z8 s* u
25 i3 R. y9 \$ l2 S! O8 n
MOV
& b: n8 A0 d& b$ `
direct,A
( _" y! @  h* e  t
累加器传送到直接地址
& d4 x4 H+ [2 U1 f7 c: Q! l+ N0 i( H
28 [( c! l  y( s& x; U
1
. Y( L- {/ c( Z. q3 M
MOV
* M# h' q- C/ j3 I
direct,@Ri
) U  O6 d. b8 B/ i
间接RAM 传送到直接地址
7 v5 t$ _$ X" I- V
2" `8 ?0 b7 U+ t0 a; C
22 b/ Y9 F0 b" q) t$ z; f) R4 h/ t5 K
MOV- W# `7 l; i$ H/ i
direct,#data9 b5 y$ U2 j# u1 f& s  x# p! T
立即数传送到直接地址
1 K) {& Q1 N! I0 W) P" z
3% y7 b7 _: k8 l7 q% O! n8 r/ y
2! @1 V0 S5 h' S/ m3 I9 r% \7 N( W
MOV$ z2 a+ s" m- N, g# w0 p/ B6 C( G
@Ri,A
$ U& D; n" l1 l* J& U
直接地址传送到直接地址7 M$ |, b* t$ d8 C; u% Y. `0 i
1
* `8 C0 O) N; h  u1 [( F
2
6 f4 l- G% i4 _6 U9 |% O+ m
MOV/ V. q4 x0 P! i0 [0 t
@Ri,direct
$ E- t& N" r( J% J
直接地址传送到间接RAM
6 {" ^  v! E' E$ T9 Q2 Z
2
* I& U4 D1 {0 G0 E8 S
1, j* I9 ?6 R5 [7 g) h: d
MOV  c1 Y0 y3 g; S" l4 i
@Ri,#data
/ t) ^6 D- A0 _0 T" s/ ~
立即数传送到间接RAM7 B; D' X. [5 R& W, A+ K- k
2
( g' C5 |9 D3 E0 q$ d3 F
29 x* U  T+ g  c, ^
MOV
8 L" x4 x! r0 [. T# V- ~. j
DPTR,#data16* v. }# C, x$ I
16 位常数加载到数据指针
8 O" t- }& A. l9 d0 \* `
33 M' t" t% ^; p& t$ y8 n0 Y
1. H. V6 X; C, m5 O
MOVC
: v6 V0 T: f4 @+ i
A,@A+DPTR
$ s. q- V3 l# C5 y+ I9 N+ u
代码字节传送到累加器
7 S% V% h, u0 ^) w0 B. S
1
( v+ M' [0 @* ~! h0 K+ i
2& i0 ^3 O5 a; Q# J+ s8 d
MOVC
+ _+ g9 o. D- D, g6 G# t
A,@A+PC/ s% H& L/ _5 R% O2 W0 M2 H
代码字节传送到累加器
! e/ }8 W' c" S+ D) Q
1: J2 |. X$ m0 x  a  y* B$ G
2  X' \# e6 y+ Z7 z+ B
MOVX9 I- [, Y& c1 q5 {4 v7 s
A,@Ri# d+ U/ W+ S6 n
外部RAM(8 地址)传送到累加器+ r, F, W, P9 x$ l. `
1
# P6 J# h6 N6 b, d) S, F
2' n3 z- D2 O9 c3 d# x7 `) y
MOVX  B8 [. ~: X3 g  j8 f- W' f9 Y
A,@DPTR9 Q6 f' z7 ?4 s/ }- M' p
外部RAM(16 地址)传送到累加器
5 Y5 V* G) \( T
1
% B) I  @' |4 n2 E
2
1 V4 ?! n3 [# [9 M; B  o9 Y
MOVX
5 f2 E! D3 l$ N4 I: j4 o% T/ \" }
@Ri,A
0 L1 y2 h, m+ F4 ?6 @" J- K
累加器传送到外部RAM(8 地址)
! `. Z- ]8 k& w1 O% `0 k, _
1( I  B8 }! g" b6 b" N5 k
2
6 K6 D4 {8 h/ u( }$ O
MOVX
& D2 Q6 j! p; ?  _, X( f
@DPTR,A
3 V, }% Y/ r% M- t2 \- R5 c
累加器传送到外部RAM(16 地址)
: d$ b' S) \4 a; ?4 Q: I
1
3 g+ [0 Y+ W% [0 i( J" n3 ^1 R
2# ^7 f* D1 F- V! W8 p
PUSH
. p, f0 a, K4 u5 Z% e4 o9 M
direct
5 K6 w/ P1 k8 M
直接地址压入堆栈- E$ r2 {% `& A  e& `3 c# N/ x7 Q
2# S/ J. A" _: r% f
2
3 x( c. ~1 b( C7 T( N# V" p
POP# b8 Q1 q7 w$ K& |8 e
direct% |6 L6 t$ A* o5 ^) k  x1 q
直接地址弹出堆栈7 `. h( I( f" V& O( ?8 y' S
2
0 G' U8 S; r$ ~" p; P& i9 t& l/ f1 q3 P8 j
2; P' \  {) Z/ [; R9 c+ h9 V; H
XCH
- r' o9 b0 x6 G9 {; Q) Z
A,Rn
1 b. |- H8 q/ d" J0 Q4 I+ }
寄存器和累加器交换% b/ q+ m& b2 z3 j
1
6 U- }# N% D1 T# _6 D+ v
1! V. J/ Q/ U* }3 s7 ^
XCH
% A2 b0 {, }) W3 P; h' }
A, direct) P% E- V9 l; \4 \7 j
直接地址和累加器交换1 I; z- x$ ?* U/ L
25 B3 U) S7 s- P& N4 Y* m
1
1 g, v+ j9 d" x5 p
XCH7 y" L' V( u0 x  p1 h/ o
A, @Ri! O# r1 [# }: Z; D4 O6 J; [+ r
间接RAM 和累加器交换3 S4 w4 N; I3 Q6 |& I
1
0 w$ W. u" f- P4 o# E
1
1 z/ w, k( |+ |1 x* C
XCHD
/ ]" e' O. O* i; A4 v' U( H9 o
A, @Ri
; U0 O# a: d9 Y9 j7 \# l
间接RAM 和累加器交换低4 位字节( ~, v: \) r* n; r
1
3 f/ \  a# I+ R3 [( e& q
1. b5 ?" o3 W4 G( E" e( r
(算术运算类指令)
INC8 Z( t9 ~# y' X0 y% u2 X" S; p
A" M$ E' S5 q' x: e# _1 h* b0 q
累加器加1$ w+ K4 [3 r, z8 n$ T7 m# @* V5 ?  j
1
% {' r! X7 R' [7 H2 K1 A4 b) G
1
! Q; y, @6 P) Q- X
INC
3 d% G' l& M) L# w& U  E
Rn7 E* e6 w" Y- B3 q- K  z5 ]) E- z
寄存器加1; A( C8 U! j7 U) v( y
1) V. a) J5 L% f# O0 H$ a
13 |3 b* K4 ?/ c/ f
INC
  `5 ?; R5 m: `) u) B$ y; M
direct, ^! y1 B* C! A, [$ O
直接地址加1
6 s* S* G8 u. k& T/ I6 e) v
2# n6 N: k4 `( E8 X! M/ M
1# _7 ~1 O5 x+ `/ ~" m% y
INC
; f0 V; l+ g' A$ @  ~
@Ri5 k5 n: K( z) i" a4 R  S" `, t4 _$ e
间接RAM 加14 ]) M# ^8 o& G
1+ ]0 f7 v7 U/ \( w
1
% F5 s1 R+ z% n6 j$ t5 I
INC
+ K% b# d1 `; G% M2 P' @  i6 u# B
DPTR0 P' W) X) t; p  R% n
数据指针加11 q! Q/ q, A8 A
1
6 a. S) o6 T' H' X
21 f' |/ T: i' `: w4 b. S
DEC
( X: S; a3 B$ A8 ~( M* z: P
A
0 F& ^  ^8 C8 ]) W+ ^
累加器减19 S( h; j  t: [  M) B6 E
14 u, [: x; A; R- Q1 d' ]
16 Y$ t7 J! p4 k0 q7 q- e4 z
DEC) m5 u& o% }* u* _9 y7 |
Rn
8 A  K- {/ S( C8 L( c7 G9 O
寄存器减1
5 ^# c9 n* D  n& s6 y
1
( \0 @: E: r! N4 s% M) N
1
/ N& ?8 V7 B# E5 ^
DEC& z' J, \1 H2 v
direct& _2 I2 r$ d; d1 w& o2 b4 M
直接地址减15 d' R( I6 D9 O: @9 L: k! X) ?
2+ \( Q+ x1 B3 ~( q, s
26 k6 r* o, S0 Q3 h2 q
DEC' R' T/ h( R) G: M) ~& }) W
@Ri
* ]9 @* @% ^, A, w& y8 U
间接RAM 减1
5 w4 P. }. u0 q: Z; R) M' u
1
1 t$ W& }6 h  Y  r5 O1 K7 \, z& z6 y
1
% e- S; e7 b9 J, r
MUL
9 F4 h! T! R% r) J8 P
AB
0 C6 @+ D* r8 v& R: }3 W0 Y
累加器和B 寄存器相乘% R' P$ [6 `( J
13 O0 J3 Q, j2 E
4
9 W; ^, Z% M* Q! @) W8 y
DIV" ^% r1 R6 _* `
AB) d" X! b+ k* H" d: x8 o/ ]: y
累加器除以B 寄存器5 {! x; b" C( A$ b; p
1& m6 v+ f, X1 a3 t" ~1 f7 A' k
4
3 h7 B2 d; _: `% O; u
DA$ r  g- D- t* `, l: U* B3 W  Q
A
3 V" b9 j) U' t$ F7 u
累加器十进制调整
- m4 {7 s* ?/ U: [  b
18 z9 W% k, N# z: |" p* H" Z: |" |
14 E  X) i, N% |! q9 Q. V! c
ADD. ?) W+ x. c& S5 _3 c+ E
A,Rn
, u" J7 |; l7 Z+ n+ }3 E
寄存器与累加器求和! V: \4 U8 v3 z0 H# M
1
8 r2 H1 p0 ]) F" Q: J1 K% x
1
2 `: S6 `( c. d4 Q1 Y: K: {& _
ADD. @- l( z8 ]6 _& G( V+ b1 @. z
A,direct& J) K" [& q# U7 F  s4 I
直接地址与累加器求和
! D9 c" Q8 E7 Z
21 U2 H; g  {4 q2 t
1
9 n/ A) e1 R, [
ADD
* z/ d% K+ V2 ~- d6 A& H) R' b' H
A,@Ri  c( U* k% l/ ?3 I
间接RAM 与累加器求和% A* W! L. I. ~' G' i7 r1 Z: d* ~: D
1/ _% m5 y- N" a* M" p
11 r6 b5 V* Y' W7 L
ADD
/ I# {0 A; v4 y- G9 ~+ K
A,#data
4 }/ o$ ?+ ]0 i8 m$ g! k" U8 A
立即数与累加器求和
0 A; O: p0 O/ X3 x5 R0 h. o& `9 `
2
- b  w4 m* W1 H+ P( R! n% m9 ?
16 y2 N4 C0 A+ A0 s6 g" h
ADDC
1 g3 l3 t$ C, _
A,Rn3 e9 J7 d2 |$ V, Z- |# b2 ~# U
寄存器与累加器求和(带进位)9 @% q0 o2 U9 _" y5 \3 N  ^5 k
14 x2 F! l# G: C) j- M, ^/ L  r9 l) P
1
* P  y; H) @( S9 w% G! E- [
ADDC
; D+ d/ N! F8 j) j% w. d
A,direct" J1 o8 e, S# I( z7 t
直接地址与累加器求和(带进位)7 x& g4 x6 U1 m8 d
22 `! Q' X4 o# I! l) _+ X0 O" a
1
4 T. f$ p4 T/ o( }9 b  b6 P7 I
ADDC
5 B2 L4 u. T" u1 Z' e
A,@Ri0 c4 Q5 R  a/ Q& c6 m
间接RAM 与累加器求和(带进位)3 l! b4 q: h$ Y6 C4 [, h! A4 X
1" k9 N) K% e# G
1* C8 Y7 Z" F3 U! Q( |) O9 T+ N
ADDC
2 g  z& ^% X) S" z' @7 ?$ [. C
A,#data+ p& [( F8 j' p
立即数与累加器求和(带进位)
9 c4 A& J  G! D: V
2' l' y  l! S3 w1 a9 E; L( W
1
8 {8 y6 c, e4 Q
SUBB
$ u6 ^* L4 R( U" O! a3 |
A,Rn
8 V  X. d9 l$ O) q5 P
累加器减去寄存器(带借位): {0 h( p: G" }/ Z: g
18 s6 u/ Z( t6 L: i3 n
1- i+ X' w' g5 i4 b/ a* Y3 [2 r) c
SUBB+ M! X5 H/ G+ n2 J( _
A,direct
6 o3 u2 p( {% P7 J. j! j
累加器减去直接地址(带借位)
5 C) e! X& X9 [7 h3 Z3 v
2% h* T1 J: T' C, [1 g% i$ Y6 v" @
1
+ J2 h/ M2 l1 |- J0 I- Y
SUBB  a  r0 N) l. _$ d$ x1 ^; g! F
A,@Ri, M8 i( ?" l0 Y# C0 @3 M' h5 @
累加器减去间接RAM(带借位)$ h2 m/ J0 p+ @' c) G
1
6 n# U7 {4 x* E( G* U
1
- R8 n: x, T* O2 Z9 U/ g: D. g/ S
SUBB2 b- }/ L& V! Q1 v* {3 W
A,#data$ \0 x% y0 W. C: v6 ?1 I) f+ L. V
累加器减去立即数(带借位)
' w% T  d& ~% A% W$ Z; m) k
2; n" w# q5 @8 B; ]6 a
1
4 }7 }" K! a  v% _  t" ?$ c. _& L! m3 R
(逻辑运算类指令)
ANL
9 A$ l0 G/ [; x& F
A,Rn
, x. u+ k5 Y+ n4 I/ E% e
寄存器“与”到累加器& H& W6 S( N8 f7 s* \7 v5 b
1
# [0 x# B/ c1 a$ D, [* U# h
1
2 V  R, ^1 U7 i4 p9 x/ g
ANL) g( \6 F8 |. G1 L) i1 u
A,direct
: r! }6 ?  d( n
直接地址“与”到累加器
) U4 E. H* x4 f4 q  p# U
2: P9 C8 s) f! i$ V* c! C
1( o4 T9 a4 _) V  q4 |  V' D
ANL0 d2 G4 D; c4 _' N  e, ^" Z
A,@Ri
/ F6 q, H) T2 ?% I/ W! c- j
间接RAM“与”到累加器8 `1 l! l5 q) j3 e: P
1
) g: ~: s+ R6 n
1- J" u3 S+ M. D0 t
ANL/ ~7 j) a# U" X5 C) X
A,#data
& J# L; a! I: l- W
立即数“与”到累加器
# b/ q- N1 ^6 H& G% t( X
2
. }7 E' q* ]- U( o' M/ d1 m
1/ P7 r. d/ x. L3 ?; d: |
ANL
8 T- D* V5 ~1 \& V* A  s; Q7 s( ~$ w
direct,A  E0 k& h3 Y4 S8 Q, ]8 i
累加器“与”到直接地址
/ R8 D: u6 }9 Y5 {
2
& |" ]9 I5 k& [' H$ N' ]/ A
1* Z1 G9 I  h  ^9 D" q; t
ANL: i  o+ S" X  e: t: j
direct, #data
, _; R- B! P8 S, e) `3 V
立即数“与”到直接地址! g6 e% [" q* \5 @# y/ @
3
5 M6 r4 Y9 L4 s7 A/ p( @
29 ^8 F5 g. w: _) v9 \
ORL( L1 y8 X4 G( m  Z$ X' i
A,Rn/ ~5 }8 d* f* A
寄存器“或”到累加器
7 U6 h! A7 Y9 I) [9 J) C
17 W1 h" d( ?( V
2" _$ v8 U3 E. D  ?
ORL
5 q. k% O$ e6 J7 Y. J
A,direct
- f, s3 a( K. m# U/ ^6 Z/ I
直接地址“或”到累加器. L4 s/ G6 M% u+ A8 y" v9 d* X
20 f! t$ }4 q% {5 U3 Q3 Q$ S) b
14 Q. \5 C5 ^  G9 q( S4 p$ j
ORL
+ S$ x: F, V6 N6 s
A,@Ri4 K7 S9 R2 r# S( s( {9 N0 Z
间接RAM“或”到累加器
5 F- v3 J6 B3 t* X/ @) f
19 v% K' U) E% a$ x
1  _; q3 Z$ B4 ~+ q" o- H/ F
ORL8 q0 b& x  G6 s
A,#data
+ ^* n5 m6 r2 g+ D/ I* g
立即数“或”到累加器0 Q- B  n3 T$ Q# J: c% b
2
+ R( X4 [( L# l
1
2 E. X  H9 `% L% V) {, Y8 B
ORL
) b4 r: `4 z+ I  o
direct,A0 b, o: q. z- S9 B) `4 T0 D% l0 E6 J
累加器“或”到直接地址# N5 f% @1 a1 @8 @4 N) p5 G% Q4 n
2
! I  q% ]; T8 H9 @8 K' k) W% h- o
1
+ K' G8 E3 i0 k0 z1 m2 ?
ORL
% e$ R" O: g7 @% u1 D+ T
direct, #data8 X- ]0 ~- e$ a6 d2 i6 j. K# t
立即数“或”到直接地址* L+ W" s2 Q8 i, {
3
" K6 Q. u% E  |. B0 j
1
2 c0 c% p8 I1 T
XRL- ^( E# u# ]9 |/ x3 z
A,Rn
3 {  [! s) I/ c/ e3 p9 h0 C, v7 k6 _
寄存器“异或”到累加器
9 x/ v: U& H0 j. r/ A. G1 B
1" P8 E: Z# J% H$ W/ z7 j. `( c( B' {
2
# \# T5 a% I8 w: B3 g, w7 T
XRL
; n6 Z% v% W* |& a% V
A,direct
8 O+ l1 [- o  O1 k+ P% M
直接地址“异或”到累加器
* V( w) E% H2 {
22 N8 H3 \! `0 c; [
11 q8 v- d( d% o' e) N
XRL
$ T7 F5 ?0 l# M9 f1 V5 [' ^
A,@Ri
4 x8 x3 B% {. A7 b  a% W
间接RAM“异或”到累加器0 r/ ?0 j+ i2 p, a6 A/ U! m
1
2 {, J+ C& F" a( h3 U/ g" e2 L, O5 U
1
1 ~1 K& p0 T! }$ d+ Q1 Z6 k
XRL
! H! u: y: N# J- N: U
A,#data
$ J4 v$ p. W) r% U  F5 A  X$ K
立即数“异或”到累加器1 L4 k  ^; r; _; {
2
% h% I1 c7 K9 X) O% H
12 S3 U* I1 B6 Z  T! r* j9 @, q
XRL7 \8 c0 t& R  w
direct,A
  u) t- O4 T1 L( ^* Z, h# p
累加器“异或”到直接地址& G/ ~- z0 V" j; n- k$ w
2/ }9 E% Q- t; K7 T, E$ S
1
5 Q$ T, K+ h" x; r( K5 `2 P
XRL
( N% ^3 V: I+ B' r, V; L8 ?2 T
direct, #data
8 w2 p# _+ a( @2 S9 N
立即数“异或”到直接地址+ \- R9 X9 u- e
3
$ a% z3 @4 J) c5 G5 \9 L* j
1
# G$ P: F  s# X- z
CLR  m% @, O% |/ C3 d) t6 R: [) L
A
. p# }$ O. `" }
累加器清零
5 U* l* F0 F4 L% R
1$ H4 s/ v9 H! |. [
2
% i0 l- I) q* q5 H; V
CPL' e6 s" c* _" s% I- z* n
A
; C7 @% A( A) h7 Y: s
累加器求反
/ s9 @; u! m) k
1: w, H2 Q; s: D6 w
1
  G7 H; U1 C, I( L9 c$ e! u& s' q
RL% s: O& M. J1 d; p8 a/ s2 v0 v9 A
A
/ [- j- s6 }' b/ }
累加器循环左移+ I2 g( }  z; |& k2 [/ Z! H, z$ j
1
& L/ ?# D; n: U$ s
1
. c8 S0 ?  [; l% {3 ^4 O
RLC+ u! H0 K" |+ {+ r* m& Q
A3 T5 n) @( s+ K: i! l/ O
带进位累加器循环左移
7 U8 u$ h4 r  S/ N9 K# ~% t
1
  \1 ~, m# i% m7 R
1
1 r$ a  {" K9 D
RR
% b$ U, v$ o/ w; u4 P# a3 x, f
A( _3 |3 B) t6 ~  R: e
累加器循环右移
& Q5 {3 T& Z2 P, t; ~. y
1
1 G7 K- H; k. x* m3 {, Z1 L4 b3 j
1
' \! P6 J) Y/ G9 J
RRC& ?7 J2 c7 s; h  _8 Q
A) b# F4 _! [* \' F
带进位累加器循环右移9 W6 ?2 G, ]' w) e9 w  [5 y( m, V
14 V. ]+ s* {8 l4 T. S0 M  h+ ?
1
6 L& r: F: R$ L: w# t3 h! u% t
SWAP
; f4 y/ [' J9 ?; u8 Q9 e$ h: O
A
  F% b' b. f+ W* |$ ^! i% `
累加器高、低4 位交换$ e$ R) c& {' K9 k
1
- c/ V2 z7 i- \  n+ O5 I8 m8 U( q/ o
1
2 Y# h2 n+ y+ G, z
(控制转移类指令)
8 H# g0 z1 S; n0 v7 y- r
JMP( V1 u' O+ @+ P: c; F7 H) X8 Y
@A+DPTR2 a; I7 T5 p% |( k  j0 l+ Q: \
相对DPTR 的无条件间接转移5 d4 s. I. W4 f3 o5 L1 g- h" n; Y
1
# h' p6 C% H# k% G6 P; _& P
2. w# n  o, h, B/ _4 L& V4 `
JZ
; C' _/ X7 T# F2 W9 k* ^, Q- E
rel
% N  e: W; U# Y& |
累加器为0 则转移
# x( W' q) @- h3 R/ N
2( V4 S% ], h. o4 K
2
1 u$ V; g" z! ]: I7 G3 w
JNZ
9 M; @8 w5 S' F' w5 }
rel
% j* b1 p' t/ S' R  r4 g
累加器为1 则转移$ G& F  I+ V5 }$ y' }0 b: l: {# z
2! r4 A4 g& f) J% S3 D
2( i% S2 C( t  K2 @* J
CJNE3 n5 ~8 p$ K0 X' S/ \' u9 F8 p5 o$ b- L; ]
A,direct,rel+ l, U2 K+ U" O0 T2 Q
比较直接地址和累加器,不相等转移
9 ~0 V0 y! }, E- N6 V4 C0 ]
3
/ l) F8 E. a, @$ b& V8 g$ d% w
2
8 \  H2 G9 s, c  R/ s
CJNE& m7 j- `9 u3 U8 C/ C/ c
A,#data,rel% b  a% F  p- Q" U
比较立即数和累加器,不相等转移
2 a  r# i3 s5 W: B0 G, g4 N
3
6 d- V* j( W* O! \3 ]
2$ z: T6 p0 H0 u6 h0 m
CJNE
8 ^3 o7 X- H- c" P' ?9 w
Rn,#data,rel
/ S& k) b6 W* u5 o0 w, S2 Z% X4 j) S
比较寄存器和立即数,不相等转移
* q5 C, Y8 O$ n. @: H) ]6 \
2
/ s( V8 A; ~% h: f
2
: p- U' w$ b! C4 ]+ B
CJNE0 n/ J+ b8 k, C1 E8 A
@Ri,#data,rel' ?" J+ t( |- s  h+ u7 E
比较立即数和间接RAM,不相等转移
9 ]$ s8 E! i. K) z; }
3& O9 K6 X& ]6 f( Q0 b! |
2
) Q3 q4 {1 E: N  z  t3 \, \
DJNZ
" D# ]& ]' X6 h0 J9 [- M& e8 r
Rn,rel
2 R0 t9 v+ c9 a/ F8 i
寄存器减1,不为0 则转移
' q5 a7 _8 X+ H" `4 W% R8 N
3
4 r# o8 o  o8 D* S; E
2# p# J8 a9 c- t3 \. q
DJNZ
/ F0 g; A% y, E3 H" T
direct,rel
6 b: F( ^; J" @9 K* [0 F8 ?
直接地址减1,不为0 则转移. E5 a) M5 T* H5 k
3
" f2 A8 e- S. Q- t1 @4 O
2
8 s/ v& p9 h/ p; S: f- y) ^
NOP) Z* ^! X" @: q( _# d- N

# q' K6 y5 Y  o, Z0 J- x
空操作,用于短暂延时2 A: A* a/ f( g2 ~, M% h& o6 G
1
7 W$ m: j( `2 C; `
18 V% j" j" P7 [9 r
ACALL% V+ d- y: L) `4 t3 p/ `) v
add11
$ N! X' C. W  m; K$ Y6 B/ @' p5 K
绝对调用子程序8 V" ]6 Q3 }; _% U2 V8 h  @& G' Z& k
2) N4 \: c8 F) b3 d/ d* L! y
21 }8 \* U% m7 O
LCALL
, L+ P( C8 p6 J5 ^/ O
add165 I7 l6 [9 ?5 ?4 t
长调用子程序
- J8 O) J1 i! s" D
36 n* G* O2 t2 o) A5 ~
2
" m/ j: ^4 a) F2 b# ]
RET. D6 W  ^$ S( X* U3 L! @+ k' w
3 J7 k0 T! k8 `+ }
从子程序返回
+ S, ?) Q- t+ y0 U* W; o( S  a' J
1
* S7 J: \9 w; m  n
2
0 o* I/ N" n8 c; E5 f7 _+ a
RETI6 f1 _8 i& c( ?( ]
& n+ G# S% i% O) Q+ _* G
从中断服务子程序返回" y$ i# a6 f( V8 L( C  P
1
" d" F& J$ t% V3 s: B! o! a& E
2
9 ?7 Q' }: R( d" |) W5 M' t- L0 M2 V. V
AJMP7 T1 |+ v* @/ W  d5 s' `
add11& X/ `) D) w4 a2 n  h2 a( K
无条件绝对转移
8 {" t6 y5 M0 d+ p) A
2
! _1 ?! u0 J4 E! n( G
2
" O; z2 U1 y8 [) E0 I! [) z
LJMP
' U; @: U" e) @: a) Y
add16
+ u2 a4 _/ _( S) P
无条件长转移4 B$ c5 w4 w% a4 q3 L- I
3) C& e; P1 h4 t2 H# U# F
2" y3 h+ |5 S4 Z& l) \% k7 z! g
SJMP, k+ g" I! G$ ^0 p- `9 G
rel3 T- v3 _, R0 ?3 f6 j
无条件相对转移
; m+ H: ]6 n) A
2+ F7 X# `$ D0 H2 g: p1 ~. S
2; `, C1 @: V- C( z
(布尔指令)
1 `. }) o9 o! E) z7 S! w. p
CLR/ K' y! O. m, Q4 C
C+ ]- b  @; F/ c( c) c
清进位位( K: M5 o4 k/ P$ i9 w
11 d8 _- o, C3 V
1
' L7 u0 C1 j3 l: n
CLR
3 ]5 ]& z/ J" R1 f
bit
( l, c# e8 V$ M( O9 c
清直接寻址位! w8 Y5 R, n5 w
2
+ h- P* ?" n# M
1
& R3 d8 D* P' s
SETB( j3 N1 I: }  |! w( z0 ~# [
C" {; b# \" g) G6 d$ n
置位进位位
* d3 p8 c5 o# I5 Z1 {
13 X% y4 `* ~0 \* j! e+ O2 t
1& g1 \! W' X+ v" d7 b
SETB
3 Q0 r# p- P9 ]/ Z1 `- k  a2 w, F
bit
) \& h* U! X, U( r0 ?1 R" y
置位直接寻址位0 ~1 ?% h+ L( P0 z
2
5 C; L: i# y" R( y1 M1 N1 Z
10 U& j5 V4 A# O3 i; @3 k
CPL* y# Y2 ?  \4 V9 B, o4 _9 l
C
; t! o- I1 C7 S% A& s- s  n$ A
取反进位位$ x1 j% p/ Y, Q
1* x3 l+ B% u! }, U
19 ^1 u! V5 r: t  l2 I! z; a
CPL6 I7 R1 |2 c7 ]& ~- |) ]0 W
bit
2 P* S: J8 p/ S$ d  ^$ a
取反直接寻址位
* a* [+ Q# W3 R( u- R% A: k+ y" x/ T
2
5 m) ?2 h! Z6 z5 R; H3 R5 U3 s
1
! O) s% `& X* P9 i
ANL3 _  L4 [7 {6 E
C,bit
- t" _1 @$ F9 @0 @
直接寻址位“与”到进位位
7 I, C0 k3 m8 Q% }  S5 l; k( h6 J, q
2
5 ?6 N$ p) U; s' \; o5 A3 T! W
20 ?7 Q$ }  o/ f9 d
ANL2 n* J  Q4 X/ V: d+ ^
C,/bit& C# J# h! K: V; H; g
直接寻址位的反码“与”到进位位7 w) y5 N6 j8 N: C1 F& C  i) @
2
6 t* m# O' G+ F+ f
23 w1 s! l% y% [" J: H" O
ORL
3 G! i2 a1 P) Q9 O% M. a
C,bit
; z, S1 _8 l/ l" i2 H2 P
直接寻址位“或”到进位位& r- z/ V( q7 k9 s( K" [) D
2% e3 C7 u" X( N+ Q
2
  l3 Z  Z' J. T6 p- C
ORL1 |; G: Q4 N! W/ s! l
C,/bit
2 T! S2 k( h& i7 M
直接寻址位的反码“或”到进位位& R& s) J& m  H1 Y- ^
2
  [& f! q6 j7 B* A
2
9 H, k! T3 W/ e2 n& n# R  }
MOV/ s6 g4 z3 p* [. s, \7 A
C,bit
: [3 f2 S9 n7 K2 D" ^/ n
直接寻址位传送到进位位5 ]( d8 o8 A. C% u2 G2 R8 C. z
2
5 f$ w% E8 B* ^, x; k; b$ t
1
) n/ N2 j$ b! ?* ]3 F8 u/ G
MOV
' n$ x7 Q6 Z3 N- M6 `% L# ]6 r
bit, C
& M9 R+ A4 O$ d1 Q! W# V- B
进位位位传送到直接寻址; s# Q/ ^/ n5 |6 h+ R
2
0 b- \8 g  T; b: G( i
2
+ Q% b, Z# l) r
JC; I+ f8 T# M- b; A& ~
rel
- L- v( |& v, D7 V, ]7 v0 n
如果进位位为1 则转移* V; u1 `9 S1 n6 j) \( N9 M* K/ _
2
# i0 ]# e8 e' R
2% ~- E& l. f% k
JNC
( K3 }" f! ]& V0 r+ J0 D9 G
rel
4 {7 Q; U0 g- a$ H) L; e3 A: ]
如果进位位为0 则转移! |. ~( K8 \  |5 v# t
26 W& `3 B" f  l4 A1 B( T
2
5 y, v3 d. \. G! i" _" p* y! ^
JB. c: C0 ]5 `/ b
bit,rel
' X8 N9 P& x) A1 _# l4 C
如果直接寻址位为1 则转移1 A' d7 p) j( A- K; D6 Q3 D
3
9 i. o/ U$ G3 E8 N8 M
2( q' x/ C# [: M; s1 ]
JNB
. o- U+ m* ]+ z' b: {, d2 x' [8 k1 k
bit,rel* `& K" J( S5 \' U3 z# ?
如果直接寻址位为0 则转移
& ^2 k% V/ Y  P, @2 g; r
3* K3 N, P, I9 c7 n8 L5 I7 ?# u
2
6 H8 k% d# R' C+ [
JBC3 I0 [% s# g9 ?% K1 U
bit,rel
% B/ C1 x( Q7 R3 P
直接寻址位为1 则转移并清除该位+ Z2 Q* O: j" [
2, R) A+ F/ u/ C: _# O8 b' P5 W, V
2
) o1 y: d6 l3 {& u9 L: x
 2 _8 o: Z& S7 s" ^: J

. m2 w7 f2 k5 |: F 
3 ^$ L! e6 F  [
(伪指令)
ORG
# [2 a3 c. {' ~) \
指明程序的开始位置
3 ]! S0 V" ^$ ^4 c" f: X
7 I& _) m+ b" y3 k
DB
% J4 E0 u6 w1 y* W9 F" g4 A4 Y
定义数据表
* f5 g7 i3 l) B$ y  W( a8 h

$ ~; F0 |# {- w8 C* v; L) a4 r
DW4 {9 ]& z# B  ~7 N
定义16 位的地址表6 v8 Z' u1 ?  j. }$ J4 ^9 z
4 p$ G7 M" x9 z" }& ^/ W
EQU0 ^7 B0 Q$ i& N, d- G) a+ j- S5 ~
给一个表达式或一个字符串起名8 `  x. r4 C( U# C0 U8 Q7 C
$ T8 G$ x* I. s  [) i/ d
DATA8 z! ?5 @& g  _! `
给一个8 位的内部RAM 起名4 T6 T1 l- t1 f0 o( V, Q1 F

  F) o- C! O% [. H. K, ]
XDATA3 I: Y0 \# Y6 N' z& P1 G5 k
给一个8 位的外部RAM 起名
/ ]7 K! R; R4 h' ]/ K

3 b. Q1 j/ g8 F4 q% M* ?6 j! Q3 ?
BIT1 [5 o7 C7 j# H( _
给一个可位寻址的位单元起名! J* Q, r3 g- P! I9 }
3 o) ]/ o. |( q; _
END! ^, o5 Y6 _$ F- P
指出源程序到此为止8 U" `9 b+ f7 K! ^  G  X" I5 @
1 k! H  ?' B' L. i' P$ O" ]) j
 
/ K' h6 |# q$ M- \  L
(指令中的符号标识)
Rn3 P' q; ]4 Y( s6 v3 f4 v/ D
工作寄存器R0-R7
( n" V7 p  I5 u: s* j
Ri. s; u2 E9 z, d( ~$ k; }. K
工作寄存器R0 和R1, R. e" o2 K& N7 L! W1 q9 L7 i3 E: k
@Ri' d; D, E$ U$ F& M7 q- f* ?; G( f+ \
间接寻址的8 位RAM 单元地址(00H-FFH)6 X+ D# o2 |) h( k, x
#data8
. n) X' w, M) o  f% f* r& W1 N
8 位常数
% c/ m# A  j. E% J7 A
#data16* b% A# _+ u$ n7 [' \# p) A( s
16 位常数; H! n. U8 T' D+ Y
addr160 _$ N* \$ X6 A8 V) m  d( e7 L4 w
16 位目标地址,能转移或调用到64KROM 的任何地方
/ ^; t* D* `6 ~: X6 ?: {8 G
addr11, j0 h6 w# Y8 u  |; C- Y9 j
11 位目标地址,在下条指令的2K 范围内转移或调用! |3 `3 u% d" D6 K% \
Rel
" h( v* ]0 L/ i9 r- T# q8 L
8 位偏移量,用于SJMP 和所有条件转移指令,范围-128~+127
/ u; Y5 m! V3 c& o* l6 n1 j, u5 x
Bit+ A: c4 I( Q+ `1 {. t- g& C
片内RAM 中的可寻址位和SFR 的可寻址位
) k, @  x$ [2 A, ?9 y  m
Direct
; H% S" I! w' k. t; `7 T  [
直接地址,范围片内RAM 单元(00H-7FH)和80H-FFH: D& m' f* u. @, t
$
2 W3 J$ W4 n* X+ q1 ^% Y5 N8 h9 m/ H
指本条指令的起始位置
0 n& G' _6 s" m" y2 i" b# w  z
( }8 j: B7 i0 z/ O% O

该用户从未签到

2#
发表于 2022-8-17 10:57 | 只看该作者
很好的东西,学习学习,谢谢

该用户从未签到

3#
发表于 2022-8-17 11:44 | 只看该作者
谢谢楼主,实在是好东西啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 14:17 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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