|
0 M; ]( i0 `- k+ |* j9 c; n9 ]2 ~& L5 s U* x
数据传送类指令:
# U/ o5 {0 ^- @1 O) Z2 ]* d* Y8 a5 m& I
1 MOV A,Rn 寄存器内容送入累加器
9 t+ i4 `# j$ [/ \6 ]# O* F5 j8 W4 ~4 d7 D) c) T
2 MOV A,direct 直接地址单元中的数据送入累加器
( w# z3 w1 I7 k1 V! x+ K, F! ~9 @+ q* {7 S0 P9 ^
3 MOV A,@Ri 间接RAM 中的数据送入累加器 5 z0 }/ S* d) N9 a
4 c& ?; f# K! O5 `( d, N7 @" f4 MOV A,#tata 立即数送入累加器 4 G0 |: m" a" k# |" A8 n% K
' [3 Z( l) s$ r' c, t
5 MOV Rn,A 累加器内容送入寄存器 ' u$ r1 Q) n1 G( F
: l/ O, Z3 P4 z, l" t: d2 Z, d0 y( u( ^
6 MOV Rn,direct 直接地址单元中的数据送入寄存器
4 H C% O. M+ T# z7 }. T7 l0 F
$ G3 T. ]: O- {% g7 J7 MOV Rn,#data 立即数送入寄存器
' @ s }2 _. a- u, O, [4 A* i. g6 c* L% x% r9 F+ A. M; n
8 MOV direct,A 累加器内容送入直接地址单元
/ r+ a0 K0 L# U" a: z$ i; |+ h# L0 T% v# y: C5 c& l
9 MOV direct,Rn 寄存器内容送入直接地址单元
+ A9 j$ L0 |7 C/ a; l% b6 A: ~4 S7 w
, t2 H( u \* F( D10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元
+ I7 i! a, [/ F6 M
+ i2 U# S' O; G! w7 u1 H11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 2 a, {9 Z* t9 S. T% n
, k) s+ V. c% s6 e
12 MOV direct,#data 立即数送入直接地址单元
$ i3 ~* I# |' A, H/ X. a
8 c; d* n0 R- J; e2 L1 R) i13 MOV @Ri,A 累加器内容送间接RAM 单元
6 g; s( |) N# @$ b, a% E2 b
" ]% T0 n; b u! n; Z14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元
; F% t6 j" f+ f O
# @/ j7 x g4 @9 h5 v% B- x15 MOV @RI,#data 立即数送入间接RAM 单元 4 E$ q% ~/ U( e3 C
2 X2 U: O: Z, z9 c16 MOV DRTR,#dat16 16 位立即数送入地址寄存器
) E. g K5 k- J4 g' p# D7 ]/ M
7 X, S$ m5 |! M/ O17 MOVC A,@A DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 X& t6 t/ u% ]3 B
/ m8 ], B/ d, V$ Y" O6 ^. V6 u4 ^5 f
18 MOVC A,@A PC 以PC 为基地址变址寻址单元中的数据送入累加器
P* m) z V* z+ ?! l
( r- N4 {" h5 [: e1 ~* G3 y& j1 p1 [19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器
# b7 T% n, u' x s( s/ | L( @
20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 . J( | j5 X7 p0 f# ~4 N% y' u% q3 ~
0 r- f" y2 d, ]; ?" l21 MOVX @Ri,A 累计器送外部RAM(8 位地址)
7 p* b9 u f+ M T6 C$ B! V# L3 {6 M
- k$ Y3 B; W' v4 {6 ?4 O5 ?6 k22 MOVX @DPTR,A 累计器送外部RAM(16 位地址)
' V: g$ Q8 D& p0 U- [) q W
" N% J2 g \. H2 \ ]' Q23 PUSH direct 直接地址单元中的数据压入堆栈 6 O7 q' W( }" W) U8 ^" N, w, ]
: Z& B$ i! ~: L9 Q0 S- o; C* g8 t24 POP direct 弹栈送直接地址单元
/ C0 R9 \3 n0 h2 C. q8 v9 i
4 ~; f! n( C8 x$ _' }4 O ?25 XCH A,Rn 寄存器与累加器交换 7 w9 Q9 W& E5 ^
4 o: |: Z$ {& j# o6 Y# S26 XCH A,direct 直接地址单元与累加器交换
L# a% w. b0 L5 B& B8 V5 E- p) A% t' r$ V# ~/ s9 i
27 XCH A,@Ri 间接RAM 与累加器交换 & w8 x; a: `1 |: ^2 [" {1 c1 f5 Q
% q/ h, `8 I, M9 ]5 H* y( M28 XCHD A,@Ri 间接RAM 的低半字节与累加器交换
0 j* v7 r1 N2 k
- B) D) D- e! d2 s8 V2 g0 O& [# c, L T1 C+ ?5 ]3 D2 r
算术操作类指令:
/ f2 V. R& |4 g+ C7 g7 e7 R0 V7 F
; j5 S% Y- o i5 k) D; C( g) V1 ADD A,Rn 寄存器内容加到累加器
0 x6 W4 w& Z2 k& j( b: S! R
4 d; i8 E! I, y" f" c* o! L2 ADD A,direct 直接地址单元的内容加到累加器 : q2 u( c% N' _) ^
$ X r9 ~3 v. O: e# \' \1 u3 ADD A,@Ri 间接ROM 的内容加到累加器
8 I% k: V3 u& Y& ^6 z5 P- ?$ @
) ]( \4 h |5 C" s3 t4 ADD A,#data 立即数加到累加器
) P* Q; m& y* B$ N$ r8 D; q! F* D, g4 J
4 x: H* Z0 F+ Y5 ADDC A,Rn 寄存器内容带进位加到累加器
T* k! @ X8 P2 r+ D& q, g0 a5 a
; L, j" x; M5 V. }8 w6 ADDC A,direct 直接地址单元的内容带进位加到累加器
0 P I" N) o) X+ ^$ Z, N7 Y0 i. `. `- F
7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器 & a1 X2 A& d3 v1 h
' C! e$ U& g9 `/ ]/ M7 D* e8 ADDC A,#data 立即数带进位加到累加器
: c; i3 I' v9 F6 W) A1 O, ]' q$ h# q
9 SUBB A,Rn 累加器带借位减寄存器内容
# N% K' _, X4 B; p9 p7 M- c+ u' @& \& e9 t* S2 C! A0 F
10 SUBB A,direct 累加器带借位减直接地址单元的内容
% b: | w1 [7 \) `
& v3 V, I1 K5 C1 z+ D* z5 r11 SUBB A,@Ri 累加器带借位减间接RAM 中的内容
2 d$ b3 |5 w4 t' L# t* o% ?
8 y( K3 f' \- }1 b' o; Y2 X1 v12 SUBB A,#data 累加器带借位减立即数
4 T$ Y4 |7 n4 W! D6 i3 e9 K
6 h; u+ @* ?- x3 m0 R# V5 @) f13 INC A 累加器加1 / n' W! b4 _) x' E2 f; n+ n
9 ?: e4 p/ m) ^* M5 q
14 INC Rn 寄存器加1 ' b3 ^. N0 D" D1 V/ H" e) f+ t
* f4 x% V' E$ R2 ], |7 G
15 INC direct 直接地址单元加1
Y* S% r$ ^ _9 T6 K& Y# W0 T* G1 R
16 INC @Ri 间接RAM 单元加1 ( m% e3 c$ Q9 {- T1 P4 b. V
8 i n) V0 I+ Q( I2 L' y* z, n2 g17 DEC A 累加器减1 - c# B; _, D0 V% ?8 J9 A$ S
3 Y& w* v) Z: n2 b* F" D
18 DEC Rn 寄存器减1 1 12
; a8 K+ D9 y; R- O; I3 |( Z& P9 B7 j# S
19 DEC direct 直接地址单元减1 + Y0 I: p7 ^; |
0 i# W# d8 _# U5 V5 I
20 DEC @Rj 间接RAM 单元减 1 6 g( D- k& y) ~ R6 k$ D: G
3 j; n7 t/ b$ w& I5 h
21 INC DPTR 地址寄存器DPTR 加 1
) C9 R6 B6 ^, T& E) B' W& N, Q2 a6 }* l; z! l6 I
22 MUL AB A 乘以B,结果放在A . U" v7 c v; ~+ S `4 X J7 T" n; ?
& E( L! G' X0 d& u4 e$ T23 DIV AB A 除以B,结果放在A & r; {! w9 P( V3 ~0 w0 j$ C' ?
& Q' `6 [8 ?1 M. W24 DA A 累加器十进制调整 ) H9 q( b. ^, I. i% W
/ H4 r# t$ Y z5 S4 v, a3 J; I5 x8 Y# n7 @
布尔变量操作类指令:
+ J0 m" j6 ~1 r
& ]( W; O$ |+ Z0 V K1 CLR C 清进位位
; |" y/ m7 v/ E$ M! M; V m, K0 p ]9 L% I" g$ H5 r
2 CLR bit 清直接地址位 / Q/ c+ u8 g8 S; ?, m( a
3 a" s- a: F# x4 P {
3 SETB C 置进位位
; p/ w, ]9 E, u& K4 G" ]
5 p( f& I* k& r& y4 SETB bit 置直接地址位 6 t* n* f' r6 e7 h5 A
$ u* w& W6 u& i5 _: ^5 CPL C 进位位求反
0 N$ ]- _5 Z; C3 m' X6 L9 n+ a( c2 Q! H9 Z U `
6 CPL bit 直接地址位求反 3 C* l6 N- e' v0 J, p. q
6 g) r; ~+ c! y( |9 z' D; T5 y
7 ANL C,bit 进位位和直接地址位相“与” / p: A, i; J/ s" g- p C6 z
2 |1 i7 l6 n0 C! ]$ {7 p
8 ANL C,bit 进位位和直接地址位的反码相“与” . n9 U0 i0 b7 q$ C: f
7 u, E, Y; v. l
9 ORL C,bit 进位位和直接地址位相“或” * `. T$ U- d: e: }9 K
; p6 X! w7 V- F& X10 ORL C,bit 进位位和直接地址位的反码相“或”
7 k5 A6 P( j; c( E' M0 K. E2 T, f7 s* I9 Y7 ?/ O' A
11 MOV C,bit 直接地址位送入进位位 / u5 t( l3 R/ {1 o1 ~# P! _
2 P* X. m4 b6 x8 C$ q* q8 A
12 MOV bit,C 进位位送入直接地址位 ( K# ]3 b& M z2 A* R- h# R1 c
9 X6 z2 C* v7 Y; }) X% s
13 JC rel 进位位为1 则转移 5 I' }; M. f2 i0 _' y
, t8 J `/ K9 Z5 N
14 JNC rel 进位位为0 则转移 ' x0 g- M3 [. K! D
8 h3 m$ D0 ^0 q# G/ H- [
15 JB bit,rel 直接地址位为1 则转移 " r: k! y1 S5 J, u
2 z, y# f2 {9 Z6 u: y% I
16 JNB bit,rel 直接地址位为0 则转移 2 B2 I# p8 s6 M: W
( X1 T5 a" U7 ~9 ^' X% J5 W17 JBC bit,rel 直接地址位为1 则转移,该位清零
8 V, L( T2 R7 |5 p1 q5 ~3 D1 `' {! Q% t+ C, T) u3 r3 }
% I, [9 N/ m) g
逻辑操作数指令:
7 T* u! q0 t/ }3 O- D0 Y( F# B+ }+ X" j+ T/ [
1 ANL A,Rn 累加器与寄存器相“与” / q$ E& c5 E3 N6 l9 k W: Z
; Z% ? G$ P6 V% X# n G2 ANL A,direct 累加器与直接地址单元相“与” . G1 K( M8 [' T
# y. ]/ p) S% n# [
3 ANL A,@Ri 累加器与间接RAM 单元相“与”
1 w; }. A$ M5 t7 p! ^
3 t6 t6 j3 Y1 ?$ T4 ANL A,#data 累加器与立即数相“与” $ x8 i0 _+ U* r; P8 P5 M, k
( l7 l% v6 {: O: v; B5 ANL direct,A 直接地址单元与累加器相“与” ' g# o( E2 K$ y1 S
: L7 Z Y. `4 [1 t Y6 ANL direct,#data 直接地址单元与立即数相“与” " n0 m3 Z; u g V. u, b
. v, x1 x( [' n0 z! q: d7 ORL A,Rn 累加器与寄存器相“或” 7 {; d8 S+ O1 ]' O/ Z1 W3 e
$ O" j/ B3 Y; {$ [8 ORL A,direct 累加器与直接地址单元相“或”
8 f$ `( |/ M- Y1 Y9 a. H+ m( ^: F( L* F1 ~' P/ k- u3 W4 ]; \
9 ORL A,@Ri 累加器与间接RAM 单元单元相“或” " q9 J, `# ?& k2 n6 m
! P: u( y+ ~, a( w2 {5 m10 ORL A,#data 累加器与立即数相“或”
5 ^ B! O/ f9 ^& |$ d B+ J3 L5 F3 e, i1 v
11 ORL direct,A 直接地址单元与累加器相“或”
' {0 w4 F2 M0 j: I3 l
H; W# ^# I, h$ k1 f% w8 s12 ORL direct,#data 直接地址单元与立即数相“或”
$ h; H a; C9 K- p) M5 Z* g% B+ h3 l h, `
13 XRL A,Rn 累加器与寄存器相“异或” ) J% z1 Z4 u Z0 |, Y
! }$ }5 c+ }: X14 XRL A,direct 累加器与直接地址单元相“异或”
& s# @$ o8 j0 I9 j* T2 Z5 ^
4 q/ c) d/ d! I' }7 N* H! r15 XRL A,@Ri 累加器与间接RAM 单元单元相“异或”
s3 C# ^# t, B0 U6 M" d+ C/ Z, ^
4 T+ L7 m ?9 C16 XRL A,#data 累加器与立即数相“异或” 0 \) d2 q4 o6 x" f# [
- ?4 D& v2 {9 T17 XRL direct,A 直接地址单元与累加器相“异或” + h5 w& j& x/ v6 G( c8 @0 N$ g2 ?1 D
: E7 x5 V- I* [' r+ i
18 XRL direct,#data 直接地址单元与立即数相“异或”
2 @7 e/ Y& Y& W# j
& Z9 I) Z! @2 I: g6 P4 C# Z19 CLR A 累加器清“0”
! x- }4 U- X' k/ V, P5 G* I4 t* n1 N1 n. Q* L
20 CPL A 累加器求反 0 \# U3 H- {; g+ ]* F
k: ]) O5 R' C' Z, l
21 RL A 累加器循环左移
- ^1 w) V* D9 `: t3 H) i. f. w
" k9 g [- ^9 N9 W& @22 RLC A 累加器带进位位循环左移
; i, k0 i, c D' i( @$ `$ j4 ?: ?# l9 V5 L" o: N7 t5 i; j) X
23 RR A 累加器循环右移
. |' h* i% y' j2 ^/ D. }
. N1 f, z+ p4 y! z) @24 RRC A 累加器带进位位循环右移 8 w. ^( ]( @0 b1 [4 u
9 c0 m. w) i* D% L
25 SWAP A 累加器半字节交换
, y5 n4 `. i$ R8 o5 }8 Q' {- l# ^3 L1 f4 v6 y' v
* L. x, w: A2 S0 y* `* u/ J
控制转移类指令:
/ w' K1 H3 w; u: c! ^
: Z: u5 E& s: C& g. ~# U1 ACALL addr11 绝对(短)调用子程序 9 i* P% R: ~6 C" e2 y
0 e& h, E6 S" O1 X6 n* k
2 LCALL addr16 长调用子程序
% ^! B) r+ ^% v3 |9 n2 [& D5 U" u0 V
3 RET 子程序返回 . O9 v) T; r8 }- m- r- e7 I
; v9 n( [* ^# P( {1 w7 Z1 n! e
4 RETI 中数返回 , T" c7 r' f& R0 J) c6 p" n% d
3 C3 t( O% D6 {% x4 ]7 K1 r5 AJMP addr11 绝对(短)转移 ; {3 m. ~# F" ?3 j* c4 ~; {
" @2 r5 r* C i! I; E8 a8 s
6 LJMP addr16 长转移
) z" r7 u. K0 Y S3 f2 }* [% A; g5 U
7 SJMP rel 相对转移 , _+ i9 d1 O& I! |/ A0 {1 G
! V9 T5 V% z4 o9 i! [5 Q6 I! Q
8 JMP @A DPTR 相对于DPTR 的间接转移
; K% f0 [" W1 c$ y) G; U4 M
8 x& Q/ C4 ?# j' ^2 H( f9 JZ rel 累加器为零转移
2 h# ?' t2 T) y o3 s+ `
0 K3 Q' w$ d% G0 g+ B# X9 f1 W9* JNZ rel 累加器非零转移
: {% l: F( b& I, x, g
V' N/ X& T1 L* \10 CJNE rel 累加器非零转移 2 A* N( C. o! P E L
+ w* w6 ?0 C# `2 X11 CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 , f; w3 y- r$ R* m. r5 c; f$ j
1 C3 V" @% }4 r( y4 |2 O, t
12 CJNE A,#data,rel 累加器与立即数比较,不相等则转移 ! X" K, V- G) \% \- ]
% g2 k" E; y/ b7 S5 n0 {. \
13 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
) U+ f. [% L8 d! ^9 v0 r, ?6 ^$ c; k$ ?
14 CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移 : w+ T5 p! S U, U/ M1 \
: Z8 {/ r6 }+ C# }' w15 DJNZ Rn,rel 寄存器减1,非零转移
- T/ z1 g; `, B- c; n% f7 c1 T+ @
8 R) O; m4 Z( s. O5 D7 `5 `16 DJNZ direct,rel 直接地址单元减1,非零转移
, j0 O+ b" ~/ ?5 ^# G# M8 J, n
8 Y8 Z( ^" S( J% Q ?( v' b17 NOP 空操作# o7 g( M. o& T
7 H" [" s f4 C |
“来自电巢APP”
|