|
3 {8 p; z/ o6 z3 O2 h0 @
7 M6 I. l& m& c3 I% R8 O" H数据传送类指令:+ ?/ u6 V! C, T1 R3 z
! O Q+ j8 d: i0 R, B! e2 F5 {1 j) q
1 MOV A,Rn 寄存器内容送入累加器 0 G. |; Z& s6 A& Y
, N& f- M# P) Z. Y U- g# O* Y% J
2 MOV A,direct 直接地址单元中的数据送入累加器 $ j2 n; ~) `& x' K* p% z5 w
: f9 B2 _% X' u* c0 J3 MOV A,@Ri 间接RAM 中的数据送入累加器
0 \7 U3 @, Y7 d0 S& U6 ]0 z
% |3 ~4 M w) E0 V4 MOV A,#tata 立即数送入累加器
) P) }: K& ]) E& _- Q# o& z. P
d/ W6 I _& W! l/ g9 C5 MOV Rn,A 累加器内容送入寄存器 5 H. w7 m( C3 U& E3 @4 X4 u! `
- x; k; z* o4 n3 r) y4 y6 r
6 MOV Rn,direct 直接地址单元中的数据送入寄存器
+ Y7 a4 H \' K. k& u% P
- l3 W. G! V; j7 n& b) g+ D! m0 B7 MOV Rn,#data 立即数送入寄存器 9 K9 [) q ^$ s
) z$ g3 j" J# W' R9 ?8 _2 v* o8 MOV direct,A 累加器内容送入直接地址单元 0 N0 D! d( @" D6 A: t7 }8 ^: x
& G ?& x% Y( u1 A/ w. C
9 MOV direct,Rn 寄存器内容送入直接地址单元 ) x- l+ m4 ^- p2 B Y! n! Y
0 E+ G& ^1 H6 [2 _( H) U7 [' r
10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 y: f. @, A, t7 O
% {3 a3 B) w5 S2 S* i11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 : H7 I+ O& i2 k
, N @! P2 T, y$ ^, U5 l
12 MOV direct,#data 立即数送入直接地址单元
! B' i6 [% O( b/ s$ C, Y& R
1 U' `& g! Q, [2 F5 Z C& |5 V" Y$ k; O13 MOV @Ri,A 累加器内容送间接RAM 单元
& ~. Q8 h0 v$ K3 N. t1 ^ ~6 `( N7 `# i8 M* k6 z e' t. j
14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元 9 u8 `% I$ m9 K# E( K
5 K5 z& J T0 ]0 R" B15 MOV @RI,#data 立即数送入间接RAM 单元 & C# {2 R, D# ]/ d0 N: z! Q9 d& E* C
B! H8 t8 Q3 a( O8 e16 MOV DRTR,#dat16 16 位立即数送入地址寄存器
4 j4 q3 M6 m+ u# M6 E: Y. }8 k) B
2 G l) ~) [+ P( J0 I' |! }( P6 k17 MOVC A,@A DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 R W. O7 D5 t) P6 J) ]8 B
5 U4 @# }. P& S0 P }, }18 MOVC A,@A PC 以PC 为基地址变址寻址单元中的数据送入累加器
1 C) Y& W% D% q
, d+ E3 |; ~4 J1 W19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器
& N" _6 S1 B, d& }# s: ]. I$ O8 }& Z' O0 b/ c$ @" H. m# U: ?
20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器 . e" z* }! f% T* U2 u
& Q& F. A' O4 c
21 MOVX @Ri,A 累计器送外部RAM(8 位地址) ; ~9 j A; d6 f
6 \! J& P$ Q& w/ s/ t! q8 ^4 w7 E22 MOVX @DPTR,A 累计器送外部RAM(16 位地址)
9 ]' C, y/ S; H0 _2 ]- q' ?
6 Q9 y% U9 K4 ~# g, n6 k23 PUSH direct 直接地址单元中的数据压入堆栈 5 m! _! |/ d' e, N! @/ W
1 V- P& M1 p6 L, Z1 {0 ]24 POP direct 弹栈送直接地址单元 + |4 P6 N. j* ~# x8 I
* R8 R3 M% u# N- w2 H/ z! B$ W
25 XCH A,Rn 寄存器与累加器交换 3 u) \$ N4 I- z5 u
# a# f/ t' U* g
26 XCH A,direct 直接地址单元与累加器交换
2 \ T5 G3 I& ~2 V& F( O
8 g7 k' D6 ~. j0 S9 F( q27 XCH A,@Ri 间接RAM 与累加器交换 " N2 K& E, K) O( m: v- g; w1 m
. B. F. Q! _: ?& X( L28 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 ! Z! W8 v) {: v
# A# z2 @* {% a3 o1 ^
6 S+ R" F7 Y4 }4 a/ O算术操作类指令: ) w: s7 \ ], {+ Y# @+ g
8 d' l+ v+ n4 A1 ADD A,Rn 寄存器内容加到累加器 6 j3 p( h& \. n" l+ x# e2 Q
$ D( d; u, j1 e r( N2 ADD A,direct 直接地址单元的内容加到累加器 # E4 |& S& ?+ Y/ D$ g
5 N' u5 @9 g; Q4 d- I d9 k3 ADD A,@Ri 间接ROM 的内容加到累加器 ! B+ z, Z n, O2 I
- U8 Q* c' o% j- a
4 ADD A,#data 立即数加到累加器 ) `' B1 S7 n9 X w
7 t# h. s: K7 P- z0 P8 q7 M- z
5 ADDC A,Rn 寄存器内容带进位加到累加器
) c- p& b* Y2 c# x$ B7 h* T9 m+ E3 f" Z
6 ADDC A,direct 直接地址单元的内容带进位加到累加器 7 d8 T$ y8 |( f) [; B
- z0 O- U- h/ D* X' H% P# o3 f9 ^
7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器
! ~; q& o/ i& t) K1 s- A/ f, d& Z( K! ^3 j+ ^9 n1 ?: M# f
8 ADDC A,#data 立即数带进位加到累加器
" T) i9 A6 T8 n' }: i$ d) t
8 c ^* j4 ?9 ~- b# ?+ }: u9 SUBB A,Rn 累加器带借位减寄存器内容 & O% r% X3 o+ d) J, T
; I4 ~$ s2 @. @, G7 `/ l10 SUBB A,direct 累加器带借位减直接地址单元的内容 6 a+ n% K3 `* ~) {8 V8 Q" n- {5 q
: u' N* b* g! a0 O8 q# @- Q
11 SUBB A,@Ri 累加器带借位减间接RAM 中的内容
# }% d* _: r [8 z
! C8 N/ d* [( P% q/ n0 [8 l12 SUBB A,#data 累加器带借位减立即数 0 ~" {- t9 J8 f+ z
, O6 j: W G7 B! K& [% ~
13 INC A 累加器加1
! Z3 S/ u) {9 |; T5 M, E( H) D0 P# `8 I- f# i9 P, @3 E
14 INC Rn 寄存器加1 6 \4 x7 X8 J$ V4 w
) } H( N' e5 R
15 INC direct 直接地址单元加1 6 ]) ?4 U4 d( w; L
- {5 a3 f; P5 [
16 INC @Ri 间接RAM 单元加1 $ J, \+ Q/ W( e9 }
% e2 m, I4 a; w- ]! T17 DEC A 累加器减1
# @% A5 @. d% s% @; e4 b
* ?. R1 L" a, j- d18 DEC Rn 寄存器减1 1 12 1 g$ e. g5 C: K' h/ D
I) ?& Z6 A3 ~! Y3 A, t% _) p5 E. C19 DEC direct 直接地址单元减1
+ Z3 Y; @6 H2 z: t& K+ g! i
[$ f' g7 v y% D7 W20 DEC @Rj 间接RAM 单元减 1 . C" K( B/ N0 x5 M
) B: A# A5 c1 k( n V# s21 INC DPTR 地址寄存器DPTR 加 1
0 {& X* ~; y4 p- q! N; M: e2 i
22 MUL AB A 乘以B,结果放在A
- x S/ n9 X% Z4 S" J$ o. m8 ?5 @. P* E* D5 J
23 DIV AB A 除以B,结果放在A
' O7 X- f( v! z, \8 Q3 B0 A* S( M+ B# }
24 DA A 累加器十进制调整 3 K& O( j3 x" X `- E
) u- U3 @7 I6 r, f; }/ v5 v
2 w) V3 z0 C/ O$ j% q0 |布尔变量操作类指令: $ n. I: N+ J- ?, _# _% ^
; p: [' m/ y W1 CLR C 清进位位 " I2 v# S: D5 f7 B' u7 G
^$ X; r2 v8 X/ J* \2 CLR bit 清直接地址位 9 x+ D& f# X2 d
( t( o, \+ F5 S+ _) w9 R( j7 |
3 SETB C 置进位位
( N; a& N6 { n) C3 m1 @9 @0 r$ e
4 y/ V- q% @5 [) F% B/ R, Y* `4 SETB bit 置直接地址位 " ?, |( d8 Q3 a
2 y' ^ |7 m. ~( w# ^& R! ^5 CPL C 进位位求反 9 A: F$ ~/ u, y
9 ]. ]; ^$ C/ ^ }
6 CPL bit 直接地址位求反
) Z; t9 H+ `6 n
" K8 [4 r9 ]+ b1 c) R7 ANL C,bit 进位位和直接地址位相“与”
$ U4 m7 N' U5 S& n, Y! ?) J2 |9 e- S. x( r! D
8 ANL C,bit 进位位和直接地址位的反码相“与” ! J7 v- E6 l3 m' t1 |2 |* m
9 d* L1 |* ~, M
9 ORL C,bit 进位位和直接地址位相“或”
6 r U( x, w1 {& t
2 k0 B& w8 \. B( [10 ORL C,bit 进位位和直接地址位的反码相“或”
1 }4 }4 U% V4 D. Y& G h1 w% Z: |3 C3 Z
11 MOV C,bit 直接地址位送入进位位 / h. R9 a# ?$ p
; I9 @, n. I/ l* B/ ~12 MOV bit,C 进位位送入直接地址位 : j8 c% A9 z8 k7 V6 h/ f
3 a* w; M4 o8 S
13 JC rel 进位位为1 则转移
1 V5 z' y2 g; [$ `6 v) z3 e
9 \9 q2 k) ~) K; j0 b7 I14 JNC rel 进位位为0 则转移
9 u0 [9 l( ^ h, D7 z2 [* {, d: D1 T0 n' K; B
15 JB bit,rel 直接地址位为1 则转移
( U+ w- c. T M9 f& G* K
$ D$ f' d- T* H m' o+ h16 JNB bit,rel 直接地址位为0 则转移
& s2 h6 @, s7 @: y3 ^4 R+ Y* Z- s
17 JBC bit,rel 直接地址位为1 则转移,该位清零 : I8 J5 [- \( }1 W. l
7 b& _) J6 @: E' c- P5 ~ {" @$ j2 o' ~. F* i* N
逻辑操作数指令: / G) [9 C/ Q+ W" i* u0 F; f. i
- \2 T; f' U0 |) b) e) h* z1 ANL A,Rn 累加器与寄存器相“与”
9 ^3 M" ^; b5 C. q7 i: n, Z
1 ]! h7 Z9 o3 f* a) u2 ANL A,direct 累加器与直接地址单元相“与” 6 S8 B# M! r+ K: ]9 ~$ U$ C
# ?- J" W5 _3 |# d( s( }% N
3 ANL A,@Ri 累加器与间接RAM 单元相“与” 0 G% s4 J y/ u: q4 Z
/ p" |/ {3 a! t4 } y# P6 I4 ANL A,#data 累加器与立即数相“与”
$ e- w$ h* a2 @) m' z* E7 ^: K2 `8 W- P- U7 w
5 ANL direct,A 直接地址单元与累加器相“与” ) r& I' @5 b# {) p: Z ^4 B) ?
) A9 |2 f! n: O2 k% Z8 |
6 ANL direct,#data 直接地址单元与立即数相“与” 7 C$ [( U: `/ ?* H$ N* A& ~
( B4 w7 G6 ^% b( L5 q9 ? d7 ORL A,Rn 累加器与寄存器相“或” - q: ?" e. x; x* q0 i
5 w# `8 [0 x1 d9 F. G8 ORL A,direct 累加器与直接地址单元相“或” 2 f" B: {9 ]9 z A6 a9 q8 N
+ Q1 D6 |- W* t" x# a
9 ORL A,@Ri 累加器与间接RAM 单元单元相“或”
# k) E/ R% S( ~" q* ]* [( U6 Y
6 ]% ~" f O+ |8 C5 n8 F10 ORL A,#data 累加器与立即数相“或”
8 G/ p2 `" ?8 c) _1 z
% @1 m8 D8 `% j: V+ Q4 `4 F11 ORL direct,A 直接地址单元与累加器相“或”
1 X2 b5 T. l3 x7 z6 d0 A/ l& t
- Q P5 b2 [8 D5 C5 B; E12 ORL direct,#data 直接地址单元与立即数相“或”
7 H1 s- {/ i5 L( L& _; N' _; g! U
$ `; O# }3 j0 @1 N' }, y13 XRL A,Rn 累加器与寄存器相“异或” N. X7 ^' b n* j: R# m" W: @6 P
9 ]9 |$ L: I9 z' j& ~$ e/ J9 [2 V7 @14 XRL A,direct 累加器与直接地址单元相“异或”
8 B( o6 ]+ X& a* i+ S O5 K+ h$ c( a1 j
15 XRL A,@Ri 累加器与间接RAM 单元单元相“异或” 4 K4 K4 \! k$ X& Y9 f0 [( W
( @1 {% m7 B' n- N2 U
16 XRL A,#data 累加器与立即数相“异或”
, A7 P0 `- x3 m2 k# R
7 h2 o% c: D) D! T" S" E1 ?1 `17 XRL direct,A 直接地址单元与累加器相“异或”
! D6 T4 _8 v1 k% H! n6 Y$ ~6 y# ^' L8 ]/ U2 M' m, a: p- N( `
18 XRL direct,#data 直接地址单元与立即数相“异或” 5 a8 a6 z* W: Q! w( ^$ r6 C4 }
$ l7 s! ~- m- ~3 I2 K% Y19 CLR A 累加器清“0” ) e; E% x- R6 f' m! H! f
( W0 N: @3 Z- {* p9 }20 CPL A 累加器求反 8 O' G! n/ {& M, \" s |; a
: n! ?! T3 t# P- G% {; R" T! u- f, d21 RL A 累加器循环左移 5 p7 ]# J- g1 Z7 j4 g
- E. f3 m, p/ c9 B8 l' n) {
22 RLC A 累加器带进位位循环左移 9 E4 ^9 i3 }) q7 B5 `$ V! E
3 p: m/ g4 j! c, `8 {
23 RR A 累加器循环右移
$ `( f$ e9 t6 q/ z
H1 k* _4 u! I) M" [24 RRC A 累加器带进位位循环右移 2 v1 O. \+ j& y4 c" y( s
2 ~ H R/ T$ @1 Y) T
25 SWAP A 累加器半字节交换 0 [2 y0 f& p& W; p+ \
8 l: R& B; x, C% f& g% n# g
9 ^4 u @: G6 Z1 ?7 r
控制转移类指令: 3 B! R# \4 u) [& w& ]2 G8 _
- h* Y6 w7 J0 u9 M! m2 S. m) n1 ACALL addr11 绝对(短)调用子程序 : X4 \7 u* I1 `6 m8 a
& [3 K: ^$ w/ L1 {$ U5 T) \' ]2 ~( a2 LCALL addr16 长调用子程序 5 ~ i9 X9 u! ~2 G
- f4 m9 d5 Q6 L. r& B
3 RET 子程序返回 $ T" N! I$ N- S) u. t
* d& a( ~0 [8 y5 d
4 RETI 中数返回 . r9 T8 N+ z6 e. j% Y L, q
+ I( ?/ ?6 i! k F4 @& m, j% a, T
5 AJMP addr11 绝对(短)转移
z) d1 ^3 \- n) ]7 F" G: X. q* c, y8 m, v
6 LJMP addr16 长转移 1 ^4 e4 M# o6 Q9 @3 Z B
: k( M, Q- }# N I' ] k6 i6 r8 U! v
7 SJMP rel 相对转移 # W- d( p0 ^" v5 F+ H5 j
" r, z, [5 B B; g* Q2 H0 M8 JMP @A DPTR 相对于DPTR 的间接转移 7 S: Q2 V+ O. `& D8 I0 `6 K
8 A" e* L8 r1 j7 `% Q4 B9 JZ rel 累加器为零转移1 w4 H3 H5 Q2 O6 Y3 s& ^5 Q6 y
9 P' ]% o4 b7 i9* JNZ rel 累加器非零转移
8 g: T, ?( f9 Z4 M+ I. U' \6 {
$ ]2 v/ V+ S$ u; Q10 CJNE rel 累加器非零转移
' u- h: u7 A+ j6 v+ ]* u% ~
, P( `! z: a' _11 CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 6 K! C! r5 _. D' S; }8 T2 G0 }
0 R( J7 R9 [. T# X. A* V9 B' N12 CJNE A,#data,rel 累加器与立即数比较,不相等则转移 ) C% \$ a q6 f4 ^' H* w
/ p, l; Q r6 {# j& O+ @" b5 @13 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
7 r. J1 R9 j7 G" x9 u" X7 P" @; b# J1 L* E; G7 l7 ^" R4 E
14 CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移
5 Y' a( f. s n2 P1 C+ H$ j1 Y0 ^
% D. z, v4 J$ k) X15 DJNZ Rn,rel 寄存器减1,非零转移 - B2 P1 n `/ }8 [
k% W6 U/ z4 |( u
16 DJNZ direct,rel 直接地址单元减1,非零转移
" U) P' X$ ]* [9 z$ {6 Z3 c6 m+ ?' Z* b% p
17 NOP 空操作
* y [8 \/ z$ s. q+ F }5 i. O' m! g5 R; ?5 l" d
|
“来自电巢APP”
|