TA的每日心情 | 开心 2022-1-21 15:22 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
常用单片机汇编指令:6 _! e2 v$ E ^* z4 N; t2 s
1 .MOV A,Rn 寄存器内容送入累加器+ p2 d( P' A1 @% r
2 .MOV A,direct 直接地址单元中的数据送入累加器3 n3 @8 d: K$ U
3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器
) X* r& ?5 T% ~. n7 [/ W4 .MOV A,#data 立即数送入累加器
' `* {; B9 _8 n4 N9 o! n) }8 f' _' s5 .MOV Rn,A 累加器内容送入寄存器 & w- h+ I7 W. S, }( ~0 |0 s: o
6 .MOV Rn,direct 直接地址单元中的数据送入寄存器- ]6 V6 b+ I7 d
7 .MOV Rn,#data 立即数送入寄存器
`$ Q8 X7 p9 L3 |+ L0 u' ~8 .MOV direct,A 累加器内容送入直接地址单元 l$ Z2 d% N) a2 e; t
9 .MOV direct,Rn 寄存器内容送入直接地址单元+ d8 j4 g; Y+ R; f3 r* M0 D
10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 . B/ W3 u. q" L; ] c" q) d
11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元
& S) _4 b" ^# R! W12 MOV direct,#data 立即数送入直接地址单元 4 k/ F& ?& E# R- H4 H
13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元 8 |9 g& a% p* g% a/ K, H. Y! B
14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元
# u% B. a0 k0 I' X% U; L15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元
4 Z3 X' j$ h: ^3 m16 .MOV DPTR,#data16 16 位立即数送入地址寄存器 8 h8 A% c3 t4 j5 ^
17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
/ x" }( Y1 z( ^18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器 & W) Q+ j; f9 y( @3 z; y2 m" k/ P
19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器 # N0 ?: n( M/ f* ^6 j; X
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
" f$ j7 G4 Z, E. M4 W' q21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)
+ s+ z! q0 z) _- x, ?0 G( Y- k22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址) , I; \( o" U5 {1 o% [
23 .PUSH direct 直接地址单元中的数据压入堆栈 - l2 R; C" c. M* ^
24 .POP direct 弹栈送直接地址单元 : N/ A Z6 V2 m0 R! j. @
25 .XCH A,Rn 寄存器与累加器交换 $ x; g! C0 t m5 c, e5 B
26 .XCH A,direct 直接地址单元与累加器交换 ! v. y: {; Q; K, U4 c+ f9 G
27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换
$ |3 T. e5 X" P- _# [4 z28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换
( q5 ?9 Y# z, f5 z- S' ?
5 B6 t4 \" G* h8 i: {2 p/ D! L" q) x/ J+ i算术操作类指令:
4 h$ ~4 q' h$ p0 p4 E. I! P7 w- E# ^1 e P6 r
1. ADD A,Rn 寄存器内容加到累加器 2 r9 `, ]7 p+ P. O
2 .ADD A,direct 直接地址单元的内容加到累加器
: V$ @- O+ I' _' }& H* u3 A.DD A,@Ri (i=0,1)间接ROM 的内容加到累加器
3 ~9 o# ]3 E; ^& O8 g/ [4 .ADD A,#data 立即数加到累加器 " }1 y, @6 @% w6 G6 U8 r, j. W
5 .ADDC A,Rn 寄存器内容带进位加到累加器 % ]) h' @ ?! e' \ [0 z! H
6 .ADDC A,direct 直接地址单元的内容带进位加到累加器
! x$ k* [0 X: x# ]0 I2 q3 @7 .ADDC A,@Ri(i=0,1) 间接ROM 的内容带进位加到累加器
3 f. F1 }' C* [: K+ z+ u+ v1 z8 .ADDC A,#data 立即数带进位加到累加器
# N2 R4 O3 f3 I1 A9 .SUBB A,Rn 累加器带借位减寄存器内容 * T6 t9 v7 e" s
10. SUBB A,direct 累加器带借位减直接地址单元的内容
0 a2 Y8 J# f0 n1 s8 Z3 n0 _; ~11 .SUBB A,@Ri (i=0,1)累加器带借位减间接RAM 中的内容
* [' a( T7 `$ q4 b& V# u0 u! R$ _12 .SUBB A,#data 累加器带借位减立即数 2 R$ @3 \; c( [0 u
13 .INC A 累加器加1 " H$ r0 J% R* S8 j0 d5 c
14 .INC Rn 寄存器加1 8 v" U( c! X3 P v
15 .INC direct 直接地址单元加1
* }# |: ^" q9 w& K1 K6 q16 .INC @Ri (i=0,1)间接RAM 单元加1
3 W8 U. O4 t; h" X: I17 .DEC A 累加器减1
' N2 G7 k% ]; t4 F# N18 .DEC Rn 寄存器减1 ! S7 ?7 q, w7 [ [% x
19 .DEC direct 直接地址单元减1
1 r* f0 D: {. M3 Q. J4 h! j20 .DEC @RJ 间接RAM 单元减 1
2 r) g# M, G8 H21 .INC DPTR 地址寄存器DPTR 加 1
8 _' `- @+ P6 }! F$ s8 S3 t0 O22 .MUL AB A 乘以B,结果放在A
5 G& D9 M& r9 A, r+ P+ V23 .DIV AB A 除以B,结果放在A
3 l. @6 _' l2 Q( E4 ^/ o" R24. DA A 累加器十进制调整, ^; s& ?& Q" C I
* y, X2 }0 t4 E! c3 T$ `
布尔变量操作类指令: s/ } W! E4 X/ F
+ c- p$ x, R0 [4 ~$ v# [1 .CLR C 清进位位 - y8 e5 f) z* U) h; X
2 .CLR bit 清直接地址位
4 K# Y, \# O* X h" ?4 U- ]4 ^$ A9 ?3 .SETB C 置进位位
0 a& @* ?3 d4 g# [1 T' @9 a5 K& a4 .SETB bit 置直接地址位
/ ^! `, n, ?/ b6 w. x! ]5 .CPL C 进位位求反 " A" O, A* a- j9 d% T. V
6 .CPL bit 置直接地址位求反 * U! n, m F$ ]5 e
7 .ANL C,bit 进位位和直接地址位相“与”
9 |% o4 J9 d: L$ u/ N7 R8 .ANL C,/bit 进位位和直接地址位的反码相“与”
2 d, T1 v3 \1 n$ o: Z9 .ORL C,bit 进位位和直接地址位相“或” " E ]3 j! Z. G T( l
10. ORL C,/bit 进位位和直接地址位的反码相“或”
. ]7 R$ o0 c7 B% S" f8 n) Z$ o" b, n11 .MOV C,bit 直接地址位送入进位位 * {- K3 }) J0 x5 W2 U- a% Q8 E2 c
12 .MOV bit,C 进位位送入直接地址位 $ D! i& Y1 g. Z- @. r
13 .JC rel 进位位为1 则转移
: {. Q. ^$ \% F2 |, p/ g; j14 .JNC rel 进位位为0 则转移 7 m2 I7 m# ^3 @, K8 ?/ t( n# j2 y5 n
15 .JB bit,rel 直接地址位为1 则转移
+ z# l! ^, G4 f! x) H# r: g& V16 .JNB bit,rel 直接地址位为0 则转移
! \/ u1 Z- E4 w7 g17 .JBC bit,rel 直接地址位为1 则转移,该位清零
. N% @8 m8 H* [2 e7 f; ^+ U
. }& a8 @6 J- l' t& P2 J逻辑操作数指令:# ]+ h/ S4 S7 r
1 ]! U9 [( O1 z5 I5 l# v/ @2 A
1. ANL A,Rn 累加器与寄存器相“与”
9 b z7 z" s' e' b, B2 .ANL A,direct 累加器与直接地址单元相“与” $ [1 M: a( f! U. S
3 .ANL A,@Ri 累加器与间接RAM 单元相“与”
4 u J$ S+ ]( L4 .ANL A,#data 累加器与立即数相“与”
8 f" c/ t: T! Z5 .ANL direct,A 直接地址单元与累加器相“与” $ p% q" c) {& _0 }/ p G
6 .ANL direct,#data 直接地址单元与立即数相“与”& ~9 n+ N" W0 r; p1 A
7 .ORL A,Rn 累加器与寄存器相“或” ; W) u8 \! M# m+ a2 s1 R! L
8 .ORL A,direct 累加器与直接地址单元相“或” & `* W: @& u: n7 R
9 .ORL A,@Ri 累加器与间接RAM 单元单元相“或”" y0 ~: _; t1 K, s; a% \
10. ORL A,#data 累加器与立即数相“或”
4 a6 \/ {2 ~2 c: ?5 u6 q11. ORL direct,A 直接地址单元与累加器相“或” : s; ?* w2 C+ h7 V1 s" V% X0 j# Q" ~
12 .ORL direct,#data 直接地址单元与立即数相“或”5 f' ~3 l: I" R$ h
13 .XRL A,Rn 累加器与寄存器相“异或” v" ~/ y1 f0 F+ D' t2 c
14 .XRL A,direct 累加器与直接地址单元相“异或”
* V; L1 A5 ?" Z9 r15 .XRL A,@Ri 累加器与间接RAM 单元单元相“异或”
1 E# M! F% g7 m* N16 .XRL A,#data 累加器与立即数相“异或”/ |' @) e. `( ^; T, j
17 .XRL direct,A 直接地址单元与累加器相“异或”
& Q5 A) V2 {: y) [2 u8 ]18 .XRL direct,#data 直接地址单元与立即数相“异或”
: e/ K! w0 z D$ A1 \' f' @19 .CLR A 累加器清“0” W8 w$ _; C) d
20 .CPL A 累加器求反
6 M. T1 T4 L8 I# J7 _21 .RL A 累加器循环左移
3 s0 `5 R1 W: n8 |+ h22 .RLC A 累加器带进位位循环左移 _9 ]3 K$ I, X
23 .RR A 累加器循环右移
# k8 X: r" f# x0 D) X- o' Q24 .RRC A 累加器带进位位循环右移 3 W3 ?# V; o( Z1 U1 E" z
25 .SWAP A 累加器半字节交换
4 s, n9 W) f. m" u3 p$ I! M& `5 j0 x0 j( Q* e1 [7 [1 g
控制转移类指令/ A& o7 e: D4 `$ e
) e' w9 A6 N! r7 f( p4 l1. ACALL addr11 绝对(短)调用子程序
' i* N+ W, x, U. \2 r4 Y2 .LCALL addr16 长调用子程序 ) e. [! L7 U/ q( H, m/ ~( \
3 .RET 子程序返回 8 t8 `& h* q2 Z9 I; F# c' k
4 .RETI 中断返回 ! F, u" q2 B1 W% _' j
5 .AJMP addr11 绝对(短)转移
' q) \3 p" P0 i2 N# C6 .LJMP addr16 长转移 ! ~! N8 ^5 d1 l" ^
7 .SJMP rel 相对转移
* `: R$ Q4 A+ j' ~! a: U8 .JMP @A+DPTR 相对于DPTR 的间接转移
$ a" p/ Z' f; i! u9. JZ rel 累加器为零转移 9 h. |9 _9 v! A9 [% H5 G3 X, Y+ \
10. JNZ rel 累加器非零转移 . p9 X9 K8 \7 l9 W
11. CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 % g0 X# d. T% b- P9 U5 \- L% w
12 .CJNE A,#data,rel 累加器与立即数比较,不相等则转移 + [( l9 X3 L- F2 `
13 .CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
3 x; ?; A8 ~! V% G; [3 U14 .CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移 8 w* O# \/ t5 n6 r
15 .DJNZ Rn,rel 寄存器减1,非零转移 , c( v* K' ^- A( ?
16 .DJNZ direct,erl 直接地址单元减1,非零转移
2 I8 X$ X5 u, k3 C# S2 E17 .NOP 空操作 |
|