找回密码
 注册
关于网站域名变更的通知
查看: 249|回复: 3
打印 上一主题 下一主题

单片机教程-附录:51单片机指令表

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-17 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

该用户从未签到

2#
发表于 2022-8-17 10:57 | 只看该作者
很好的东西,学习学习,谢谢

该用户从未签到

3#
发表于 2022-8-17 11:44 | 只看该作者
谢谢楼主,实在是好东西啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-3 11:33 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表