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