|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
此表主要是为了方便大家查阅每条指令的作用,写法以及字节数和周期数,建议大家保存为书签。. r1 a/ o" c1 P
助记符* X1 w7 v7 V% W, q. }" k
| 指令说明0 B3 P F+ r& k$ M9 y- Q
| 字节数
5 @ a% e r2 v7 C' F) y | 周期数
0 T% a+ i) K7 y* y f. C | (数据传递类指令) | MOV
2 u) T+ T& Y% M3 B m | A,Rn7 v; E3 V! @. v: `
| 寄存器传送到累加器3 w7 l+ @ t9 o" q0 M6 X
| 1
r. g' q; ]; U- x( I! W2 z | 1$ S7 b* C5 c' A! k# u! [# V
| MOV, k% I# a4 j6 p
| A,direct8 x$ Y. K* O8 o, S4 r; E
| 直接地址传送到累加器
2 ^; V# |2 Z* Q4 F* R | 2 X& C- j' U+ H! Q) K" _
| 1
/ j3 @5 R; L! W j& r/ z! w | MOV
8 c: G7 I; o; H) f2 } | A,@Ri* F7 Q& g y* ?6 x1 r2 v8 h2 l% q
| 累加器传送到外部RAM(8 地址)0 x$ O i5 b- r* q
| 1
: F5 {1 m5 q2 r& x* ?9 i | 1: u5 ?2 l A* f$ F1 [
| MOV
; r* h" ^$ }6 K8 M% V& R- Z, h( g/ m | A,#data+ K2 k7 G# a7 @9 Q, ]; S* O
| 立即数传送到累加器
' [- g0 \/ y1 F; ?: I5 v& O | 26 P! ] E* i1 f/ K# T; [1 c
| 1
; K5 M8 A2 u* J6 b( j( p4 ]5 F | MOV) N1 t1 W! L2 ^
| Rn,A( A6 H7 d3 K1 O& n9 \" I3 [
| 累加器传送到寄存器
) Z( n+ ~0 f$ e9 E: p2 k7 H | 11 g E! }; X0 u2 c' m1 b
| 1- K8 b$ u& R0 f# g4 I
| MOV$ P; |/ z2 p: r/ {: a6 u8 @& n. d. E
| Rn,direct" F9 O1 b4 ~% \! C6 i% v B
| 直接地址传送到寄存器8 L" T# S! V# t b9 r9 Z
| 2
* \3 O6 `8 P9 O- q- u) \ | 2
, M9 ~. r s) Q7 a | MOV
j# M, j( R% W9 c2 } | Rn,#data) Q3 |+ `+ x+ H% e$ w% v
| 累加器传送到直接地址
- g# Z, `9 [3 I9 z8 \; v | 28 P8 _8 L2 q. P+ x& N8 Q3 @
| 12 |) p6 i/ H) e. e4 a
| MOV* }7 a3 K6 x; o: k; D' ~0 |
| direct,Rn
" [1 ]# G- H! _8 { k: d/ p | 寄存器传送到直接地址9 ^5 \! V9 H% k+ L
| 2
( C+ [( L, X; N7 @, {# p | 1
! U' q; [6 l+ I$ m+ e F0 L | MOV
8 n( ]4 z b* c# z1 m9 C | direct,direct8 F0 Q V" n. ?. p' L. e
| 直接地址传送到直接地址
8 p) p8 e; D0 r4 m! X | 3
b+ K( _4 x5 h# [3 m | 2
- j. ]& `/ q; q0 u: Y2 ?/ B' E | MOV
! _( U! |; s3 f | direct,A6 X# O, \% I! Q- J
| 累加器传送到直接地址0 o# q2 }: v4 P9 N1 n4 D
| 2
% U' |# ^0 R8 x6 {5 A8 l | 1
; V, Y, p% @6 q0 M; m | MOV' y0 y! _6 A3 f- I0 |, t
| direct,@Ri
% w9 `; b" C6 O& m& O0 Y7 j | 间接RAM 传送到直接地址2 a% r8 u6 K+ k* |
| 29 X2 N& [. \, D
| 2, D) O" \, \" H( d
| MOV1 l6 ?! G& n+ N$ ]/ s
| direct,#data7 f, b% G4 [" z+ A: L
| 立即数传送到直接地址& D, B6 V% s* w8 P
| 3
2 X* s* v$ n r; f9 D$ m | 22 L+ r, T1 V9 |. V/ Z o8 z( G
| MOV
; i9 @6 g* T3 R! e( A | @Ri,A
+ T6 U4 b; o2 k" f: r) v | 直接地址传送到直接地址
2 `# @ }% g$ a4 k7 M8 B | 1
7 J. S+ r. Q( z | 2. @! @, s! P/ Q" S& ?: V
| MOV* L- l0 `5 W9 [2 i. B) }
| @Ri,direct3 T; a9 t+ w5 Q- ^0 }( E2 J3 c- z5 T
| 直接地址传送到间接RAM
S9 S2 s! e4 ]# g& D: Z c, N* e1 t | 22 C. k; H/ D: x% U% T C. i
| 1
; _9 e i5 H) n8 x! | | MOV9 i. {4 [6 A9 p* _( @
| @Ri,#data
& G+ C7 ^9 \4 ]( L- q, Q) L | 立即数传送到间接RAM
; O4 r$ q( X3 _. Y | 2" O5 I# p8 P: j; Q6 a# }1 p" r3 C7 t0 w
| 2
- R4 j9 w& x* K+ W8 W: d | MOV: |/ l2 @/ B# z8 c* N8 ?% G
| DPTR,#data16
$ j* @# |- Q: B& x6 u4 r | 16 位常数加载到数据指针
6 s* _% P0 p* `, |4 z | 3
# i8 B5 K0 c1 P4 Z# |. j | 1
0 c' `9 Y$ J# \7 s9 Y7 E, | | MOVC
/ z' J' |; h2 b/ c | A,@A+DPTR3 a0 h4 Y3 V! \# G4 Q" u+ l* \9 q
| 代码字节传送到累加器
9 N. J& k0 q4 S+ c1 _! _; ]( J | 1
2 `5 `& A% `4 u# v | 2
; u2 C: l6 R1 D* T; I( g | MOVC( q& r: R6 S( M) v' P
| A,@A+PC
+ ]$ Z% X$ b( j. ]# U, N2 O | 代码字节传送到累加器% P0 u/ O! \6 v! t+ Y$ X1 k( Q
| 1. [. ]% _/ y6 Z E5 S1 K
| 20 t' ?8 |3 z* U6 n. H' Q
| MOVX
1 b C+ i: L7 b8 Y$ A | A,@Ri0 ~: F& O0 y) P$ [: Y$ t0 ^1 d& o
| 外部RAM(8 地址)传送到累加器
9 Y, h; }- ]2 | | 1: O$ u( w- Y( I" ^
| 2
+ }) x6 V* k4 Q, `2 p2 e7 U) q4 F) k | MOVX- p( T p/ A j* \" h
| A,@DPTR
3 H9 |: `9 e1 H! e6 C* ~9 `- M | 外部RAM(16 地址)传送到累加器
1 d+ A, w4 P5 x% ? | 1
7 l- L# c9 } m1 Z | 26 ]" _% _, B% t9 ^* O/ V' u
| MOVX# O: K$ C" G6 H5 M; x$ V
| @Ri,A
1 K- ?% s, p) [4 t5 S5 \5 b | 累加器传送到外部RAM(8 地址)- U. ^ k- t) [5 a5 v
| 1: w3 d( A6 O& c
| 2" n. K9 F: e+ h8 n. i' b; Y$ ?! O
| MOVX% t' r% u& w. [0 A' J
| @DPTR,A8 u5 U( F4 X% J# P) H
| 累加器传送到外部RAM(16 地址)
1 [1 H% p6 Q! a7 Q/ E | 1
) |3 I( q& ^6 R4 p' [1 ? | 2 T8 q5 |/ P+ ~" Z8 T
| PUSH* \" ?5 h9 b7 [! d4 k/ x
| direct. ~- s% Z) s3 y5 r
| 直接地址压入堆栈; @1 }: z5 [% j, c
| 29 c) t0 p, d& l: J* w* j* |
| 2
! O9 M e8 Q9 K, ^: F | POP
- x. j, u% A1 w# _1 u" }6 u; X# y | direct
& Q7 O% i( a' |" C | 直接地址弹出堆栈
6 ?: e3 S" V7 V, j& [4 q | 25 v0 {7 r( ]- I( d
| 2
6 b. B: f/ Q$ H" L | XCH5 ~4 M, I; G0 q; Z0 q: _) w8 d$ x% \
| A,Rn
" T! S- X/ ~9 S* o | 寄存器和累加器交换) e( @. r& Y% e9 n
| 1) K6 m* _2 v/ I
| 1
& a" ~* Z9 Z' K: `; o3 ] | XCH3 K% z Q4 K" f9 U+ \# W2 E
| A, direct
1 n. A/ O9 q) \) K& ~ | 直接地址和累加器交换4 ]( ^ C0 \6 Z7 p0 D q
| 2+ z- P- j D$ a! j/ w
| 1& J3 u7 j, a* I* ]
| XCH
6 ]5 N6 C* m' _+ K6 K2 L1 L# { | A, @Ri
+ z! T$ n% E5 G0 ? | 间接RAM 和累加器交换! T. n' a, ~9 O- p8 C
| 14 o W% m) R0 {4 O
| 1$ q4 a$ R4 H$ r" W3 a
| XCHD
! d; Z c$ C8 m! |4 j | A, @Ri j( `# [6 E- ?
| 间接RAM 和累加器交换低4 位字节
) I2 i* S9 ?: ~ | 1- ^! t9 ]9 N( S( H. E+ Z( o
| 1
# N9 A1 r, J! M" q4 C+ u$ u | (算术运算类指令) | INC
7 @5 I1 r: A1 m6 e1 G | A! N4 \( m7 I) }/ G( e2 D v
| 累加器加1) u! ^- L7 r C* U8 G" O' R) R
| 1+ \, t4 @( k( N2 R
| 1
- h5 a* \3 P8 m1 \& W | INC
& W5 g1 R7 ?* m7 U( w0 D | Rn5 O) r4 L# ]; i- K' z; K! J! s, ?
| 寄存器加1. z4 T# x# J5 p, m/ Z: p. a
| 1
# T. z+ Y" E/ }0 o/ W/ G1 C | 1
+ K1 A. R5 E1 ] | INC% {" M/ u; y1 Q% M! E/ c9 ]4 U+ \ o
| direct
- h( l% `: @" y | 直接地址加1, k& u7 X( u& i5 {) ~5 j4 n
| 2
* n j9 l& G: g" ?3 O1 } | 1
+ X% O, ?0 u, N' U, e | INC
0 i$ g4 s+ w' @2 ^5 R. m: K | @Ri& z/ I1 u) s& L- x: @3 O
| 间接RAM 加16 O/ P( G8 L. T. y% j
| 1
% Q4 \& J8 a% F | 13 S: N3 l: M" h7 A1 M% |
| INC" i+ [# M+ v1 Z
| DPTR
& j2 B( G( B0 e6 J6 Z$ \5 | | 数据指针加1
9 w( t, M8 z" Y6 L5 y7 s% C | 1) Y. |8 ~3 O: b+ A
| 2
0 c, Z" j. p4 V1 ^6 X1 _ | DEC
, T* X/ G9 V2 h/ r$ q | A
+ n( H I! U' `) i* }; t | 累加器减1
4 L; T3 z3 j: B+ @6 {' E' s* ? | 1
: o. Z3 Q! @- j# k. S4 |& t: Y | 1
; Q5 k5 I A- L# ~ | DEC
/ W& \. O# @$ x7 _5 X | Rn. L6 _. b# H5 z+ z; J$ ~
| 寄存器减1' T) f+ H1 N7 F, ?" y
| 1
x, A4 O% M2 O | 1
# E+ q; ^8 z+ w | DEC
3 a3 g, @& _8 j- l% j | direct
; X @0 X( x# T( w) D5 f# [, E | 直接地址减1' N9 A- ~ }. D: l: V8 O @& K
| 2
; ]+ X2 t& C" A% [" S2 ] | 2- W: @! Q3 P& o& F$ w( C6 Q
|
DEC
) r9 z. K1 Y( N+ _" J k& A | @Ri8 {3 N$ p+ z: o$ e0 z
| 间接RAM 减1
' z: w3 ]& ]0 w+ ] | 1
4 b! o! I" X* m! O, { | 17 T& z2 `" N4 {8 S' }6 O# j
| MUL4 X2 c) {3 ] p2 E p& t# D1 f
| AB; [$ m: b0 ?& L; O* n
| 累加器和B 寄存器相乘
" \5 f9 r, {$ e4 O( q- M | 15 s+ {. c5 q1 p* b
| 4: u" X4 H& h$ r' P
| DIV
) c' x6 n4 P8 p | AB
% t% N7 _* b! `4 b) k | 累加器除以B 寄存器" D5 d' ?% `2 N8 F1 q
| 1
2 J3 w' P) Y& D4 X | 48 m* Q2 T1 [0 t! G; g# S+ e
| DA
0 z2 Q _0 \, o | A ^4 y( q; `& m, |' d
| 累加器十进制调整6 L K" E2 D% C% T$ C
| 1# e: v; o1 w* _; f ]# |: Z X$ u" a
| 1
% l' m0 n: ]# {$ R1 E- b | ADD
- ~, U- E. B) } |9 _; Z2 e; e | A,Rn8 n+ _) E" O4 C" P9 D2 O2 P) K
| 寄存器与累加器求和
' [( m- `$ g/ I4 w | 1
8 d( Y* E" W) \2 C9 [ | 1% z) |8 H/ [+ N' z0 k
| ADD
2 V8 u1 k# a0 _6 ~( N. V | A,direct
- s7 a* {7 R4 h% U3 n- _0 H | 直接地址与累加器求和
! v8 C T( h- P- n# X9 g, Q5 e | 2
; @% B5 y4 U+ g- t- P. k8 o2 ] | 1
7 I, O' C7 _* s; { | ADD
, u8 D$ a; k2 `5 t | A,@Ri
( K. [$ |' B0 {" {( Z, I; h" A | 间接RAM 与累加器求和
$ e- U4 e, w, y/ E' {9 M | 1
% C1 l: V3 u4 I2 v | 1
4 \$ l* q/ S, [4 g8 H/ x6 ` | ADD
$ O) n. t( F" ]0 [3 |9 k9 e | A,#data
& x' o( Q& b4 P7 d. _ | 立即数与累加器求和) t6 t. x/ C. T; ?, M
| 2
! ], i' Z5 g, [/ j | 1
) r/ `! Z" ^* E9 m) W# H | ADDC
7 E! R( j/ c" J8 H2 b7 l | A,Rn
/ d+ S b8 g) H% E& \+ i6 i8 G | 寄存器与累加器求和(带进位)
) x' m1 t- X8 V4 P( P& b | 19 ~3 U4 i, F- x2 q0 s
| 1
: b' e/ Y3 d# H4 F | ADDC
9 }6 p3 l8 j9 c) V | A,direct x' O5 q7 l6 d
| 直接地址与累加器求和(带进位)
! E% K3 V0 l6 @3 @ | 2) ]& K1 D; s' k- w9 n1 I5 I
| 1
1 z- V' j9 I1 N% ] | ADDC0 a5 b% l8 X4 ?4 g
| A,@Ri
7 t6 ]7 D: E4 @5 _% x( D | 间接RAM 与累加器求和(带进位)* b0 }3 [* o- W) r5 B! Y
| 1
- R" q: |4 f2 j6 F" d4 } | 1
* Q& F7 i5 d6 _" Q" Q a, m | ADDC& q7 M+ D+ @ I$ [1 t
| A,#data% B" w7 ^+ B1 K' ]
| 立即数与累加器求和(带进位)3 a: n6 [1 p8 }! U; ]
| 2
: `( B5 J% |7 |- {- p9 z8 ^# s, a* f | 1
* y2 Y. T5 Z/ t# y$ i! B" v7 O | SUBB
' ]: F: M+ }9 U6 n2 D; d. f) @ | A,Rn; K+ T0 G8 J z* T
| 累加器减去寄存器(带借位)
$ H* v0 f3 l# d | 1$ D% B. M3 c" o; e" c
| 1
: c1 j# p" w9 V3 q6 M9 O | SUBB5 j; d3 U) z' l
| A,direct0 ]2 u! T, x8 G9 Q0 G! L
| 累加器减去直接地址(带借位)
% n) Q3 G+ ?" f" N | 2! v$ G7 d4 d% r9 C/ ^ U
| 1
# W) e6 D- j& s6 b | SUBB
) N( o5 }+ F9 o- Z0 O% @ | A,@Ri& q3 K, U" \3 M' k
| 累加器减去间接RAM(带借位)
: j- c' i0 n, c% f | 1
- {1 n: Q- F6 c0 g( q | 1
% t, V& m+ U. z' @/ |" T | SUBB7 F& N$ B- O8 t" _9 J/ ~7 W
| A,#data
# a4 j7 E! I. n5 [2 l, v | 累加器减去立即数(带借位)& ^4 }$ q2 u% @$ x
| 2& o8 e O1 ^, Y7 x+ v$ S4 @
| 1
5 }5 A! G" H* ~4 s! [" [/ |7 a |
(逻辑运算类指令) | ANL) h( P1 t1 M: \! h9 P
| A,Rn, W$ S' l6 v" I, H, r! @8 L/ E- s/ F
| 寄存器“与”到累加器
: e) X* |! w7 R5 o1 } | 1
! K8 S, F- N5 M7 e9 Z3 g3 U+ n | 1
4 ^# s$ u+ Q& `$ X7 K! ` | ANL
+ Y: I, H' X( A! A. X+ a | A,direct5 \, m1 m! m; ?4 P! U
| 直接地址“与”到累加器
4 [2 r4 R2 y, n* G4 g5 W | 2
8 M. U2 u1 p( R1 J0 B | 14 B8 |4 f6 w o: F/ g& D
| ANL, p$ `( Q5 G; n% \/ G/ t
| A,@Ri1 ^& v1 k: d0 Y; g* {
| 间接RAM“与”到累加器! T: r0 t7 d M0 c S D6 ]7 ^
| 1" x4 x5 v" B- F4 E) k
| 1
$ l' ^' T& r8 k6 R/ [ | ANL
0 h& \8 _+ d0 {9 y$ X% h | A,#data
9 O4 ?6 \- l. U$ a6 [1 F | 立即数“与”到累加器
! n+ r# C- V9 ^. J- I0 K7 } | 2' f& }5 l% s% d d
| 1
& h2 z7 G; M6 J. D2 @ | ANL
5 {# _/ j2 b% O9 T% y D# | | direct,A& H k( C, ~5 O' C* U* g
| 累加器“与”到直接地址3 s$ B9 `% B1 I( G0 `. [
| 2* S! }+ E- M8 I' g$ f
| 14 {+ C# r+ b- J0 E7 T
| ANL
; n& c+ |0 }* K7 d. M1 R | direct, #data
5 |4 n/ H2 J& w2 P# f) P- ^7 s$ \ | 立即数“与”到直接地址
9 R6 J: E Y" X, I( U& [ | 3
! E$ s+ y$ H9 p. N. U | 2
8 I; m* n% e6 W% q* ?) }2 c | ORL4 P. U) |, N8 I
| A,Rn
; j7 e5 x L7 v. Q$ i" a3 ~ | 寄存器“或”到累加器# }% X- V6 U5 X3 K# t: X
| 1
& J# @* r+ U" _) a) D& J, H | 2# Z7 B8 t: R% ` F t7 s7 j2 u y" x) ?
| ORL) ]1 N' j% ]1 I% O- e: J
| A,direct0 b; K! A1 t% R* e; b' |" T! z
| 直接地址“或”到累加器! h, b1 N* V4 \% D4 G
| 2
8 y) a% Y3 M# q& S | 1
3 a7 a% g- M- _1 q, G | ORL
( H {( R; M! l | A,@Ri' @1 f' x' ?/ \. K3 w0 |$ K( j
| 间接RAM“或”到累加器; w0 ]/ _1 X! w# M) U% V) `
| 1& h6 A& y# G+ E# C0 }2 ]
| 1
" ?: Q9 X% d% }* _" A7 a | ORL9 `! S9 d% O _. m0 H1 e
| A,#data U7 e0 j& `# _, |/ @
| 立即数“或”到累加器; `- v) U" k# \
| 2
! n/ M$ Z2 }% c" P* U | 1
1 j; Q5 _7 V+ E9 @6 v | ORL
$ t! H8 B+ r, I! j. d | direct,A' R1 V8 Z) M2 v3 n
| 累加器“或”到直接地址% x, E% r: i- f1 p& h
| 2
2 |3 a7 I- o/ l! q/ X6 Q* R# o | 1
, G- ~0 k5 u0 a I3 s | ORL
3 y; g. P5 r0 j# { | direct, #data( c2 ]9 F! [5 V1 O
| 立即数“或”到直接地址
. b( N5 f- @! W v& E- M | 3
0 B S* |+ f% Y7 N8 [8 e7 k/ b6 \ | 1; ~$ e, e& R, J @6 |
| XRL
3 ] ]( n+ j$ d9 m4 A | A,Rn
' D6 O3 W9 a3 d6 k, h | 寄存器“异或”到累加器
- k! _2 B* D: J, d L | 1
, L* x0 d9 _& I" z: R | 2
7 a! Q, q- \8 J( n. d# Z7 c | XRL
2 C1 L* D/ s4 v: h2 Q | A,direct
" P0 n) F- |- f3 H, _9 x% C, p5 P7 u | 直接地址“异或”到累加器! i' |0 `& Z; ^; ~, x7 e8 \; d
| 2# p8 [5 S" h, h6 e. L
| 1: T6 \8 }: T" ~9 G
| XRL( ]+ C7 u- O4 _( Z# a
| A,@Ri
/ I2 Q8 j* L6 n8 Q' _7 h | 间接RAM“异或”到累加器, o- Y4 \! Q7 [5 F
| 12 y: Y5 c8 t6 p( ]5 ]
| 1 }1 q. i" B. B; p
| XRL
: a) ` ? S% x% d0 n6 q3 r% J | A,#data$ [9 V, ^. L7 I* X
| 立即数“异或”到累加器5 v1 H( g7 G. ^$ `0 ?
| 2
3 ?6 i* ~, W/ s7 d | 1
?7 O; I) g+ S5 y. J8 i$ h | XRL d4 Q; Z6 ~' `0 f! z/ l
| direct,A, N. N; y3 W6 c# a
| 累加器“异或”到直接地址
: u2 V! ]& \9 F, p9 [ | 2
$ V4 f# B) P$ N2 }9 _$ R) V o | 1
! X3 B+ F( \- l+ U | XRL4 d9 f' ?* g u5 q5 K2 Q
| direct, #data( d! m0 V+ x( I7 Q3 P& x) ^* i. m" z
| 立即数“异或”到直接地址: j8 u- v* @1 n/ R8 g7 B
| 3: P# A' H- I- |1 `
| 1. u5 X" s% U1 z, i% {) s1 L p2 m
| CLR/ ^2 B% u; P1 o" w C
| A
8 L2 Y! T% I1 C | 累加器清零
( K+ K& Q0 \3 _+ @5 A | 1 Z+ N' L1 A* [6 I/ c
| 2* j; J) A+ q4 G6 e( b9 C l
| CPL: d: F% Z# o: B" j/ s7 ]
| A1 |0 L# q) b8 y, p5 X
| 累加器求反! \- G; i/ p9 B, {/ y" W: R& R
| 1
+ \1 K7 G# f, A. c# z' b | 1
" H! g: m2 ]: G3 X) a | RL
; t0 j; F1 s, \( h, U | A z4 y9 L3 S$ v5 X# D
| 累加器循环左移3 j; V9 }2 Q4 C4 ~: M9 v
| 1
" I4 \- j, ]6 U7 [0 I | 1
# d* K7 [$ |- k | RLC, B" Q2 ^1 g5 B8 i+ j/ ] |
| A
0 z1 B$ K9 |3 B5 }) @3 ? | 带进位累加器循环左移+ f$ s- D* i$ K+ R, o
| 1
! P5 Y4 C) a. o1 V. t7 G. Y3 | | 1
5 @) A' _ `, ^4 M# j( w. X0 ? | RR, g# W3 K" T4 q0 R" r
| A
9 t2 [& I& c, P6 a | 累加器循环右移! {1 O& a; h! }4 [9 M" n. i
| 1
( h4 B* G, G- }6 `1 A& U | 1
! Y4 f. J* D0 M0 g% T | RRC
* y! `0 ]( G3 t5 l Y | A
# l9 V$ D- j$ [: p | 带进位累加器循环右移
2 s% a8 @+ q. ~8 H+ G8 @ | 1
2 H# K# s4 v! {" z1 m" U" x6 m | 1
- f/ i, F9 O p0 q | SWAP* k9 R/ K4 r) J5 @! [1 Y
| A
# B. a9 P+ c$ b# R' L1 { | 累加器高、低4 位交换2 {7 u3 q' ^9 p" O$ Y W1 n' N( P
| 1
: T5 Q* J: r9 P8 U+ ?- s; @ | 12 C& |, l0 O, ?! h
|
(控制转移类指令) | ' X: S2 T$ u* b) V/ n1 U
| JMP8 {3 |' Z/ j$ c0 P( | F, B9 m
| @A+DPTR: R N/ j" {3 x2 H9 G7 U5 q
| 相对DPTR 的无条件间接转移
" @& n% g5 K% X | 1
' `4 J0 a$ m" u+ ]% E | 23 z# W. p4 R) J9 f# T4 W K- R
| JZ: i! {, T3 o9 W
| rel. s! u$ @# t; V
| 累加器为0 则转移! a) F# a7 }% ~+ @/ ]
| 2: T W: U2 N! l6 ^5 S3 k! t
| 2
5 }1 o1 K% K$ ?- T: } | JNZ
% x4 w* I2 L* ?$ A+ J" g' w | rel
. B2 f+ x4 S# h+ B | 累加器为1 则转移
- N9 O6 ^; N; n* `8 c7 M | 2
2 s q; @: N# Q- r7 s | 2
3 U! R, j# f1 W; B! O; A | CJNE
1 N9 F, ` |9 w$ s+ I7 @' Y* Z | A,direct,rel5 h6 a2 L' t* l
| 比较直接地址和累加器,不相等转移
4 `9 }8 Y& E& Z9 l* w6 K" } | 3" ] e- a F; I. B3 o+ \
| 2" m! e0 y3 Q/ f$ F6 X' D
| CJNE) t7 p5 `, d T- t5 A/ M
| A,#data,rel
- [, i4 U8 y- k! ^ | 比较立即数和累加器,不相等转移' Y* W8 q! N5 m! C% H9 P7 f
| 3
/ w9 A" g$ Q9 u | 2
8 U6 ?2 u1 U. J; W" r4 R+ N1 z* V* K | CJNE7 s( {6 y. l) p0 L+ h$ d8 T8 y" a
| Rn,#data,rel, O& j$ Y: s4 u8 m1 b' ?, t, j
| 比较寄存器和立即数,不相等转移6 |$ a) a6 Y' B3 h7 {
| 21 L+ n& r, ~( v; a7 L
| 2& [# A2 ^' V, A6 ]' e3 ~
| CJNE+ B; k( g2 S+ T) V9 m! b' V! B5 y
| @Ri,#data,rel
' ?/ Q' I# u: k) H S: J | 比较立即数和间接RAM,不相等转移
: h1 K% d- W( j- Q) R' ^ | 3/ l. `: D3 x J. i c$ d( m, T
| 2
# U7 z' U0 Z9 {) M7 G | DJNZ7 u3 r9 f: J2 o/ ~
| Rn,rel5 g4 I/ o) N$ C0 m5 s4 N' a8 f
| 寄存器减1,不为0 则转移
- l/ N" l5 v Y) x- u5 t: k, ^ | 3
5 c+ s) i6 w$ D, f( j) s, i: _ | 2
' y0 p* G3 _1 G | DJNZ' j' z2 m) T- T7 l& X' m
| direct,rel. l* W: j4 W' P' ]- o$ o f9 A' i4 ~
| 直接地址减1,不为0 则转移
2 o% J( `9 |" X% T | 3
8 L8 X- h9 [2 [; H, U& n4 N | 2
, o$ d* H& j* z" {) {; l | NOP0 ^2 O3 A- z/ R6 g
| & k7 `# @/ F7 v: d7 G4 T n
| 空操作,用于短暂延时
$ B9 o4 d9 e, s; c2 {- } | 15 @: L1 n8 l2 a9 w
| 14 a' ^& e5 I+ ?6 [, M$ d
| ACALL
; i# Z9 i1 W: [* M2 R0 W! Y2 ^ | add11. ]# R" t, L+ @
| 绝对调用子程序& p. g) `3 e+ _/ K, k" D. ~% Q
| 2
5 R6 w/ a* `. Y4 i! B | 2
& ]8 t! `2 e3 ^) G8 L7 A/ i | LCALL
' D$ ^) [6 B/ Y' F" g# @) d | add16* A5 a" x: l: I' J' y
| 长调用子程序5 y, L) i% a9 V- ^& J8 z' ]" [
| 3
K C5 e6 ~2 y+ w$ L | 25 l: w2 C% d0 c. b) f8 F
| RET
% D7 p. O7 {3 e3 y% q* f9 i- v6 { | . o6 C. Z" g: P+ l' p- n
| 从子程序返回2 r; V+ w0 j" f, r
| 1# b( K$ f; r( g$ d
| 2% _# ~3 Q8 D) u3 H+ N' j
| RETI
+ ]5 ^) G0 w# J6 R) N( [0 i |
7 H0 R4 m! ]! s7 o& Z' ~ | 从中断服务子程序返回
; t9 T6 p5 {( C9 e& z. o/ u& U | 1
8 X! b! k9 k# J ~; e | 2 J6 H V- y6 u" j( ~2 p9 R
| AJMP
/ n$ v# @# D; G# u2 q; J% w0 D | add11
3 y/ `2 s- S/ i3 x' ?# \ | 无条件绝对转移5 r5 q$ ~* {7 ]1 k
| 2 V7 @0 @! i t. r" Z3 C% c" O1 s
| 2
' A$ G9 S" r( w3 z" Z s3 `! _ | LJMP
$ B: l8 [' y5 Q1 O | add16
' v- l( P' P p2 O& w: ] | 无条件长转移
1 l1 f$ o6 m$ d6 n | 3
% h. u, H8 a! p: ], \ | 23 b/ R! N: O E* ~( Z# }: s3 R% V
| SJMP' V$ m/ v, r4 Q$ _7 M3 g$ K6 e
| rel
2 \6 K* ]! U" o% D9 S | 无条件相对转移( A s" k1 {, c( V, k; P6 W
| 2( Y, d2 I; B! \! ~
| 2
9 i* S7 }8 b; @5 Z% ^. v. j$ F |
(布尔指令) | $ ^$ `: b- a& ^; M
| CLR- V) k$ L# k$ `+ M! I& ~* {3 y; a9 g
| C" p2 C# l# \- C8 I8 g: s6 G
| 清进位位
9 ^/ K8 y) C t) w | 18 Q3 \( F9 J; v
| 1
, f# [; S% |4 M6 F | CLR
! w4 V j9 }# y( N! B. N | bit8 F+ o2 `6 w1 V8 ?0 j9 E
| 清直接寻址位
/ m% V' N5 |2 d | 2
L1 x" U, O! h) }3 V3 ^# D: F | 1
" ^/ \/ W* c& p5 O6 L | SETB) \% @- ~: Y. e! H2 V8 A& y
| C
- Q! t" C6 ?# X9 I: R; v4 p- @ | 置位进位位
+ S# S1 P# l% f- F, h% g! M | 1
4 Z! a! _! b/ c+ c9 b | 1) H/ K; Z5 ]+ @
| SETB
3 x* h. C9 X' H | bit
# k. g% p0 Q0 {" N- m | 置位直接寻址位
' l1 g! I* _8 k/ { | 2
' z: K1 U3 @. X4 ^; F! ` | 1. J4 N i& b5 z9 j3 R S
| CPL2 ^' c9 S1 d# D
| C6 k1 _1 K3 N2 f( j# Z1 t* A8 e
| 取反进位位
, P8 G/ `, l8 m5 B | 1
9 v: p4 R0 ]- i+ e0 ^+ t | 1
2 J. a3 a5 Q+ o. p: E, ?! g | CPL1 H: ]4 K# a8 Z- H0 l1 d
| bit7 j+ l( Q" v& P7 n' ^
| 取反直接寻址位
* T& J% @5 [- g5 L$ O! q9 F) Q | 2$ ^/ s# z7 M/ E/ v5 R0 |! s; z, y
| 17 b1 B2 Q2 }% j' I- E& E6 J/ G& k
| ANL
% |+ V5 f1 c: ]4 {- ^ | C,bit
" L9 H+ a: l1 `, X | 直接寻址位“与”到进位位
+ ^9 @7 D* y, t4 @! Z% |. | | 2
7 B3 [# W3 e+ b. Q | 27 j! @' D3 g$ F1 C4 `) E/ `
| ANL
0 ]2 E: ?0 d0 H, y) l! m | C,/bit7 a) f3 D5 l4 u* R# n9 i% D) Y
| 直接寻址位的反码“与”到进位位3 W2 x7 g4 P$ P/ f" j
| 2' x3 M. G0 P% B: L7 V& g
| 22 X$ m. X$ N6 i5 ?% Q a! \, E
| ORL
. u6 ^2 k8 ?7 ?- l* E5 Q% I | C,bit0 Q# R5 J l2 |, b' n
| 直接寻址位“或”到进位位- |* W3 w4 q) B3 q
| 2
0 r0 I* B+ N% \8 Z | 2! g: e. E4 g* ?6 L6 o2 s
| ORL6 X# h* E/ I! l& j
| C,/bit
. Q4 n% B' ~8 f& J+ g | 直接寻址位的反码“或”到进位位
3 ^+ N" r2 R0 r" c/ [ | 2. k; S/ d# \( C9 m! o1 Z. X4 s
| 2
4 _" X6 F5 \9 R9 O' T; p | MOV+ l5 u* V1 R$ D: X' G9 E
| C,bit) l* O" Z' H! B8 M
| 直接寻址位传送到进位位
: t, }! V6 Y: O7 Z4 }' _9 N; _7 v. j | 2# X7 @" n; N N4 W/ A
| 1% @# c* U8 E: w9 A/ o) N4 Y
| MOV S' W4 N2 e: I. Y3 j
| bit, C% K+ o. A6 x- G0 e' U$ Y
| 进位位位传送到直接寻址
/ F" ?/ V0 D: c* s$ c | 29 \' U8 _ T" m( x6 T" e% k! ?
| 2
$ S1 ? n) L* n5 u; R- T' | | JC
* Q# F3 `: l( _( E' D! v) g6 L | rel+ C0 T W0 u: o9 O' r' |. M; t
| 如果进位位为1 则转移( J# W8 W! }: l
| 2
8 J0 A' o6 H0 {! S0 E | 20 N2 `/ N$ C' {
| JNC, l$ n {6 @& H
| rel
) T+ [; n _# f5 t | 如果进位位为0 则转移+ `8 x( @: v, w8 D6 U
| 2$ E) ^# x" g" O2 `
| 2
7 F# `. B0 L' C: n | JB
$ A7 d' U0 i6 @$ Z" d# C$ r | bit,rel
; q; t: x: K! y3 i @ | 如果直接寻址位为1 则转移- b; o! p- W$ U7 ?! c
| 39 Z$ m: \* F. @+ B* l7 U
| 2" ?4 X) A4 j' E4 A3 N/ v L
| JNB( a& Z# ]9 P! z e6 c
| bit,rel0 S& S2 u8 W8 ?$ ]
| 如果直接寻址位为0 则转移
7 z5 M5 ` r! ]% P+ C; W | 3
- }& m# A, M& E7 b( @4 W' k, v | 22 h! m& S1 H/ v- n G
| JBC
( l$ L! {3 I" I3 X | bit,rel
( r/ h4 {6 y5 Y" |! x) ~ | 直接寻址位为1 则转移并清除该位
6 A9 Y, Q. D) e- ]6 R f; \% o | 2! q9 W W4 ~+ }; [* X
| 2
7 G$ ~4 Z' {, W% `4 }# `7 v: H' H |
+ z# U7 Q+ \' w9 q' ~8 O! u# z5 ~4 j
- i ]$ {) J4 {9 i(伪指令) | ORG* n' Y+ t0 x5 |; @( G: Z- `" G
| 指明程序的开始位置
* F+ C6 F2 w+ O7 J |
( z4 _4 y. N' d: T% q |3 k | DB% d. W9 a) t) n9 ]3 I+ s
| 定义数据表- ^. y4 n8 R, P2 f2 v; R( W
|
+ N1 V3 C* V- Z: Y& c# M | DW# V* @& @7 C( {1 G
| 定义16 位的地址表/ C; @* Y% }" Z, s! A0 T
| ) ?! W' v- m9 ^- W; R
| EQU
8 |% ]+ P& e' M N1 C | 给一个表达式或一个字符串起名
3 U1 G c! [; y+ z6 y7 k |
7 @# b) U* N; W* y3 f |
DATA
R4 W9 j; |! C* ? | 给一个8 位的内部RAM 起名- ~; O" \( @/ c
| # |- }+ A0 L& z1 Z+ v
| XDATA, W, B; c# c: U- ~; p1 r3 h
| 给一个8 位的外部RAM 起名
" n0 ~# {% m* {$ B |
( F: G7 A4 R- f& I | BIT
g- Q! C1 x0 ?0 e% l0 V. X4 n6 ^ | 给一个可位寻址的位单元起名
) G a2 C: a7 n1 k1 c | 1 \$ R) i C" [# v3 z* P/ A9 \7 e
| END, _$ f/ i( {$ Y3 U: n& T q7 M, H
| 指出源程序到此为止2 h% `0 f/ u. w0 J. [0 Q
| 5 Z* U9 Y4 K" E: h- r' N
|
' P7 Q6 A- h) o/ z! }(指令中的符号标识) | Rn$ Y. T7 A b" S( a& j0 |( b
| 工作寄存器R0-R74 C: m+ s7 f# d
| Ri8 _3 ^1 { Z8 B$ l6 G+ F! i: ~+ H8 E
| 工作寄存器R0 和R1
$ ~' e* y e3 ^, j | @Ri
9 P5 _& |( @% w | 间接寻址的8 位RAM 单元地址(00H-FFH)- W9 R/ w# L0 T: v n4 P) K) S
| #data8
* H2 G( V, f* o* ]9 b | 8 位常数
6 W9 T; ]4 X9 ~; ]" x l6 z | #data16
& x$ ?* y# ?# {: B$ p. Z& S' ~+ _ | 16 位常数
: C. F$ p2 v# M' E- L2 a | addr16
. ]0 f8 J, q0 f7 L | 16 位目标地址,能转移或调用到64KROM 的任何地方/ A4 @2 L* N$ R+ l1 d9 P
| addr11) n" g8 L+ o( o2 k
| 11 位目标地址,在下条指令的2K 范围内转移或调用
+ d" }0 B! A. b; J0 I3 Z+ y | Rel
& y- f/ K& `1 { | 8 位偏移量,用于SJMP 和所有条件转移指令,范围-128~+127- n4 Q- G( D# O; U
| Bit% S/ R3 `$ K9 I: {
| 片内RAM 中的可寻址位和SFR 的可寻址位" A' Y7 R2 h4 M" \
| Direct
0 f$ o6 g2 R1 ], q2 C1 w5 m* ~ | 直接地址,范围片内RAM 单元(00H-7FH)和80H-FFH
` M% M, o4 H H | $! c$ g& B; }; B8 [( T& _
| 指本条指令的起始位置
% C- P3 A& E' ^* R s- u |
/ n1 C( x% q0 B$ M6 ^+ R. h |
|