|
+ Z/ K6 i7 c% \( H' y0 ~' i6 i8 [' Q! f# q% |& s* ~
数据传送类指令:6 U! j; Q m: c
. b/ t- u8 c, ]1 }% a5 D+ z
1 MOV A,Rn 寄存器内容送入累加器
$ X$ l' I- o' V- M& y& \
4 }5 K4 k6 o4 m9 y& @) e# a2 MOV A,direct 直接地址单元中的数据送入累加器 + V4 B1 p9 O, g+ q. x
! E1 t2 O$ \* \. Z" }$ c3 MOV A,@Ri 间接RAM 中的数据送入累加器
1 S' E& L3 q" p B6 J$ d: T3 F) B- Y/ [4 l* o% R/ b; n% P
4 MOV A,#tata 立即数送入累加器
% f" c* ^" a+ D
* p& r" g$ i' w5 MOV Rn,A 累加器内容送入寄存器 , f* ?8 |7 a, ?3 b
" q$ T3 ^: d8 N+ m- l6 MOV Rn,direct 直接地址单元中的数据送入寄存器
0 w; D1 Z4 k- @+ D; @( B% q
* z6 x4 k& J& {1 j4 g7 MOV Rn,#data 立即数送入寄存器 2 u7 A( u* y# ?" S) s
# U# s$ P( t7 E8 MOV direct,A 累加器内容送入直接地址单元 : @) o0 D, B$ M
8 ~3 _9 X: {& F) S0 b0 O F* V9 MOV direct,Rn 寄存器内容送入直接地址单元 0 g" [) l, `9 L3 ?9 x
1 m) \- G. Y* `9 c
10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元
1 V) N1 i) F5 l+ W3 o7 k' _$ l) ]8 h% e: m0 \
11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元
4 o$ E6 H* d$ x( `. Z2 m* P$ M9 p# `! ?2 @( A( `
12 MOV direct,#data 立即数送入直接地址单元 % b0 J0 e/ z% Y
# l& w, W5 [, k6 M( y13 MOV @Ri,A 累加器内容送间接RAM 单元
: j+ M& q) E9 `! ^# l# u- m
9 }* ?- [6 E+ ~) R$ R' c' L14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 " k- ~ H; E0 ?# [# _" c
, O8 k m& F/ U/ X
15 MOV @RI,#data 立即数送入间接RAM 单元 9 R5 \+ ^% t. W
! h ]: b0 r( x6 i6 a- n8 D16 MOV DRTR,#dat16 16 位立即数送入地址寄存器
' W6 i# p9 Z% R. `' X$ B( E: Y( F. y+ q3 j
17 MOVC A,@A DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
0 L1 o3 t' U [5 |) D% G6 S& J" {, T7 Y& M$ f
18 MOVC A,@A PC 以PC 为基地址变址寻址单元中的数据送入累加器
' B- N0 ]' b1 f$ N! o) v) {1 p* J5 H7 I! x% E' @2 V
19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器
) K$ @* l" q& L- h. z* e9 ~
0 M9 m9 D0 | \) J- m/ t9 r$ n+ {20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 2 o- y/ i: g: C/ c1 w T/ F2 B
! N% R1 }9 |9 d5 ?1 }+ I7 p! R
21 MOVX @Ri,A 累计器送外部RAM(8 位地址)
+ n) B9 \2 A& [/ F; h! k! @7 q/ D* |7 E+ }- ` Y; n6 [
22 MOVX @DPTR,A 累计器送外部RAM(16 位地址)
) j1 g2 R/ p# C0 X2 u$ a
/ d" d3 n1 I9 G* s! u5 S23 PUSH direct 直接地址单元中的数据压入堆栈
: W1 _: y p6 [) Q9 B* W _# a
) o$ R8 F* |, U& Q [3 H24 POP direct 弹栈送直接地址单元 1 B: J8 K+ e& D: f
, ^9 q) Z$ Z: v# |; @
25 XCH A,Rn 寄存器与累加器交换
! z( a0 }/ x j9 h9 e
1 |4 U9 U8 q* g. h. t" p; v2 r" M26 XCH A,direct 直接地址单元与累加器交换 5 n$ ]; D. Z: o* j) m
0 O% a, Z- _' S& i7 {( t$ U27 XCH A,@Ri 间接RAM 与累加器交换 0 }$ s+ d& n; }+ Q
; i5 e" \& Q4 ^
28 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 8 @$ ^! a& Y" L) n- H9 M
3 ]# o [, @( E: `+ U" }2 A r
) p' V$ y- M/ {算术操作类指令: 2 B( ?% G) g: ]1 C( B
1 h$ s7 {% T& M; s* T' W1 ADD A,Rn 寄存器内容加到累加器 % D" P3 U+ H: i
: M. s& i% j& |% H/ w* A$ v/ e
2 ADD A,direct 直接地址单元的内容加到累加器 3 S3 l \8 n2 h7 p6 W, y B+ V2 v% I
. b6 e0 z4 Q/ x) b; e, Z4 y* f3 ADD A,@Ri 间接ROM 的内容加到累加器 ) m+ s8 ]3 _" \/ H+ Y
) }4 G6 E3 o# |; z* z7 J. G) u" ^
4 ADD A,#data 立即数加到累加器 2 [" f1 H) @; D6 T" v8 W' ]- v
6 z' S* I# O# S' A. X
5 ADDC A,Rn 寄存器内容带进位加到累加器 ; ^; b5 R9 `2 }+ ^+ J7 K' A3 k
1 i' V8 w# f/ ]+ [% W, m2 W
6 ADDC A,direct 直接地址单元的内容带进位加到累加器
2 x9 g- E& ^: b& \6 @% Y1 c2 H3 K$ c" g: [! d( |; @
7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器 # L% J5 q d* \8 G
' D" H. B+ c' i& p0 P, D/ D2 ]" x8 ADDC A,#data 立即数带进位加到累加器 $ `& z3 a9 f, |* [
+ T2 v7 p5 a9 |
9 SUBB A,Rn 累加器带借位减寄存器内容 - {* i* F/ p, q9 ?3 T" F2 F
. x; Q; F# M( N) Q
10 SUBB A,direct 累加器带借位减直接地址单元的内容
1 K+ n3 \& U4 v0 x/ J1 g4 O3 v! g" e! {$ M! L; j1 m
11 SUBB A,@Ri 累加器带借位减间接RAM 中的内容 2 n6 D1 H9 I, Y9 Z7 [
d9 e. A, u A: l* G+ {, }7 U
12 SUBB A,#data 累加器带借位减立即数
. {" Q }! O1 q9 D. ^! o6 A& N
% u# U( I' `$ S* F4 J8 B13 INC A 累加器加1
9 }: [& Y& ^% q+ b& K2 n1 h# }: X) \- k+ J( E5 v- ^" _
14 INC Rn 寄存器加1
, l# X; E; R/ K# n3 f2 y; ]4 U/ T4 K6 {0 z6 S1 `
15 INC direct 直接地址单元加1
, Q, P! O. N8 _7 n" h+ h$ r, _0 R' s& ]4 ~1 e
16 INC @Ri 间接RAM 单元加1
/ _, a; c( w' k4 `' J( G3 R4 d6 E* S1 i' I
17 DEC A 累加器减1
/ T$ ?( Y+ T+ t& U' E# x
, `4 z' l" f+ \; ?18 DEC Rn 寄存器减1 1 12
9 w* Y$ _# q. i9 |% W$ X
) f+ y% [" j# Q$ O/ s3 R: i3 |19 DEC direct 直接地址单元减1
% r4 g) G$ w" P! a+ v
# @2 I& a% B3 @0 W+ A. ]20 DEC @Rj 间接RAM 单元减 1
4 ^* q* q9 E0 \& A1 d3 t' j8 ^* o8 }9 D9 s) b8 c; Q
21 INC DPTR 地址寄存器DPTR 加 1
' ]( y8 u2 g6 w& g! E1 ^4 g2 h( ~) p" { O7 Y" Z
22 MUL AB A 乘以B,结果放在A
2 W! g# C9 ]# } ?0 E, D3 ]+ X( J4 p1 r7 E$ v7 g6 [( P7 e& _
23 DIV AB A 除以B,结果放在A 9 m; m. x- E" o
" e3 R" \, l6 m8 i
24 DA A 累加器十进制调整
1 b+ ^; l. _. e; n8 y3 t# b4 W& p# W0 |" a1 @- p$ d% k
1 X9 U0 _( v: G2 s( [/ T; J) D/ [布尔变量操作类指令: 9 a: f" J# c" v8 ?/ ?" [: o' ]
* s9 B; `& A ]) W" S* q3 g1 CLR C 清进位位
# s& u5 |' C' G+ d
- S. L3 n. N! j% M: ]5 R5 B1 c: X2 CLR bit 清直接地址位
# C7 l( M9 f8 H5 n5 c( g4 ?' L* i1 t$ }& E: A
3 SETB C 置进位位 / z+ k& |* b- A9 O7 m7 f- m
# `+ \1 a( X0 B0 C& ?
4 SETB bit 置直接地址位 , b% u. c+ Z* |; f, q
" H# z# k) d+ s I( y5 CPL C 进位位求反 - X) s5 i6 f6 K% R9 C, A; |4 M
" R% \) u$ E9 N) Q B2 g5 Z3 T
6 CPL bit 直接地址位求反
7 r# e/ o5 i- e( z8 _! v: p
p8 O# l( n0 [" d) U f9 ?: |0 ^" o7 ANL C,bit 进位位和直接地址位相“与” 9 L7 z0 y0 x: L' j. G
X0 I% D, r( _1 p
8 ANL C,bit 进位位和直接地址位的反码相“与”
! M, t. m$ _8 c9 R' U' m- K1 j# U
9 ORL C,bit 进位位和直接地址位相“或”
4 q* i" A0 {' T, j. ]
/ F7 ?1 B- ~ k0 k/ Y10 ORL C,bit 进位位和直接地址位的反码相“或” 3 X- y* F! C7 y6 p5 W. E
, z5 N+ I9 o+ l11 MOV C,bit 直接地址位送入进位位
$ g' `8 r+ u- K( Z0 N4 _) D/ C" c5 d8 j# ~/ X6 B
12 MOV bit,C 进位位送入直接地址位 * |" s7 k8 S: \5 Q0 p( V
0 b# D) [6 o# H: A6 {* ~
13 JC rel 进位位为1 则转移 0 c8 v9 v$ }% r4 J. G: i/ v
6 S. `- w0 e" o
14 JNC rel 进位位为0 则转移 " e0 q+ W, u/ S+ _' \
7 k$ L% Y* `! _3 E& f# S* x3 C
15 JB bit,rel 直接地址位为1 则转移 7 g8 i4 L) P! T! u; o0 J- h
% `, `1 `8 H1 r' p
16 JNB bit,rel 直接地址位为0 则转移 7 @( u0 l$ `3 l, Q+ \
% J$ @$ J8 H) K c, N% e+ ^9 _
17 JBC bit,rel 直接地址位为1 则转移,该位清零
. U# ?0 r! |& a: B# q: {6 c. ^" \3 f6 v# F4 f
1 `2 ~0 p& m, a' V; _逻辑操作数指令:
$ n" l+ v9 W: m+ M3 x: g. I
* J3 g$ d1 s% D; W0 E+ G1 ANL A,Rn 累加器与寄存器相“与”
/ J- K+ O* a. g( q: F0 F: _2 n' P' d
2 ANL A,direct 累加器与直接地址单元相“与”
- s, i# U$ L# {3 v# K; C! C+ |' u! D2 a
3 ANL A,@Ri 累加器与间接RAM 单元相“与” 0 v% J# c, e R9 B+ Z: ~; }, S
5 T8 ` p0 X# |, j4 ANL A,#data 累加器与立即数相“与” * k2 v& ?- R. B0 o$ v
, Y9 a5 G; r5 u0 ? K. n+ j$ i
5 ANL direct,A 直接地址单元与累加器相“与” 4 y" T" n. B, f: H1 T, O
5 l8 d8 h8 t2 A; S0 N# U+ x6 ANL direct,#data 直接地址单元与立即数相“与” 0 T: L8 f! i0 d) L: S
; Y0 k9 U* @: y# c7 ORL A,Rn 累加器与寄存器相“或”
' e+ v; X, x* V
- @; E% C k5 n& @6 M8 ORL A,direct 累加器与直接地址单元相“或” " x5 b, W1 h [ H5 l. j( y
( n7 J) R3 F, s1 D7 [" ~4 b' d3 j9 ORL A,@Ri 累加器与间接RAM 单元单元相“或”
0 q4 @& o( v$ U' u- M3 m' `* _8 S, D6 N5 k
10 ORL A,#data 累加器与立即数相“或”
$ N4 A6 _! q6 S% |/ W) V, K5 K
! D+ R1 z. S9 u, d1 n11 ORL direct,A 直接地址单元与累加器相“或”# C/ C" G, J% x1 E0 ~- {" B
/ M- p( \; b, A b ?' W
12 ORL direct,#data 直接地址单元与立即数相“或” ; M3 Y2 R5 `2 U" E7 f/ k* }- j
/ B5 L4 f- F" G/ l3 \0 v8 r
13 XRL A,Rn 累加器与寄存器相“异或”
4 U/ T. l" _: `# m
. I. l& [0 q) u% J- j2 Z1 B14 XRL A,direct 累加器与直接地址单元相“异或”
' H$ ]- f. \. s; v+ @" E2 G: P: z9 F6 i) N6 b5 _
15 XRL A,@Ri 累加器与间接RAM 单元单元相“异或”
) z2 T, E( U# Z% P
* X! Z! [! ~ w$ T4 i, F16 XRL A,#data 累加器与立即数相“异或”
+ N% `" G0 d) M! |, t* m) D% m$ N; H9 Z
17 XRL direct,A 直接地址单元与累加器相“异或”
: R3 s* R# z6 U0 m2 J6 P
; C; W% h1 Y1 k4 O: E. I18 XRL direct,#data 直接地址单元与立即数相“异或”
/ w. r9 q" t$ ?1 B8 k2 K9 }# y" d7 c4 i+ j- \) q7 @4 {3 c$ l/ L
19 CLR A 累加器清“0” 3 r- j. F: A; t) ?5 d* d" x& Q. F
& M4 }5 ?. U e) o* y
20 CPL A 累加器求反 2 O# n; T2 |3 s+ C! H1 ?& g- }5 N
& u$ J4 T) s7 [21 RL A 累加器循环左移 ; y+ _8 o% F3 H# n4 \
+ F1 n1 F8 [+ l+ J1 p
22 RLC A 累加器带进位位循环左移
, _! [+ J! \5 ?
- Y7 g% P# j! f, O( A- g23 RR A 累加器循环右移 7 w: H! ?& l( E
4 C; v# G5 T$ D$ Z24 RRC A 累加器带进位位循环右移
* N" z E) |) t7 _* x, @
6 T# Z, y2 O3 [! `- i25 SWAP A 累加器半字节交换
. k! J2 |1 h! V2 M/ h2 B, l
w& v* y; A4 T, K# D! F, }4 I2 }" O3 Q& y
控制转移类指令: - J( S1 k f: k V q; |6 p
. b7 A; j( k4 N! V3 [5 Z+ s1 ACALL addr11 绝对(短)调用子程序 , r" Y/ O2 A& W: @& q% \
0 n+ ]4 j+ N' i6 V+ I2 LCALL addr16 长调用子程序 / ]; C* H) R) v' Q9 s5 I
1 J0 I) x8 |) K5 i z. \3 RET 子程序返回 6 K, ~0 @1 S/ y- W- i; Y
/ O. v3 X$ e! C6 c* K" b4 RETI 中数返回
: ]) U" H- E L% M* a6 @, L
! ?, W- l* U2 c {1 u5 AJMP addr11 绝对(短)转移
" M8 t& M. D9 U4 h" S# E3 l& k9 H; E6 y$ ^3 t
6 LJMP addr16 长转移
" W# Q% Q' U9 {$ b- B! A+ E
' }: r- I: R! {7 SJMP rel 相对转移
* A7 G& y& i9 M0 Z% K: _: C4 z- G3 Q* a- t; F
8 JMP @A DPTR 相对于DPTR 的间接转移 5 u; b1 d, W8 P
8 a% j9 m3 f* f! [1 _8 V9 JZ rel 累加器为零转移
9 `# g8 q, h4 k3 b# g; s- A* t l/ o! B* z) a( y9 }
9* JNZ rel 累加器非零转移
, n) I R% f8 c9 c4 H8 R: V* r, G1 U. c# q
10 CJNE rel 累加器非零转移
) [' E: w) d+ B! T' D# ~2 X3 O0 Q" |) O, \% b5 _. I
11 CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 / c$ o# }, ]7 b: |; a$ C) O; u" ^6 w
8 z: b) C& \, I( `& e- s, w/ m12 CJNE A,#data,rel 累加器与立即数比较,不相等则转移 ; `% q4 ^ ~! L
4 a* m' s3 n4 Y: e( g13 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
) d- ~. n3 Y5 s( G0 i" o! ~6 r0 ` j# Y M
14 CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移
4 V6 I, q% G, i1 l! h8 i$ `6 w1 N" x& s5 B
15 DJNZ Rn,rel 寄存器减1,非零转移
: `( A! N& ?% N" V' P* V. o4 U
M/ Q: H2 g8 S1 i# }* R h8 I0 |16 DJNZ direct,rel 直接地址单元减1,非零转移 ) _1 C* J: h6 `# e) h; y
# ^% d$ w- {. \1 m
17 NOP 空操作6 p% y3 \7 ]" c0 W
) q2 M+ l5 M7 \4 `( _2 A4 ^, r |
“来自电巢APP”
|