|
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
|
|