|
7 k) N" G& ~ [7 Z) A9 }
6 c6 K3 j, x: f数据传送类指令:
M4 e, f# G& T; _! i+ b t- m* w( v( U0 t$ x7 ~
1 MOV A,Rn 寄存器内容送入累加器 6 A" T: n* P) l- f. \& q
+ S1 c5 H5 T+ h/ f) j3 d4 X2 MOV A,direct 直接地址单元中的数据送入累加器
% P5 E3 t! L, v" o* `/ B. j, v
W% L5 I; D3 n* @3 g5 m. @8 V: B- _3 MOV A,@Ri 间接RAM 中的数据送入累加器 * i7 T4 ^7 x# }6 W4 ~" Z% |3 ^
* n. k, k; F0 @/ k1 b: ?7 u4 MOV A,#tata 立即数送入累加器 0 ]3 z# O9 G3 b( I7 d7 v( i
! g( [3 F& Z. ^
5 MOV Rn,A 累加器内容送入寄存器 ; i. b [- B/ p9 `1 v4 t
# W* @7 i9 B: w1 t9 @( U6 MOV Rn,direct 直接地址单元中的数据送入寄存器 * F4 E/ f0 z( j% @. x! p
3 g. f/ c3 e7 B- j4 S7 MOV Rn,#data 立即数送入寄存器 . M/ d/ S) r8 C1 c- f
/ s/ d2 e, y; ]9 z! d$ Z# k
8 MOV direct,A 累加器内容送入直接地址单元 6 L; j$ h3 I* q6 |" O; Q' n$ |
F# F, n) t9 R: C/ Q- D1 o
9 MOV direct,Rn 寄存器内容送入直接地址单元
1 ]: G6 f4 F2 o- @' ]) v" V
# N/ J0 L/ V! j! G10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 : G( k' y+ R* ]6 f S
7 M+ v7 N: x) w+ v7 S9 p11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元
, V4 G$ V" @0 T0 o6 M
- O p5 p" {! X. Q0 V( n" k$ c12 MOV direct,#data 立即数送入直接地址单元 3 \% E4 u! \) @3 m! h
, L& E2 j; \. ?% `
13 MOV @Ri,A 累加器内容送间接RAM 单元 * c: X5 d6 V) O5 [1 d' Z1 z- M7 v) m
8 k2 [8 V O3 l/ Q0 F- m j
14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 ( F" k9 i6 O% _# y/ B
- b1 ^ }3 h/ f15 MOV @RI,#data 立即数送入间接RAM 单元
8 ?+ N1 T" p" |3 M9 c5 t- y% S; m0 S" k$ A" f8 w! G. x
16 MOV DRTR,#dat16 16 位立即数送入地址寄存器 4 w% l& w, H" f; s3 v/ B6 I; _+ v
- k3 C' E( t' \5 O) E9 c17 MOVC A,@A DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
}- y6 {& P* H) W& S' L' o* T& |/ w* ]6 s& h, c+ _" p; N
18 MOVC A,@A PC 以PC 为基地址变址寻址单元中的数据送入累加器 8 K7 d& N( ?+ ?
! C9 [$ t9 Y$ V: |
19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器
0 L6 M& y& A+ h# r0 L, M
; `9 [0 N8 |5 C" C20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 , L. w: K% u2 N. P3 O
9 o: d7 B, P1 i3 T# r
21 MOVX @Ri,A 累计器送外部RAM(8 位地址) 3 `# {9 A( O* W+ @. v
* y9 K3 m' p4 n% P5 [1 r0 K22 MOVX @DPTR,A 累计器送外部RAM(16 位地址) , @9 M3 t- b1 T+ o/ A
1 h7 D1 w; C- H5 Y0 j5 A23 PUSH direct 直接地址单元中的数据压入堆栈 , ?; Y- M( X7 B4 F" q3 m: j
0 |- J0 U" v; S9 c8 t4 l9 t5 A9 D
24 POP direct 弹栈送直接地址单元 * M+ e6 ~" P# y8 N9 t }6 T
5 m- t5 G d0 ^+ F d7 t+ {3 E
25 XCH A,Rn 寄存器与累加器交换
( W3 K3 j l! X8 r6 y
& Z& ]- p. @1 [& @4 @ {+ }26 XCH A,direct 直接地址单元与累加器交换
$ R! V* u. `* ^4 O$ @5 w# J* h) |, c1 w! ~! A8 b% v5 v
27 XCH A,@Ri 间接RAM 与累加器交换 ! @8 @7 X( X( _" f
5 ]! i! p" M7 v1 K. J2 C
28 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 6 V2 v! [$ v' s) { @+ U
' F* ^" ?" r/ ~/ w% C
0 @ r# c: ]! |: k
算术操作类指令:
" b) A( |7 {% c# W, u! f2 J7 N& y u4 G( w* ^& {
1 ADD A,Rn 寄存器内容加到累加器 & c& ]' [1 q$ O$ A) S* u
( e# ~8 [% F- Z% G! O9 b# y; }% F
2 ADD A,direct 直接地址单元的内容加到累加器 ) f5 E2 J1 f, v( `% Q
6 G0 S0 x0 x/ V# H
3 ADD A,@Ri 间接ROM 的内容加到累加器 & Y5 z! i% n0 \6 w$ G6 D$ e/ V
& ?! `2 D8 L9 T3 @6 [( F4 ADD A,#data 立即数加到累加器 ; L: J9 G2 ^0 \( ~0 M9 u
' a; j! L# F+ e
5 ADDC A,Rn 寄存器内容带进位加到累加器
( g0 ]! j2 Y. k7 q' n% n, W
- q3 Q8 l s- c6 ADDC A,direct 直接地址单元的内容带进位加到累加器 * I \5 {9 Y- {9 y, H8 y
1 X9 p5 ]' h) L. V& L5 J4 [5 @* Q
7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器
% B- d6 c: E8 V5 a) a
! X; z; C+ l/ j) f! ~$ t$ K8 ADDC A,#data 立即数带进位加到累加器 0 p! A3 ^+ _3 ]+ t$ k: P
5 e B' y& V- X4 L |8 H
9 SUBB A,Rn 累加器带借位减寄存器内容 9 ?/ y& H, V% b& i2 w4 n
) N% u! G. b& Q10 SUBB A,direct 累加器带借位减直接地址单元的内容 5 ^$ C, d/ C% p
3 P m. @( `# i; P% s0 a+ [11 SUBB A,@Ri 累加器带借位减间接RAM 中的内容
! Y- n5 F/ ?2 s. h' [7 \- Z
' o3 n5 `- C9 G1 x7 E7 I12 SUBB A,#data 累加器带借位减立即数
; z7 n& H& H6 N6 ^9 U+ k
, }& w* c9 R% |' p# _2 m13 INC A 累加器加1 + S: J- \/ h8 S* F J' Q
) X" W# z: \. \# c! K7 r% d8 e6 T7 ?
14 INC Rn 寄存器加1 ; o% V, E6 ^0 \7 }; \7 r7 o0 ^
" N [' _+ j" ^. l' ]
15 INC direct 直接地址单元加1 % S7 e9 e; O2 N: M* V
2 \0 i- o) }- n% C: R* O0 Q! M16 INC @Ri 间接RAM 单元加1 5 u B4 a/ d7 d
0 y& e' m$ A3 t$ a' Y, K
17 DEC A 累加器减1 % P! q, I( j5 z' S
# `( V( t! r5 A8 f1 h, V% g/ U18 DEC Rn 寄存器减1 1 12 , h1 q% Q$ \7 S. q& D+ Z3 h
- w+ W' Z& ~7 i: Q19 DEC direct 直接地址单元减1 8 h9 ^( ~' |) [8 V
: t2 I* I# F; ]4 @20 DEC @Rj 间接RAM 单元减 1
/ Q7 _+ y) J, h2 d7 E1 Y1 W0 a1 T/ |/ {1 P" i: p
21 INC DPTR 地址寄存器DPTR 加 1
! j/ m- t3 F& O8 R! ~! K6 K2 W! p3 g1 ?( |$ K' Z; N
22 MUL AB A 乘以B,结果放在A / y I. a% b) |( G2 Y% W: Y
! \1 j7 u2 l$ ?) I6 {
23 DIV AB A 除以B,结果放在A
4 Z! c) H9 z' t( e8 K# }+ n9 c, w @& D! V7 p/ C
24 DA A 累加器十进制调整 $ T! v/ u F7 u9 _+ p Y2 H+ F$ J! w
' d5 ?" C [, ~9 `6 Q0 J1 t, z3 G, l' y* j9 c; k- X( o+ s, m3 U
布尔变量操作类指令: " \7 H1 {0 f- I) d+ f* Q7 c
& p! r5 ~& ^- [, O b# h4 i1 CLR C 清进位位
1 K" B1 F* O4 ~% v. E" i6 R+ ^
# x. D9 y8 t, s2 CLR bit 清直接地址位 * t) S+ O" u0 X+ K! e, b
w: A$ a7 m0 I3 @" p: y! H/ N
3 SETB C 置进位位
" G5 g6 f+ P" L5 Y8 G B) i
1 n$ _7 |& A, A9 e4 SETB bit 置直接地址位 , w( E0 N7 p: w/ F2 L* s, ?
$ W8 k0 d- A+ I" F4 j- T5 CPL C 进位位求反 : ], l; x. K- \# K, Z v5 Y
* [5 y* L- O2 ^2 \ j" H2 n6 CPL bit 直接地址位求反
: W2 R ]+ H# ~+ a% R. g# V
" ^ j1 B$ o3 W9 S, E5 Y7 ANL C,bit 进位位和直接地址位相“与”
' ~ S1 E3 F4 g6 ~# U2 t6 b, w, K3 ]/ R& _6 ? \% J2 p
8 ANL C,bit 进位位和直接地址位的反码相“与” 3 a# ^7 D* ~2 t, {# z
- U6 W0 J+ l0 i- v$ ?9 @/ s! @
9 ORL C,bit 进位位和直接地址位相“或”
+ q- G, H& p' C. D- H! L% Z8 J0 N! d7 i7 A
10 ORL C,bit 进位位和直接地址位的反码相“或” 8 j8 m* \( y/ G5 | e) T1 O/ b" `
: x6 V. q3 R$ X# Q! o( N
11 MOV C,bit 直接地址位送入进位位 7 Z1 g( Z9 h2 ]
, q$ L; y/ M4 z `
12 MOV bit,C 进位位送入直接地址位
! H* I$ y% f K' ?
+ \6 P" p' M* b; l- O) t13 JC rel 进位位为1 则转移
^9 ?6 X. b% i5 U, s# B
& s$ T( g; Y- @6 _. P. Z14 JNC rel 进位位为0 则转移
; T' q6 v: P, t" x; @) I6 j: K/ _& P! X/ ^5 u* v
15 JB bit,rel 直接地址位为1 则转移
3 t" L/ Q1 E& t$ }# ]- [0 ]
9 V$ {/ r4 t5 @3 {4 W: c. w16 JNB bit,rel 直接地址位为0 则转移
" d! @( b; C! h& F7 K
5 B, c& q; u+ m1 K17 JBC bit,rel 直接地址位为1 则转移,该位清零
0 Y+ b3 {* Q( {3 Z
5 w9 z5 a' y, X8 p) v" s" c8 L% }, b( j1 _
逻辑操作数指令:
9 }, w) M0 Q- d: _* I; O
, h4 R u& }2 l3 b& m. X1 ANL A,Rn 累加器与寄存器相“与”
, M+ [, ^9 B6 `( d/ W7 J+ r, x q" D- V! w \, A
2 ANL A,direct 累加器与直接地址单元相“与”
" p0 v2 }% Y/ h+ f8 G
2 E' `( U! ]/ f1 e' l3 ANL A,@Ri 累加器与间接RAM 单元相“与” " x: I- {1 p! S- u$ G
$ B- [4 E! u% [ e: N4 ANL A,#data 累加器与立即数相“与”
/ @. ?0 D- X0 [" d4 D# Z' |
e# @& G# [5 P8 ~$ ^. g2 h; |! e6 E5 ANL direct,A 直接地址单元与累加器相“与” ! X/ N. d$ _- e q$ `$ I, U
2 T; y6 E4 w* D" z9 u/ c/ |6 ANL direct,#data 直接地址单元与立即数相“与” % a" l `& U2 ?6 `: u; ^9 M
. m" _0 P/ U- m
7 ORL A,Rn 累加器与寄存器相“或” ) Z# o# _* B& ]1 p* A8 _6 a4 M
- N" [* ^& m0 l* k" y9 \ V
8 ORL A,direct 累加器与直接地址单元相“或”
- b! `1 |) k7 o# r2 x0 u0 Z4 A4 r. M7 c! n
9 ORL A,@Ri 累加器与间接RAM 单元单元相“或”
5 p1 G# @1 X5 t4 u% L
" N& o) s5 O& t% I8 ]. A10 ORL A,#data 累加器与立即数相“或”
0 ?0 v- g( y& @% D1 X
2 C A$ O7 [" H8 r1 V# W0 B11 ORL direct,A 直接地址单元与累加器相“或”' o" {& q4 m8 O2 ^ k7 u4 Q: q
- w9 T3 F0 q# M7 E6 F8 s$ R: k1 N12 ORL direct,#data 直接地址单元与立即数相“或”
# r; L# q3 b- l
& D; ~2 ?2 x4 m6 v5 y3 z13 XRL A,Rn 累加器与寄存器相“异或” 9 x' N: F: o/ ^# X5 B
7 k, G9 V7 k# t6 B9 w14 XRL A,direct 累加器与直接地址单元相“异或” & l- [) X* F+ f3 o* t- _8 T; `
6 o# M5 k2 b6 o- b: @/ R& R8 A! X/ b
15 XRL A,@Ri 累加器与间接RAM 单元单元相“异或” ' P: A! M3 c( L6 N
: s- P. C( h8 l, M- @' G
16 XRL A,#data 累加器与立即数相“异或”
: S: x! ?4 K7 z+ Q! k7 b! O4 e, d4 q( V! w
17 XRL direct,A 直接地址单元与累加器相“异或”
8 q: j9 H1 h: e7 s! ?; G, V9 Y6 b, b/ R
18 XRL direct,#data 直接地址单元与立即数相“异或”
3 G3 V1 R. D$ b6 P3 }* g: T" u8 g# B& J
19 CLR A 累加器清“0” " o7 y: Y+ G9 O
/ a9 J4 d& k: `
20 CPL A 累加器求反
) G: R$ i; I: J: L8 j: _& r n8 Q
$ Y8 z/ E2 ~% L& ]+ L. u! y+ x21 RL A 累加器循环左移
# n; }2 E' T% W" |( [1 S9 F7 ?) ]5 o; c$ J: h
22 RLC A 累加器带进位位循环左移 % {8 D/ {; x* d" S5 _0 S- W
+ l: O& ] y0 x; y( W23 RR A 累加器循环右移
& |" M4 n% A. q* ?9 z) K$ M Z
8 f6 u. |9 q0 r+ z+ G24 RRC A 累加器带进位位循环右移
; |8 n6 ]: @( [( x, F
* h0 S/ l4 M2 ? h/ ]2 o, b% h25 SWAP A 累加器半字节交换 3 K7 W, B$ P/ D* O
( V: w' d* }3 c7 r. ?
2 p- J5 n3 L3 M& O控制转移类指令: 3 T# G% k) Z% m( e" G6 G' X* Z$ r1 h2 m, y
/ V" s3 x8 L$ b
1 ACALL addr11 绝对(短)调用子程序 ' W9 H8 [% C& v$ {/ o! f! T
5 X. n H- }* P5 r! o( r
2 LCALL addr16 长调用子程序 0 C; ^) M* Q" w
4 P+ P0 G2 ]9 M/ B
3 RET 子程序返回 ; e7 j2 u, E2 ^$ X; P" V5 L2 P
- b) @0 [% M% J/ Y4 RETI 中数返回
( c3 c6 H( H. Q1 D1 A* _/ `0 \( y- x T
5 AJMP addr11 绝对(短)转移 ! I9 d4 x6 J4 I1 Z* O: n$ P
/ O0 m) ]( v6 Q. J9 Z6 LJMP addr16 长转移 4 ?6 \: Q, r$ j& Q4 L* R
# f! l( R; }5 W$ d8 i- K
7 SJMP rel 相对转移
8 `* l8 w5 c, s$ {' O: V, }: O1 ~% I) O- B; r
8 JMP @A DPTR 相对于DPTR 的间接转移
) k( |6 v: ~5 t( N1 W1 H8 u2 T: L3 e9 f. E `% a: M
9 JZ rel 累加器为零转移; p% |& u( c; g {6 s
0 R2 y$ Q( T7 `9* JNZ rel 累加器非零转移
* T, z- a* Z- j% V; y8 S* p
% [7 D- X" L# g! b# P6 F9 e; i10 CJNE rel 累加器非零转移
- ]) s+ |8 F$ X4 L. o' x
) B* i7 n2 W# A' C" x( O# g* h6 X11 CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 + ~+ @1 ]7 E/ c# j, B
1 A/ r" w8 Q e) P/ Y12 CJNE A,#data,rel 累加器与立即数比较,不相等则转移 ! u. }* _+ u; d+ |
0 u8 g0 d& B- N: Z. B; ]/ x1 A. i13 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
( x1 q; z$ C6 h8 p( ?1 F, L( e/ B7 ]
14 CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移 : w" `: C% n( W* L( g
; ]9 G2 L3 r8 j
15 DJNZ Rn,rel 寄存器减1,非零转移 7 u( Y! v3 W& G/ e# n7 U( b) A3 B
6 I; B8 ^! T4 @: L, ^9 X1 v16 DJNZ direct,rel 直接地址单元减1,非零转移
$ Q2 ]- @ o$ [8 _" n+ `; g& e
17 NOP 空操作
+ R# ~, F) E' ]& w; C) P, D, w, ~9 y" F
8 K+ g0 G# ?8 ~) D) _3 M% \+ l |
“来自电巢APP”
|