|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
此表主要是为了方便大家查阅每条指令的作用,写法以及字节数和周期数,建议大家保存为书签。. H0 Z5 [( k/ z' T" p8 ~
助记符
B4 s7 r A) v. m | 指令说明/ u- @5 c+ P. w
| 字节数
+ I: X& q+ I# t2 z# U7 h2 r8 ^+ J. D | 周期数
8 v) h9 j$ N: C; f7 p5 e7 u& J | (数据传递类指令) | MOV9 f+ e1 o9 L0 P' s. _9 |
| A,Rn; h0 c, M$ n+ f2 M: e
| 寄存器传送到累加器4 b$ z. j. I5 k. z
| 1/ I3 @* F- `7 x, C3 u# A$ b
| 1
8 g% g" V \1 G# E2 A | MOV' D% j0 q/ \5 y& f; G! T4 P5 S1 r
| A,direct
3 K: [7 z1 a5 u0 q: T. } | 直接地址传送到累加器. d( Y# z& k) U' t; @
| 2
; t$ u l1 a: r4 ]/ g3 P. j& M | 1
) j; O- w6 p& R1 u | MOV" c o2 o9 ~& h1 u% D1 K
| A,@Ri
: u6 J- _+ ^ ?0 R: `5 Y3 _ | 累加器传送到外部RAM(8 地址)
& a$ a. g2 d, f1 p8 H8 u: v | 1
5 \. Y: J9 Q. l& o n. I4 B | 1, p4 o# v! N) ]& R z0 L7 i ]# f
| MOV7 c6 N" ]1 y; b- }4 E
| A,#data
6 r' ?; s9 [' k! p; s | 立即数传送到累加器! U6 W, G' ~7 z$ |! t7 I
| 2: O4 Z$ Q8 D" E
| 1% ~: V) f2 \. [. A) I5 @
| MOV
( m! q3 l% v( F* F% E | Rn,A1 L+ K9 l! N u0 {
| 累加器传送到寄存器
# A/ y2 ?2 i1 X8 a5 ^ | 1
, b$ P) o9 k2 `* R. m4 e | 15 S! l, a# w; T9 F+ Y* A
| MOV* Y0 _* D# \. h" q3 \
| Rn,direct% E) D, ~+ U' m* z5 W
| 直接地址传送到寄存器
3 S# Z Y) B4 e0 ?3 t | 2
% j) R+ S/ \& i/ z9 u4 t | 21 P& ^) R8 c4 I) [/ O/ _; E7 L
| MOV
7 z1 C1 S$ U& N" d# C* {' w+ S | Rn,#data) e$ S- c( k. Q% @' _
| 累加器传送到直接地址
0 E9 _# u8 E B- p4 E | 2
2 i. M2 j A( q: j& Z e | 1
4 U5 x, Q* e& @ | MOV
1 _- ~4 M* I7 G3 Q& i | direct,Rn; H- m( c0 |3 b
| 寄存器传送到直接地址
3 I9 ~! A! x) m5 n1 C | 28 k9 D" ^& u3 d" m! D
| 1
7 a; W2 u; ~6 O9 t | MOV
# f8 j. U w3 t8 e3 I- J5 B4 z | direct,direct. Y5 c [0 J1 T
| 直接地址传送到直接地址# \4 o3 B1 E# a/ s7 [- T
| 3
9 d* L( M; @* ]8 R P. I | 2
& g5 ]7 G8 p" H | MOV! t8 t/ T2 Y g/ Z4 s; ?5 t
| direct,A
3 Z* m% v1 Q3 ?# { | 累加器传送到直接地址7 |9 H/ m( M6 I9 x
| 2
8 ] `. v$ B5 T' j+ X: c, ~ | 1) u5 _) i0 E! h Q8 P5 A, m2 w
| MOV
$ p% |4 o, y4 S: y8 x | direct,@Ri& ^- r& r; L* j. D
| 间接RAM 传送到直接地址: a; ] V: a: {+ B
| 2
) K; K6 o6 ?) V9 N9 e/ Y+ D8 j) T( C | 2
3 q" ~$ p+ {! D% P! U7 Y! N0 D: p2 g | MOV
8 Z- w. X6 S/ ?# h3 Y" e* \* G | direct,#data
6 F; o. g- I' l g, | | 立即数传送到直接地址- _8 H' i* a" |9 q- P$ F
| 3
2 {5 l- O6 j' l; B B! r* K | 2
" @* {) x% _4 @% s0 ] | MOV8 n# A- Y7 A' o5 a; b
| @Ri,A
4 X4 u- m2 R# L: i! [ | 直接地址传送到直接地址
# T( B( M, i1 B | 1
6 V2 K" {: m9 ~$ N3 L w* j | 2- Q' d8 s. P4 X: ]' ?
| MOV
8 x- f& l1 Z! |$ i8 i1 C8 y | @Ri,direct
, X, q. m! e% d) i) A6 d" K/ M | 直接地址传送到间接RAM
9 i2 Z/ x5 h* u: X% f3 T9 j | 2
; q4 r3 ]+ O) h7 |! a! r0 q, k5 c | 15 l7 p1 U8 `( A* G2 @6 S" a
| MOV
" A# I3 M& Z% ~ | @Ri,#data
0 _- I' w- D* l/ h- a/ }4 Z | 立即数传送到间接RAM" E" | I4 v. L2 V+ w
| 2
) o" v5 R4 g, _3 O) T | 2
, W$ X C2 O8 V5 R3 y$ j | MOV2 F0 }4 X, M" x8 \, _$ k* z$ _* g
| DPTR,#data16; l7 F" ?7 g8 Z6 r9 n6 |9 b
| 16 位常数加载到数据指针
9 B/ y" i& f: K4 C4 H& X | 3
! K2 ^: ]5 d" C) N# K# p | 1
7 ]" I* N# m, _8 i" i6 p | MOVC6 \& v3 V5 Y# ]. N" y
| A,@A+DPTR" T% p1 D0 Q$ Z
| 代码字节传送到累加器
4 L: A6 [1 M; U( X- D# N6 K | 1
5 V R; z! T/ ]/ E5 U' F | 2( v& A3 R8 u, l* ]( x; l: ~: f0 o; {
| MOVC" S4 C, [( C2 ^( p; b2 O. h
| A,@A+PC) m7 p/ d7 I* H8 u- K+ T
| 代码字节传送到累加器. R) ?3 \7 B# c, n$ w
| 1
9 T( Y: ?0 U! I- \! s" H | 23 x/ M0 T- F* @
| MOVX
( }( e0 V8 k' R | A,@Ri
; I6 n; @2 n' M' f2 k. ]$ m' K | 外部RAM(8 地址)传送到累加器
; a3 d* A7 O8 N$ j( x, I. S8 `3 Z | 1
8 r* I' K, T0 K+ F- k; t8 O( s1 m6 O/ S | 2
2 @1 e( |5 B: `( h | MOVX
/ q! g$ T3 i& Q; F# j4 l" ], u | A,@DPTR
$ d$ V2 M7 n' { | 外部RAM(16 地址)传送到累加器# G% r* z9 w" |, M
| 1( Z1 B C/ `5 M3 a4 y3 {6 }; [
| 2' G9 Z, `; M8 R+ ^5 i
| MOVX" M; R Z7 ^( y3 w
| @Ri,A" t. b$ P! V+ v+ R, ~8 O
| 累加器传送到外部RAM(8 地址)# {8 h6 G# |6 J4 H( a
| 1( h! D" v' O) w; @6 z7 U* B* l
| 2
7 G3 i7 q! I6 }: Z | MOVX
" ?7 C% q$ p8 g- r; S1 r3 L6 Q% [ | @DPTR,A
; A0 v$ n, y3 R8 @. s! V& _0 T | 累加器传送到外部RAM(16 地址)" k% u2 s; E" v! A2 V+ j: T, q* J: c
| 1
! O q: [ N! ]/ u8 l) A+ P& w | 23 i0 R& G, M% ^2 d2 [; O
| PUSH* ~0 f! T6 ] K0 Q
| direct% _" X) y- i9 ~
| 直接地址压入堆栈( Y, f: V) u2 `0 n+ t
| 2
$ c" c& c9 n3 u/ k" q9 X( V5 M! G | 27 Z' C$ |( j0 b+ j1 N: G- ~7 {
| POP
/ `2 k. i' p6 Z! S; E* H: f' i | direct
) b2 B6 H# H: W! O1 |( P | 直接地址弹出堆栈
$ K0 e9 m, w7 Y; N | 2
1 W7 W7 |4 @: a! d7 c) z | 2/ W" Y# ^3 q N! S0 w& d Y: W% K+ U
| XCH B9 S) I" ?( [+ ?# O3 X/ A
| A,Rn
; b- {; i% I) q | 寄存器和累加器交换
7 j y/ ^; \1 C# p+ b( Y( B | 14 _1 e9 O. K; z9 U5 B2 v
| 1
+ O3 K0 ?. j# N( v8 s- h3 r9 V | XCH$ M3 z8 a1 |+ o5 o7 h& a, b
| A, direct0 k& } u% c9 `. w) P2 J' n
| 直接地址和累加器交换
- n i+ ]5 l" [; q2 Z | 22 U7 U: a; G9 W) [# w7 E
| 1* t( S% |) e, W. ?$ u
| XCH
# P2 Z, h' k% O2 K+ ?: V( O | A, @Ri4 k4 J6 r# @$ T# J7 V" s1 s1 R# ^& ~ Z
| 间接RAM 和累加器交换
/ D! p" I. W- T2 w- p7 ] | 1, N; N9 L0 j. g: ^# {, n, X* ?
| 1 P; Q$ @, f" u
| XCHD
( O; w8 c, Z. v' ]( O+ f# q" f, e | A, @Ri) w* I" Y2 g7 E: N) K
| 间接RAM 和累加器交换低4 位字节
9 D0 R' @* I" F. s6 P2 z | 16 Y7 C8 V$ s. q. B% ^
| 16 G V5 M: @% F) i8 |5 N6 P
| (算术运算类指令) | INC: u% f8 i5 u- [' I% }; n) y' h
| A
1 \( D2 L; u* [# a% { | 累加器加1
( Z, k8 R3 s, r% e& l3 h% i) b$ K4 ^ | 1
( Y8 p& a' R$ ~) W$ h | 1
/ a1 X" B8 X0 V8 h* W | INC
1 x$ k4 C( e8 p" { | Rn$ p G4 J, F. G$ ~) |: i, I
| 寄存器加1
6 \1 v! m. O5 I- z. u& S6 T | 1, ]( v7 u9 a( V' p0 N
| 1
" {2 a. P! y0 p+ F$ h- f | INC
2 O) A* V, a8 w0 r | direct
+ v& @& B. f6 j, {& \1 z+ X | 直接地址加18 t; a# v* N/ g( v4 ~
| 2
5 [1 U; K0 q6 p' w | 1
0 u# @3 t% c, \! r3 e( g | INC; a. _2 A# v( j$ ]
| @Ri7 T7 O7 g8 v" i" s$ u5 T
| 间接RAM 加1
0 j8 J' K' h1 N4 v, D' E! n9 F | 1, p% q/ u( g' G6 V+ m. @! u R" ^
| 1
& E3 G: M: k! N | INC
0 v' w. B2 B8 [ T. X | DPTR
0 B. M+ Y D" @! s | 数据指针加1
8 W' Y5 u: \) `1 f | 11 C9 } |& p k( i. g; H5 [
| 2* M$ b6 n1 Q6 p$ E+ M/ i; A; |. C
| DEC
; c/ Z( y6 M3 t& ] {8 p" u | A5 f0 |# d! i p+ {% {
| 累加器减1* H2 c) D, _& K& z
| 1
' }# z& \$ D7 V8 F, Z | 1( X& |6 c" W9 @+ c% {
| DEC
- b- M( M. c/ p5 G+ {2 E | Rn3 w2 A* R: h4 C* W. D" K0 k
| 寄存器减1
$ T, S5 z0 L8 O7 A5 P5 y8 g | 1$ {+ H; M8 _6 q+ d
| 1
2 L2 E% l3 D0 p! q+ ?4 y | DEC
l; q0 ^6 I; u( m: p5 Z9 y! G | direct
) b; v' w; c+ B t8 e" j. d | 直接地址减1
1 j0 e- @) Q' P | 2
* x; _: @8 z- K" Z9 k# q0 U | 2
/ j" W# v& K7 U5 b1 V) `; N |
DEC1 F+ t5 Z) A6 u. X; q" [6 a& h
| @Ri0 b, P& U$ a, Y& [/ t
| 间接RAM 减1
. M" j5 w/ Y1 b! I: `3 O4 W |* { | 1
% r* w+ u/ v# r8 k$ C: ^ | 1
& Y) t$ Z& ]6 M+ T* E | MUL5 r5 [) d: ]6 E0 k
| AB
3 K( T! \. h* |! {& E: X5 d4 _3 ` | 累加器和B 寄存器相乘
( V9 P9 p J& P6 X: A# M- t j | 1
/ s o! u, ]+ }3 @ | 4
3 g6 j' B) N* }/ x | DIV, o7 q# e# j- b1 O; h6 c7 S
| AB: d( S( i. L, T& w. J- k2 C
| 累加器除以B 寄存器
: W& D. W( k x- \" g' I | 1& c8 F k" Q# N8 ^% I* S
| 4
5 B: D* x L- x$ c+ x | DA% N) Z: n3 \ V& G& q' o2 k1 g
| A
! p: v$ {" c$ T& ~! m- P | 累加器十进制调整4 P; h( Q% S0 u+ N. U/ J% H* D
| 1* k) H$ V7 f, z. [. S% u
| 1
& k) a5 Y2 |0 t) p) W7 ^ | ADD
! ]6 z5 d2 f4 |7 i+ I( z | A,Rn! v2 D: r% |4 m0 O
| 寄存器与累加器求和
8 {% \% M" @. H$ U: a6 z/ z% L7 ` | 17 Z% |, X1 H" p2 Y* p
| 16 J# M7 c0 ]; s2 k% J
| ADD
" H6 s+ ?2 D3 b/ O2 ?& R6 D | A,direct, E; X9 w, t) f
| 直接地址与累加器求和
r! D7 l- J: |6 }; ]! ~, F | 27 q2 o9 j- H8 t( ^2 M8 Y
| 1/ H% j7 z: O' l% X6 d0 o1 e$ F# G
| ADD4 _7 p* k ~: W8 ^
| A,@Ri, B7 x/ w8 N6 ^- t `8 c
| 间接RAM 与累加器求和
4 r2 M3 H! H; S' ~' ] | 19 _8 ?# v3 f' {% X- D- N
| 1. _& i) D D& Y$ ?- K" v3 T
| ADD
& ?9 b- F% r d1 t) ~ | A,#data, Q- ]0 |# ~( F2 c
| 立即数与累加器求和: Q' n6 A- K+ j! z/ g
| 2
4 B$ O/ Y$ x; Y" X" p% k+ W# i+ s) L | 1
6 |( x! G& a- p( O+ n) s8 U | ADDC; Z! O" \9 V d$ [) @$ t1 {" G
| A,Rn
# Y4 x5 c4 h/ b& C | 寄存器与累加器求和(带进位)
5 w, B! f' o) M) n! [+ z | 1
0 z% n7 H2 {! Q: y6 A; t& w | 1& @0 z5 Y6 G0 w5 T Y
| ADDC' } ]6 z: j4 E4 s0 f# q
| A,direct; D# Q5 F& O3 `8 E2 x
| 直接地址与累加器求和(带进位)1 G6 v: L# A0 t3 W
| 2+ G- G) ?1 h) @* R: X
| 1
1 W+ Y Q& T7 z! u. v | ADDC
- Z( Y$ w6 E, W2 V7 Q | A,@Ri
3 V( o) m+ S6 Y/ W4 I% R; s" o | 间接RAM 与累加器求和(带进位)
9 K5 O; v. B+ O | 1/ @& A9 B( N: ?* C6 k6 K
| 15 `% n' v" b2 n# p3 \
| ADDC
+ y4 m& J w6 s5 \/ |; a: e | A,#data0 A$ {3 Y1 i; T
| 立即数与累加器求和(带进位)
+ r# U) o" l) u5 K" c9 Z4 A: L# k! F' f | 2# i i2 ~" q# h
| 1
2 L0 S3 L& L6 ?( ^" |# N | SUBB
( @+ \, Z1 L$ y7 g1 |9 l) l. \ | A,Rn
# N$ C* d0 W; Y! W2 J. { | 累加器减去寄存器(带借位)
2 e4 O8 a/ r: Y5 N2 \ |. G | 1& L" e7 |( ^: M2 |
| 1- z# T; ]" C) I4 a
| SUBB
( o4 E1 g+ a: m" L' I | A,direct# R% w, L3 N" Z9 |
| 累加器减去直接地址(带借位)
; ]3 `$ X2 A6 t | 2' Y; L" t! k6 ]) Q
| 1
* |% U& i/ {0 X | SUBB
3 z4 C+ C! T* c( b- ?* u" v% G | A,@Ri
% O7 d. _+ O7 R& r& P, C! { | 累加器减去间接RAM(带借位)1 H6 t5 _! ~/ A7 ~. e
| 1+ N+ W- r+ i3 ]& A% c; |
| 1
. g! V4 _! B) ?* ] | SUBB
/ D7 t% Q+ l/ l2 w+ x | A,#data7 }; T1 p$ ?9 e* l8 N
| 累加器减去立即数(带借位)+ m! R! D* K6 w
| 26 t) t% I. v. w: s0 @4 g1 ~, k
| 1
& t( Z' j( y1 e& U6 [/ o- [ L6 G |
(逻辑运算类指令) | ANL
. H( e o1 s8 h& Y( t9 Z0 E5 s | A,Rn+ [/ E" F, A! x* { `
| 寄存器“与”到累加器
, [( y+ K) T2 ~1 K( g- x | 1
, p4 |' O2 ]% B- A* I2 N8 D9 B | 1
) y% }3 O5 E" R, e. C0 m | ANL* j9 p/ A! r% V/ b. Q. ]% Y
| A,direct/ k; q) F* q: i0 C* D" u
| 直接地址“与”到累加器2 |3 a6 ~: l7 D# R; k1 D3 m6 P3 m
| 22 {: ?& e! X; C( I) L1 p. w4 Z4 @, ?
| 1
1 l! `. A+ `4 W) S6 b$ _ | ANL! D' |/ v4 ~% Y
| A,@Ri9 z/ q- Q% _) ~1 Q9 @2 F
| 间接RAM“与”到累加器
" G. S& K$ ]( ?2 X8 ]! d | 1) E: C+ O$ Z9 E8 L' ?4 x
| 1( T* s2 a5 h9 T# D6 ]
| ANL# `2 p3 X5 e8 p5 M
| A,#data: u: i' T: Q, ]% I( |; ~% S
| 立即数“与”到累加器
- ]5 k0 J% `/ H+ d' ?* h | 2
8 Q' E- U d7 T* d; N8 f" P | 1
( ~$ j# ~- n/ A9 V" o6 @8 |2 \ | ANL
% n, U, A( `6 g# E0 S | direct,A
, L& T% U0 j( E! m7 [& J | 累加器“与”到直接地址
7 a/ }3 U* ?9 J0 T' @& k' @ | 2
. i0 ^* X- {- r) z3 A( F2 [5 X | 1 T7 q9 F& H) m z1 S
| ANL
- w8 S) R- s+ h# s# d4 l* V | direct, #data3 @; @5 X7 S! K- ~) t' G
| 立即数“与”到直接地址' d7 W% {( W# ^( J3 `
| 3
6 n9 u$ ?8 e6 O1 K5 @4 V4 ? | | 23 V; }6 f2 Z* `: W) H/ C7 c' R
| ORL7 t% G$ Z+ u3 v
| A,Rn
( o' S6 S: {5 u6 }9 w% p. l: Y | 寄存器“或”到累加器
' {; `9 C& q6 V8 S' c7 t9 ^2 | | 14 n9 N! T' T4 y. }0 q: V
| 2( Z$ E: J/ j9 o3 r5 r8 J, ^0 V7 P
| ORL7 z- C+ E3 q7 v$ h6 b0 a
| A,direct
6 b5 R, i8 t; ]7 p% y. z8 n7 ~ | 直接地址“或”到累加器
- x. v2 _: J4 T- R8 f: z | 2
! ~5 i2 k% C8 p4 ?- H' C6 J | 1
- V9 P8 E6 u7 j' d, \) p& i, ^5 x" p | ORL1 x! M% u9 w$ q4 S7 c; p
| A,@Ri0 R- b2 A2 K5 K9 V' h& t
| 间接RAM“或”到累加器2 o% ?9 c" [+ A# F+ ?0 x; \1 N
| 1* i* F# z' U7 _' l" A
| 14 t$ T' F% [2 m: S9 T8 V I
| ORL6 H) b& a2 Z% U- H6 I' d1 r
| A,#data
; e( J- `" s/ F( m" ^4 S | 立即数“或”到累加器/ S, s7 |/ y: ^
| 2- p8 d7 c1 J: E
| 1
' Q e3 w! {* W, { | ORL/ a3 |# Y& q6 C1 T
| direct,A
O% r1 \% Y9 s | 累加器“或”到直接地址, D; X, P, L# s) A! x8 r x% v! f
| 2
# N% g: t; l" @ C | 1: x* Z& f7 l# a6 c3 M. ] p$ K
| ORL
3 s4 L8 v' S: e2 p% Z/ ^ | direct, #data, i. {/ Z9 c! C3 F3 k
| 立即数“或”到直接地址. @8 ~) Y/ E7 F5 e6 Q Y
| 3
. B9 _4 d* @& G; ]" J | 1
+ k- l n+ F6 X7 R | XRL
5 |2 q+ r& ` y8 V9 c5 O0 O: v | A,Rn
0 l6 ~2 [5 N. d1 C9 F) f3 v$ y | 寄存器“异或”到累加器
5 n; M) ?% `- O6 n$ M9 n5 V0 F | 1! }6 U. e" v9 H4 c% j7 }
| 2
/ s- d9 X0 q) a8 m T& } | XRL
5 E/ c+ B# K1 c m | A,direct
) [ n- `) `; K4 {* Y# k | 直接地址“异或”到累加器( ]- ~* U) \, E3 r. `! H
| 25 [6 I; D; ?& O$ A
| 1
- G; E$ V4 x# k* c# b | XRL
- e1 |# ^# L' n" y: G8 |7 t* D | A,@Ri
- e% {2 {, P* O( X1 X | 间接RAM“异或”到累加器
" s( F4 g% @( d/ u, ? | 1 L9 i3 c6 n# P3 H; U" \
| 1
( |7 s6 [+ k; F+ C | XRL8 h* }5 k$ j# \5 ?( v
| A,#data
7 P& L% G h* C/ J | 立即数“异或”到累加器
" b( x, Y7 f4 b6 ^ | 2; N: D/ t$ Q7 ~/ }9 X7 | T0 l
| 1& u* I! L6 v4 n! @! g9 P- O
| XRL
7 e7 G+ S8 U1 c% S# E% l3 t | direct,A# f `7 s6 Y$ J; o( N7 C6 o3 h! p( e7 I
| 累加器“异或”到直接地址
' w) i) i$ o- N* \' N/ k | 2: y( ]3 |* \+ f6 x1 e7 G
| 1
- z, t; [4 ~ M" M3 A. x: R0 D | XRL1 m9 f0 I2 `5 l; ]% j6 R: e5 s
| direct, #data4 I3 Y3 I8 k( n- [
| 立即数“异或”到直接地址- h8 q$ E: L0 D' t# W
| 3
; X+ `& ?8 C4 U E/ J3 _) a | 1
5 u- ]1 e- }# N7 p7 T5 c | CLR
D( v& ~$ }: y' w+ H7 w) l | A( \1 s/ f/ ^6 u& j7 u( V# _! w! P
| 累加器清零
, F. c! B! v Z6 L9 F. k9 K" [ | 1
/ y2 B) Y8 {* ?/ F7 ? | 2/ C- I- I+ }% G S
| CPL
% P! O; G& k# S8 }% \ | A
Y* \! e* V- ]/ p | 累加器求反
- m; M2 A: [# u9 i7 X; G! q | 1
l* E% Z. s1 \- |! l o8 v8 | | 16 \4 M9 n* f! b5 H) I
| RL
" ^1 ]4 ?5 \* k$ ^ k$ a | A `3 r7 ]3 r, p$ W( T4 d4 h
| 累加器循环左移
/ {0 } n2 K( Y8 b | 1
( O% a+ n, i2 D | 1/ }4 P# j) _4 C4 x1 t1 m) r4 s K% @
| RLC
8 \. Y: N& U0 c5 e | A9 u1 G# l9 L" Q, J3 U7 v' E* |3 F( P
| 带进位累加器循环左移/ J5 u# l2 J w4 N6 k
| 1
; _& @) Q" p2 M! E" s | 1
# B0 N( H9 i& F: {5 k1 x | RR
1 d) w/ e4 c9 M | A
1 H9 u: }1 h7 f* \ | 累加器循环右移
# ?' R% e0 S' ?. W7 U+ w | 12 u! J% l% F. W% j. L
| 1
1 Q+ F+ ^) G" K+ o& b4 {1 r% f | RRC+ I4 ?/ w* y P
| A
2 b7 J4 |! m: N7 ^ | 带进位累加器循环右移$ N7 o. N& o: U6 t2 L' G
| 1
" V# s; m$ [0 K# B" O | 1
( `4 T+ Y f1 I8 T3 B, k | SWAP. h/ S% m) h# f% b+ ^
| A+ |6 M: h7 a! J1 U0 p! \0 R* U
| 累加器高、低4 位交换
S" a) \6 W2 B1 v+ \8 f6 y; G | 1
! N3 s* H4 R# {! @4 F | 1
! q2 I9 z# l* u, @8 E" B/ n3 m |
(控制转移类指令) |
* s% ~0 s( y( l' j8 N0 M' H# c( c | JMP9 Z" G7 ^1 U- P, @ d* b, Y h( c
| @A+DPTR1 c& Z5 M1 ~; @/ g/ P
| 相对DPTR 的无条件间接转移# `' b7 _ Z; P) r# w+ r
| 1, W S& d5 U( b4 a: R w/ m, }
| 2" T# G4 r: K& w' q" k
| JZ4 f( Y7 l: O6 t% h. P6 I! o* [
| rel
G# g1 ]1 b K9 W | 累加器为0 则转移" q$ m5 |. K5 B5 Z
| 2
$ ^) v- S- Q3 }( g5 ` | 2
- n( t- J: [" O* _. ? | JNZ
- O) P+ A' {: m3 U | rel( D, z( j+ h3 R# T' Y
| 累加器为1 则转移
0 w: \5 H7 p. `; N3 P& ? | 27 @9 o/ x5 O3 n% K2 D) Z- c
| 28 i6 _$ M9 {" U8 l' {
| CJNE
- w' d& W( }* P9 ~: ?, S | A,direct,rel; _; }& s, X, v+ {
| 比较直接地址和累加器,不相等转移! W9 Y3 x4 F8 ?) U% a
| 38 e0 I( ~: Z8 R6 |
| 2
4 |$ L! J& l- }9 A: a7 I- [ | CJNE
! j6 o( M! ^, F; F1 N# h+ l4 w5 ] | A,#data,rel$ J' x) [5 L0 o- x$ O& O+ D3 P
| 比较立即数和累加器,不相等转移/ d9 a8 [# L* z. D/ k0 Y
| 3
" O$ ~' q) R; T! a* [ | 26 g/ a0 @; `- f, `2 u4 m3 X$ }
| CJNE
/ y4 S# [7 i! s" @4 W% F | Rn,#data,rel3 |9 _( f8 m0 s+ b
| 比较寄存器和立即数,不相等转移5 G! Z* w9 o9 }, P0 W" q, _
| 2) B5 @: K; G" |8 R+ g( G
| 2& \7 Y, n0 F; {$ s
| CJNE
; @2 g$ I# Z. J9 U3 [" g3 U | @Ri,#data,rel
5 `$ |* `5 q* u/ }( A | 比较立即数和间接RAM,不相等转移
- f* Y% [; N/ O. S. I, G n, g | 3- C8 L" q9 V( T, u/ e; g; E# {& J
| 2
$ j& b9 T Q5 y& e. P7 O1 |$ L | DJNZ1 U( B# E. d* w6 W: z
| Rn,rel( B) z, `. x V A- L0 K. m
| 寄存器减1,不为0 则转移
! P* V* O( ]% l# \; M& a3 w! c( f0 z | 3
j5 R; |+ c4 o; r2 ^* ^ | 23 Y- ^5 B5 T" @$ [; m9 ? A
| DJNZ: ^( D4 i8 S) D# w8 B, a' F
| direct,rel
* B" t5 b' G* h | 直接地址减1,不为0 则转移
& p3 C% d2 }4 J" P0 |1 Y | 37 @4 a) A& v* S6 ~$ [% {
| 22 e4 W( |2 f o& H, O
| NOP+ D$ H8 J5 e2 `) J ^: b$ E
|
) n% |4 D3 s$ E4 b | 空操作,用于短暂延时
; L+ ?: q- f; M R6 a | 17 ?6 H1 B; @( q! M; [6 E
| 1
2 t5 O9 w \4 ^: s | ACALL
/ i- _; y+ c) k3 [ | add11
( _/ h% e( y6 K# q2 d | 绝对调用子程序
* z! ?$ B# R/ p$ I | 21 T! Z# L* i+ d0 ~/ ~' O7 Q
| 2* U/ }6 ~0 x( B6 m! m _2 t& x6 C3 j# g
| LCALL
7 D( D4 \9 j# A3 B& F | add166 v! d3 B( ]" P% k8 ]
| 长调用子程序
j% w( b& r" Y. b$ a( p | 3- H* ~1 ]% r$ _ `- r& ]
| 2
/ W& Y' u! d$ W, _& S | RET0 Y1 Y3 Y( @4 c! D4 Y4 u
|
4 Q5 Q g/ i; F3 E( |# D | 从子程序返回3 ]9 y% C% P2 u! G+ A2 T& @
| 1
+ F2 w, e* x5 F6 ~. c* ^4 b | 2
# i9 p# x6 r X2 x | RETI7 g( [- |4 p' m7 U& s
|
! [- r$ I- _1 g/ ? | 从中断服务子程序返回& w( o& L$ I0 {8 E- J
| 1
2 W* h! r: @4 \ | 2 X- r+ v) k- a# _
| AJMP4 Y6 L; I5 j0 [. l' L3 r0 l. S
| add11) _0 A( {! J% j
| 无条件绝对转移: e2 r- Z( D3 V, z4 s- b# k0 O" [
| 2! W& `" F f$ ]: i' _
| 2: \$ J% v/ Y4 |) f
| LJMP: I0 H! k! v5 d* m* O, v
| add16
( q% J8 j' t# Q3 ^4 B6 c0 r | 无条件长转移$ J- T( E" T6 ~+ Y
| 3
5 @- B, _( F' n- j1 P% Z& }+ f | 29 g0 o# Q& Z7 [) D9 k! M
| SJMP: B6 K6 b9 v/ ?& Q
| rel' t4 w( U9 V2 B; G/ R( a% L
| 无条件相对转移
( U8 ~; d1 t' b; P | 20 o! B# v2 q( s. V0 o# D* s6 o
| 2
0 S2 q0 }7 x. X5 a/ W: ]8 b |
(布尔指令) |
3 s7 y8 Z; F$ j' _ | CLR
$ C1 x1 _$ S" b9 K | C4 {" k+ D) |; Q
| 清进位位
; {1 i1 o- S3 k+ w* o: { U | 1
1 L& W. W! r7 V! _ | 1
4 w) Q& P# e1 `6 v: A2 N | CLR0 S! C3 V+ V( r n$ i
| bit
+ Y J4 i" j1 u- Q; D | 清直接寻址位$ C' W) T& _' o9 f( F5 w; k
| 26 b% x K9 _7 I: j7 ]/ I
| 1
1 v% D. |8 T% g9 T2 l& t- b* M | SETB
3 }9 N/ l& s7 ~/ O! X6 U( f/ g | C4 G, I" B A1 n3 U% M
| 置位进位位
/ u% P4 |! ~! j- q4 F m" f | 1% b9 H* R/ [) z6 s7 L
| 13 C' l! j0 D# g Y$ J9 t! U+ s m
| SETB
5 k6 |% T. a* T5 g | bit8 Z' s9 |7 v/ i& U/ _; S l
| 置位直接寻址位3 j9 Z8 e5 i2 ?4 _% R
| 2
5 t8 u( X! a5 P, ] | 1
" m5 K# S3 }/ N0 }) j! T1 p; [ | CPL
0 i8 t) g. t! m K | C
/ o+ u f9 c# S4 l8 v, I9 | | 取反进位位8 _- f5 y+ L0 l: Q$ j/ M4 `
| 1
# [7 L+ l9 t+ [ | 1
+ o0 l2 _4 O; p$ ?$ w | CPL* b7 c9 L5 I( b* ^7 e9 H* L3 k: G8 p
| bit% M* h, \8 k9 |
| 取反直接寻址位8 `3 u5 W( l$ W! H7 G
| 2
8 c8 b( Q5 V# E | 1
/ m+ x3 E4 R3 _1 c( H9 P | ANL
; `$ t8 }! O! R7 B4 ]$ k% { | C,bit8 w; {8 H5 C: W, }
| 直接寻址位“与”到进位位/ v$ Q. \* ?& d @
| 22 ]6 d) M3 y: w7 x3 w2 w" g8 O
| 2& |; K; X5 Z& ~, j( B+ A- B
| ANL5 o* a0 f- {7 p9 j4 V6 ~
| C,/bit1 h8 U, I1 S5 K% a1 i9 c* `
| 直接寻址位的反码“与”到进位位; p$ I" P) l8 c4 N# s5 U
| 2. G& `, f5 A" h4 g
| 2 X: [, O7 d- C, }& L7 b% b
| ORL
^( o, P1 d+ |6 ]% Y/ j' H6 B | C,bit
. a: b' Q0 K& N' q3 Y) [ | 直接寻址位“或”到进位位
8 j' T/ d- T3 L5 i2 L- d | 2, t0 @' l- x! Y/ w' j- K0 H. O
| 2
! R% J) z2 \* ]% c+ P1 Y1 x0 C6 u | ORL6 F+ ?, y) e3 g+ C
| C,/bit
& U5 u& w* z: b" H) B* x8 R | 直接寻址位的反码“或”到进位位! A0 T) P* a, m7 E( e4 C; P
| 2
# n- P8 E% }6 O* ` | 2( _, ?" ^5 H/ l
| MOV) ^4 K+ \* z U; q3 W: W
| C,bit- R `7 \3 F1 y9 S7 l: M
| 直接寻址位传送到进位位" ]# q6 [* X% x" t
| 2. @: Z- }9 r% f% Z: q
| 1. Q, X3 g2 @/ f5 |
| MOV
5 K5 x5 I4 D; m0 ^, X* [5 L | bit, C+ X2 V [3 n6 {0 c
| 进位位位传送到直接寻址- k; C* M; C/ N9 b, ]
| 2# i- G7 k9 {$ l/ ]
| 2
$ o. \% U; u/ u, c% c | JC2 i, j7 S2 I# G4 v, ~/ f+ d2 O
| rel
' x1 |! n6 U; z, }) [ | 如果进位位为1 则转移5 e8 Y/ o1 q% N9 n8 p) \! E
| 2" C$ {/ }9 L, W' u! {
| 2" ^0 \7 @3 c, x4 o6 j
| JNC7 h5 Y# W- M4 G U
| rel
( y0 Y' b4 z! L- b: r! W | 如果进位位为0 则转移2 U+ s2 t' G1 n+ C* \
| 24 p( X. @- p6 C
| 2$ Y! T2 Y& B0 x3 |4 {3 r6 J
| JB6 O2 ` g; J& D. L* z1 d- G
| bit,rel
9 f& _: ^! J' V2 l; D | 如果直接寻址位为1 则转移" Z8 N% r' Y/ N! S. E* J& a
| 3
6 J5 M) w9 x/ ^* H | 23 f, h1 ] I0 P- I- Z3 @# i
| JNB- f$ x2 ?4 K: S0 q
| bit,rel3 C% Z6 b5 J5 a' r" g% E
| 如果直接寻址位为0 则转移0 B7 q& O+ W" `, u. x3 |
| 3/ w; q0 M |* E7 J( {* {
| 2
1 |9 }/ y, Q# B | JBC7 f( H6 n% l$ _- K
| bit,rel
" J' k; p0 v3 N+ {3 e. o) v | 直接寻址位为1 则转移并清除该位
$ T# Y' D: j/ K4 O | 2: K: `: m# ]' x7 o; T7 f8 N
| 28 F" O5 V; R. a8 X& c7 L3 D8 l4 r
|
- E7 h! a$ F' u' y/ Q- m; |/ f
8 L* h! b+ H. y; u; A: [
; j7 y: y: P( G. z(伪指令) | ORG
) c- _* ~0 y4 @" y! n9 ] | 指明程序的开始位置9 d9 N' {6 u- w! M0 b9 F. O9 a
| 1 F7 P+ H1 T4 u/ g8 r
| DB
& r7 D2 S1 }/ V2 X( m0 q | 定义数据表
, w) M5 k& _! h, s6 z* L! b; W6 E |
" r- c! P+ T) Q, j; T* f0 V: A | DW; t0 @9 t' T2 T' h, R; z7 `
| 定义16 位的地址表 Z! p1 i$ }, b& _! u1 u! p9 r, S
|
& P$ g& S9 Y# f2 x2 C" q! F+ p | EQU0 q4 w ^5 ?2 f: ^. u5 d6 v
| 给一个表达式或一个字符串起名" c H7 \) w T1 w& M0 L1 ~1 R
|
. i" ~; U8 X, ?+ ~, I; h9 { |
DATA
; B" S+ O2 T9 J | 给一个8 位的内部RAM 起名0 M. X& v( {9 k. e, w, Z3 e6 ?3 {
|
* p# ~& D B( n/ W | XDATA( R3 ]) Z, {* o' k' R# [
| 给一个8 位的外部RAM 起名
: e9 B) d/ k( @0 m" l$ e |
$ o, r) V; m5 o/ N" H& Z* R | BIT
+ ?+ _7 U1 J, O! _: E/ E/ T | 给一个可位寻址的位单元起名
( a- b$ E( n8 v |
4 j6 e. z; c- N e | END
5 R" E9 u: l, G$ R5 M0 O+ Z | 指出源程序到此为止) E4 t0 @2 H" R/ e# K5 Q0 c
| + C5 D* o2 g5 q
|
( @" c# e* ]! g(指令中的符号标识) | Rn, x% b/ \( R0 o# i' T
| 工作寄存器R0-R7' j) C+ ~$ a1 t/ E8 @
| Ri
6 z, N( I9 p" P | 工作寄存器R0 和R1 ?, M E7 B: [
| @Ri; R- E$ I! G! o% b
| 间接寻址的8 位RAM 单元地址(00H-FFH)) R& b) H) }# l, P2 M4 Z
| #data8
4 E: ~* t5 v9 I | 8 位常数+ \+ B; _& W" A# b* U3 U) ?: u/ w
| #data16# x" J! z) H4 {
| 16 位常数& f& [7 T& g" W" N
| addr168 @6 ]/ x/ ]8 n2 S, x, S4 S/ W$ A
| 16 位目标地址,能转移或调用到64KROM 的任何地方
1 E! g4 Z7 i4 D2 @2 j9 L% E | addr11. d ~+ a# n! J7 ~4 S- A
| 11 位目标地址,在下条指令的2K 范围内转移或调用( u6 K5 c, H0 C9 o. _. @ Q
| Rel
* m0 l. n, R9 @2 P | 8 位偏移量,用于SJMP 和所有条件转移指令,范围-128~+127/ H: l8 u- B5 l% Y0 p
| Bit
: N) G8 `" V9 T0 r/ ]5 { | 片内RAM 中的可寻址位和SFR 的可寻址位
% [( K, h1 T5 I7 Z: ` | Direct. j1 |% E$ u. ^- @* w/ X4 X$ n* ]
| 直接地址,范围片内RAM 单元(00H-7FH)和80H-FFH
7 b9 r8 k* `/ {) {0 V6 w1 o! ^* V5 u | $( g5 q$ ~% O1 l' i2 K: B' A! [- Q' a
| 指本条指令的起始位置# D7 B' e% l4 o$ `' D T. Y; k8 ?
|
3 B$ c) \" v' D2 Y; h0 ]) J |
|