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