|
. a4 j# i$ |. q5 h# t
: b# r4 o4 A- {2 v# ~: r- q数据传送类指令:% x2 N9 s# A# h' a! x5 z/ }, \
: @" r! ^6 z- {- g5 K
1 MOV A,Rn 寄存器内容送入累加器
6 B4 E2 F, u+ _1 ?$ {# ^4 v7 B# Z% @" \0 u
2 MOV A,direct 直接地址单元中的数据送入累加器
& P& A% z" F; M3 [- l2 _) D
6 O- j$ j$ O4 c6 H% c) \" \3 MOV A,@Ri 间接RAM 中的数据送入累加器 , |% N3 l; ^7 z, I/ ]1 q
+ o" m( O4 G: C" B, X+ K4 MOV A,#tata 立即数送入累加器 + E2 S! c. Z" J. L& G
+ z$ O6 u8 W6 ]: v5 MOV Rn,A 累加器内容送入寄存器 % u$ ~& C2 b E* J* u
3 @- q* @6 Y3 J; o6 MOV Rn,direct 直接地址单元中的数据送入寄存器
7 w; I8 U, _- U, c4 W
# G+ v; W' z# t* E7 MOV Rn,#data 立即数送入寄存器 0 n* p+ e/ p8 L- z% k# S
/ {$ Y8 c- ^5 V Q8 MOV direct,A 累加器内容送入直接地址单元
! G& ^, [3 O! f% Q ?* E. J+ x: |) Q! l! p5 m
9 MOV direct,Rn 寄存器内容送入直接地址单元
9 F2 |: e1 G" E
0 B. _' X/ p8 X10 MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 % Z' ]/ j$ I4 ]! Y# T, S
& \: Y" \, \( W" F+ Y
11 MOV direct,@Ri 间接RAM 中的数据送入直接地址单元 9 G' ]/ q B9 C/ Q8 M, A# L& ~) s
) m- M, n9 l2 H. J* x
12 MOV direct,#data 立即数送入直接地址单元 1 u3 i4 ]3 Q9 ], |7 I/ F* L
6 j" u: D1 |7 l13 MOV @Ri,A 累加器内容送间接RAM 单元
% @+ K. u6 `/ ^2 J$ P# w, v P( |0 Z- ]* C0 @* d0 L* F5 d4 `; `
14 MOV @Ri,direct 直接地址单元数据送入间接RAM 单元
' o6 Z# y8 C7 \8 y) x) g+ ~$ I; ^, i8 R' O; X' J6 Q s
15 MOV @RI,#data 立即数送入间接RAM 单元 3 x+ k, X5 E- U$ {% P/ v
) y# t, S1 K6 n* a, @
16 MOV DRTR,#dat16 16 位立即数送入地址寄存器 / g& G8 U! w* q! h6 e
8 X( B7 ^9 E' n$ @- _17 MOVC A,@A DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
7 s3 }, w. `/ [6 T! t2 m: R4 U
' I5 ]+ w# K& t3 | z! c18 MOVC A,@A PC 以PC 为基地址变址寻址单元中的数据送入累加器
# c G' x- x" b: l0 o
, d, H6 d/ K6 T0 A' M$ y19 MOVX A,@Ri 外部RAM(8 位地址)送入累加器 : z+ x% w) e' e- H1 ]3 Y* G! i
4 Y$ h1 x6 r m5 k5 O20 MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
9 ^. V- T& c+ N3 ~$ J6 B! n- I' o4 n2 l+ p1 i2 g
21 MOVX @Ri,A 累计器送外部RAM(8 位地址) / X* @$ Y7 l' m; _0 V& R
1 Q# H! A( y0 [! Y3 d u
22 MOVX @DPTR,A 累计器送外部RAM(16 位地址)
9 t1 T0 o% T$ F* f7 p
* B8 ~" x6 @2 I- U, S! T( h& r: J6 u23 PUSH direct 直接地址单元中的数据压入堆栈
. w3 T( ~1 P9 P) T1 f- S
2 X* w/ N* N1 X; X/ w24 POP direct 弹栈送直接地址单元
' p% O @9 l* j2 ]6 a7 g @+ A" H8 F1 f7 l) r% t
25 XCH A,Rn 寄存器与累加器交换
5 S# p0 G6 j* w0 c
& w% C0 u! k+ l% E. M C26 XCH A,direct 直接地址单元与累加器交换 6 t& Q3 z# t! Z2 C+ ]& K; ~
' Z# K) p: i. g; q' F b
27 XCH A,@Ri 间接RAM 与累加器交换 5 t0 }, a# \. ~+ o
2 ] G/ h3 h! p% Z( q& i
28 XCHD A,@Ri 间接RAM 的低半字节与累加器交换 * r/ F9 k$ `; {% R% |( H
, n& c* `" B% k1 @. V+ O; W
7 J g. J' M7 h( f" ~0 C算术操作类指令:
" j6 A* u3 Y7 K+ j: ~* k; M% D, N/ O1 V( @- m# l
1 ADD A,Rn 寄存器内容加到累加器
6 I0 w7 ?8 o& m( P" l0 i+ ^- x$ J/ l2 r- X8 [3 P: X5 `/ D
2 ADD A,direct 直接地址单元的内容加到累加器 0 O: D- q: G+ t, h2 L
' L' T* ]; @" G. }
3 ADD A,@Ri 间接ROM 的内容加到累加器
+ l, L2 M. p. M! S$ U. h4 r- h9 I
% n/ k, Y q+ l$ ^/ b& S4 ADD A,#data 立即数加到累加器 " U0 y0 K* D% P
! m% w2 D! R* {5 N4 |5 ADDC A,Rn 寄存器内容带进位加到累加器
( N( l( u3 @1 X; \, }
& g/ l% K. v: }* X I6 ADDC A,direct 直接地址单元的内容带进位加到累加器 / u$ |" p/ S4 B' T
! i) R+ C) t- Q* V C* K
7 ADDC A,@Ri 间接ROM 的内容带进位加到累加器 4 c* x- A% ~+ g( W* u
1 X& i' R9 P' J5 d, j8 ADDC A,#data 立即数带进位加到累加器 / K" o8 A* [% z+ y
7 J( v @8 J" W2 E7 }9 SUBB A,Rn 累加器带借位减寄存器内容
' Y$ I# q, e( S* C% ^" {! _& r P2 _, e) L2 s3 ` S
10 SUBB A,direct 累加器带借位减直接地址单元的内容
4 s1 E" A3 n( [/ U8 E& A6 Q- F& y
( o, b7 J; X( K+ f2 L11 SUBB A,@Ri 累加器带借位减间接RAM 中的内容 ' e5 u3 ~4 l+ U6 I& b1 S
7 h2 C9 W$ {" u! G+ e% J
12 SUBB A,#data 累加器带借位减立即数 % V, R+ V, c+ Y6 R
$ @5 ?9 V* _0 m9 u) D$ `3 {7 X13 INC A 累加器加1 9 Y3 q# J d8 r3 s
& k) x0 f, @7 y( ], I
14 INC Rn 寄存器加1
# ^7 C7 J: C- n- m/ l; B) X
: z. V4 H' ?* @/ ?" c+ G( }15 INC direct 直接地址单元加1
' B$ U; U. u2 x3 x
5 d2 {/ Q5 I' i! n4 S16 INC @Ri 间接RAM 单元加1 % x, [3 H! B* H6 z+ p
' l% e! r/ I9 J% d5 q( O" N17 DEC A 累加器减1 2 h2 f6 ~0 I9 x3 P, }1 Z2 k7 k
# I$ A1 |! y; p9 k. i3 T& f
18 DEC Rn 寄存器减1 1 12
* n% m+ I( b. X2 u; g! u: y* i8 C
19 DEC direct 直接地址单元减1
% |( e4 S6 H* g2 q% L$ N( p' I* D4 z) z7 {3 t4 j
20 DEC @Rj 间接RAM 单元减 1
5 u6 b: I1 `( O4 z, H1 m0 U& D$ M6 X$ q N+ @9 r+ {2 q' f& o
21 INC DPTR 地址寄存器DPTR 加 1
9 m N" _$ V$ |( @3 v
# L0 R' A% P5 B& f- o' K22 MUL AB A 乘以B,结果放在A
' {3 ?6 r/ p: i' [4 [7 }( t7 w6 h8 S u- _% I. G
23 DIV AB A 除以B,结果放在A
$ @+ V& r6 X, C5 F8 Q; X6 s5 [
( m5 ?) D0 V1 d' \7 Y1 ^ J+ Y24 DA A 累加器十进制调整
. D- A7 L/ v( Z @0 j
* J& a2 m% v/ _( y3 R% E. Y3 }
' H9 d9 h7 D0 u; U' b0 U布尔变量操作类指令:
4 J7 {6 O Q! Q# N2 l' p Z- _& H/ C( F B2 H* m) b# s8 V
1 CLR C 清进位位
$ _% |" ^2 {" h( N# J" ~/ u/ f3 X
2 CLR bit 清直接地址位
+ T& u8 I" ?! s( `
/ G0 s. g! o6 Z# e9 a3 SETB C 置进位位
! e9 [: L! v$ T1 B% d' m4 J( x7 I$ o7 r3 K3 R* u
4 SETB bit 置直接地址位 / ?4 G" N& t# Y' m
8 m3 q% c+ D) D# ]8 ~' t! R5 CPL C 进位位求反
4 b, }7 D' X, g. W' c) c( Z, n1 A- O
$ h4 H8 d/ D: I2 }. w9 E* u7 g6 CPL bit 直接地址位求反
6 q% z( F4 v$ k2 X1 C8 |- V: W9 Z0 ]: n- i! _0 ?- U! f
7 ANL C,bit 进位位和直接地址位相“与” 8 [! u+ O& X" }$ S! J
( \, h4 R; [- @2 W- z* q' W- Q& n& u8 ANL C,bit 进位位和直接地址位的反码相“与” 7 I7 a* c$ H7 j4 |. d) d
* Z1 `, I+ ~4 i$ x u, t9 ORL C,bit 进位位和直接地址位相“或” % }' `1 z+ P( B
( r: U) F/ T; u" ]& P& F10 ORL C,bit 进位位和直接地址位的反码相“或” . _. P; R; W8 F6 ]/ ?0 J
" i) [; ^% W, D7 g }
11 MOV C,bit 直接地址位送入进位位 7 D$ n5 G0 \1 s: [+ Q5 Y) n
0 |3 e. @7 b+ L2 ~# c
12 MOV bit,C 进位位送入直接地址位
2 Q0 F( G# S4 R" [. ?
/ u- e$ @6 \ ]13 JC rel 进位位为1 则转移 ' w5 ~- H9 o4 f% B6 i
4 V- K- t6 e( P: C% g: d T14 JNC rel 进位位为0 则转移
( x; P" M, L" C1 u+ I( x& ]8 t$ i7 b4 x& b3 u+ Q7 X
15 JB bit,rel 直接地址位为1 则转移
: D0 L( ?; x) x4 e" b' R; G# R
8 A, }( N' _- u) j: N8 c16 JNB bit,rel 直接地址位为0 则转移 4 V% I8 r$ H) L! U9 \& t' r8 e
- J, T( a y& C) @$ ~9 a( J
17 JBC bit,rel 直接地址位为1 则转移,该位清零
) [' l" A" [/ I( K" Q; L% p
* G0 @. Q5 v% y7 F
( L% y& V( @* r逻辑操作数指令:
0 n0 R! \, h3 P( p; o% s8 E/ e0 T H4 k- @4 N* E
1 ANL A,Rn 累加器与寄存器相“与”
" K6 q" y, G9 |
) n# q: A; K( a, \2 u) S7 t) P& ]2 ANL A,direct 累加器与直接地址单元相“与”
# P' e! f" R) \9 R& L: P. A) r* v$ o- b( K
3 ANL A,@Ri 累加器与间接RAM 单元相“与”
: j8 E$ Q. ]8 b! S% c. Q7 Q4 F
1 u& n$ \4 F0 a# L+ U4 ANL A,#data 累加器与立即数相“与”
& Y0 W* Q6 h F) O
; T5 Z, Z( b ^ U3 \% c2 A5 ANL direct,A 直接地址单元与累加器相“与” + |" G. l X9 m2 k% I! H- M) e
) s% f) F9 i9 k5 v/ h
6 ANL direct,#data 直接地址单元与立即数相“与”
8 G- `% p1 b9 j: }, S A V" E% ~
" q" M9 P* X7 T7 ORL A,Rn 累加器与寄存器相“或”
% A. H- e9 I5 Z2 R Q) p; R' M5 g" z9 R% A
8 ORL A,direct 累加器与直接地址单元相“或” ( y0 [3 X8 L6 q" k: i# ]+ O
! }6 \$ }- r* V! w9 ORL A,@Ri 累加器与间接RAM 单元单元相“或” 7 S& P( I" M8 i
$ C0 K8 ?1 G2 Z/ Z; f. B# I. \
10 ORL A,#data 累加器与立即数相“或” ( N! `6 {0 u& x* |2 a
- I4 u. ^9 M! r9 S' E( u* M11 ORL direct,A 直接地址单元与累加器相“或”( S. U5 f: c' v9 V. i9 B- B( H
8 ~. |7 s0 r% ~% C/ L b; L
12 ORL direct,#data 直接地址单元与立即数相“或”
l* c0 p d! k+ c+ ?' y
8 y. A3 S7 L3 R* ?. |( q1 U: _& l13 XRL A,Rn 累加器与寄存器相“异或”
7 r" T/ N; v! S/ s, Q1 h; P
; p$ K! m; D, }. s+ o& L. d' V s14 XRL A,direct 累加器与直接地址单元相“异或” 3 j# L0 ?% b: \
( d) t, { P: d8 _# M8 B2 a/ G) M15 XRL A,@Ri 累加器与间接RAM 单元单元相“异或”
2 c9 [3 W9 _2 v h- T* q7 |8 S# y4 ]7 e$ n
16 XRL A,#data 累加器与立即数相“异或”
8 F4 b7 Z1 g! q' O% N- h& y+ q. Y% x2 f: ^: c1 W1 o, a
17 XRL direct,A 直接地址单元与累加器相“异或”
' X& {: F; p+ o3 ^) [4 @3 |9 F5 ?& M& O i$ r( p
18 XRL direct,#data 直接地址单元与立即数相“异或” " q8 I! ? x V9 |; \
+ d- m1 ?1 h4 v! Z5 _
19 CLR A 累加器清“0” 5 P+ Z( U6 V2 }0 c; e7 g" e
2 R+ T" @9 y7 b5 D. \20 CPL A 累加器求反
3 Y2 v% k% w1 ~! W
$ f+ I8 C! P9 q8 t21 RL A 累加器循环左移 / G8 @$ r$ z+ J; y) W
* v9 A1 l* Z4 X, d0 B22 RLC A 累加器带进位位循环左移
* \$ O# ?: f" y" Z" Q! ~3 o5 ?+ B; v" P5 Y9 n" O# `
23 RR A 累加器循环右移
c1 F4 f `/ o# r7 n- z$ p! e# s! J. \7 d* e
24 RRC A 累加器带进位位循环右移 0 r- R7 g# f, Y
7 s4 }8 R' P7 z& O$ ^
25 SWAP A 累加器半字节交换 0 a J* o0 d9 c6 P3 C
" ?' k% p) ?1 d! z) g0 M
3 y$ Y4 }6 U# t, W3 v
控制转移类指令:
- n* ~( ^/ o2 `$ n# ?2 L! N* U7 Z) V% [$ w! ~7 h2 T
1 ACALL addr11 绝对(短)调用子程序 1 K* U# a9 N/ w3 O. b
9 Y9 y7 C% i! t' c2 LCALL addr16 长调用子程序 9 e# B# u- E( |6 ?/ t
& M2 C: H. G; S+ U
3 RET 子程序返回
0 p2 i, S, D- f5 Q/ i* f. r1 V7 c0 J$ @, Z* g
4 RETI 中数返回 + l7 G, q9 J; m; f% l0 B
9 w1 t8 ?! P) I) G6 S1 T5 AJMP addr11 绝对(短)转移 $ M, x: Q0 c. p- b5 D
7 h. D: p# l9 G7 D& E
6 LJMP addr16 长转移
7 i8 t$ u9 T! Q O" D
$ l* [: y, ~0 |" i3 i4 E, ~. w7 SJMP rel 相对转移
* p8 F: y! y5 Z# U& p+ P9 a# O
% e5 Q0 e9 A- m8 JMP @A DPTR 相对于DPTR 的间接转移 & M3 S) Z. w5 h+ `3 o* C
5 n/ F. W5 ?9 z! f* \+ b# d \3 ~
9 JZ rel 累加器为零转移
" w; d7 s; V( M" | t3 N# s/ Z6 H' S7 {8 l y; J4 @
9* JNZ rel 累加器非零转移 ( y) s. C, a* G8 T, R2 e
2 W; `- l) q! U+ \: Q10 CJNE rel 累加器非零转移 6 p# d: s d% Q! x* ?2 s
# G0 ~0 K4 V5 u$ z+ s% A4 ^; B0 t
11 CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 ) f; v0 H) H( }3 A& n
9 H$ |1 ^ m; g8 @4 Q5 S
12 CJNE A,#data,rel 累加器与立即数比较,不相等则转移 ! w, H7 v7 G4 _% T0 [! P# T, X: E! z
" f0 L. L3 ~. t
13 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移 7 \# O/ I% |: m; h5 S
* f8 s- L8 Y# {( F( C3 j. E14 CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移
" ]* @, p% B* S* D
$ J5 ?: K! E$ ?/ r3 P15 DJNZ Rn,rel 寄存器减1,非零转移 " m$ k. \: O: \2 F* ~, G G
" @2 c* V! q c! E W16 DJNZ direct,rel 直接地址单元减1,非零转移 7 e% i3 f( q# U0 H# B ~, t
5 y7 ^3 O1 `# v, {/ S Q- P
17 NOP 空操作2 e9 J3 w) {/ t! f8 C6 m9 j0 g
1 N; ^, L* U9 G8 e4 g$ X# F
|
“来自电巢APP”
|