TA的每日心情 | 开心 2022-1-21 15:22 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
常用单片机汇编指令:9 G* I; c3 f- }3 w9 A
1 .MOV A,Rn 寄存器内容送入累加器! @1 u Q# f) R8 R; ^
2 .MOV A,direct 直接地址单元中的数据送入累加器0 o: h5 ?0 o H: t+ c
3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器' i6 J' L% b+ ]3 ]! u. }9 ~! K3 ]% ^
4 .MOV A,#data 立即数送入累加器: v! V; ]# y( m
5 .MOV Rn,A 累加器内容送入寄存器 " s6 m0 _* h4 V. r* k& ?
6 .MOV Rn,direct 直接地址单元中的数据送入寄存器; J( m: C3 W/ b0 L
7 .MOV Rn,#data 立即数送入寄存器
- r, V+ m- d. C+ K8 .MOV direct,A 累加器内容送入直接地址单元
7 o. H/ c+ S0 v0 h9 .MOV direct,Rn 寄存器内容送入直接地址单元
# x# T2 T+ \+ p10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 f: Z! i% `% L0 X3 F0 _/ D
11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元 - a% l( w- k5 b& U, e
12 MOV direct,#data 立即数送入直接地址单元
/ R7 P# M U* x- J% z13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元
1 [" Z% K( ?# d: T `+ m14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元
0 i) |1 ~( b. c# |( Z' K% E# U+ G* m15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元 ) Q4 S0 b& F4 ?* T4 I
16 .MOV DPTR,#data16 16 位立即数送入地址寄存器 - n! f* { n( A* H$ [' t
17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 1 w; W0 _& q# C! @2 @
18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器 3 |2 n; J7 d" g( ?& S! d4 }3 v; M, k
19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器 6 `. K) ~4 ?) }
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
2 d0 T9 ?( v& [% g* v1 G21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址) 0 J& y0 H- ?/ M8 M
22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址)
4 J. t' }3 r$ B9 r) W* B23 .PUSH direct 直接地址单元中的数据压入堆栈 r$ I' D, a) S/ b9 v' h7 Y
24 .POP direct 弹栈送直接地址单元
$ [0 B7 @8 D% J25 .XCH A,Rn 寄存器与累加器交换 1 v! |& x# y) Q5 _( u
26 .XCH A,direct 直接地址单元与累加器交换
8 h3 o# N6 d- f; S! o; t. D27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换
8 V* g8 h( i1 i4 |: P28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换4 @# L' z; |( y: U7 D# [
1 a$ l1 D, F6 Z& G& C; I1 z算术操作类指令:
$ J1 |+ v( F( I# r' E; t( ^) ]% M! z! L! J. ?9 Q" _4 c" J
1. ADD A,Rn 寄存器内容加到累加器
1 @$ u5 l. j4 |3 Z3 l% v' A2 .ADD A,direct 直接地址单元的内容加到累加器 8 X% H6 q% I# g: Q2 a) v$ E% u% Q
3 A.DD A,@Ri (i=0,1)间接ROM 的内容加到累加器
4 v! N7 R/ l) [+ q+ i. o& S4 .ADD A,#data 立即数加到累加器 ) |1 g8 k2 u) P* D) A% v
5 .ADDC A,Rn 寄存器内容带进位加到累加器 ) @$ ?2 ?; h9 ~/ ^' |
6 .ADDC A,direct 直接地址单元的内容带进位加到累加器
4 `# F2 v1 P; b! Z1 ~& F% b7 .ADDC A,@Ri(i=0,1) 间接ROM 的内容带进位加到累加器
1 ^* l- J# s, r. \8 .ADDC A,#data 立即数带进位加到累加器
% e( n: K+ H) M0 Y; i9 .SUBB A,Rn 累加器带借位减寄存器内容
' @9 p2 W: V# x- v( S! f10. SUBB A,direct 累加器带借位减直接地址单元的内容
- G7 B' z' `7 g2 \0 b( p11 .SUBB A,@Ri (i=0,1)累加器带借位减间接RAM 中的内容" `0 n7 `1 v* `
12 .SUBB A,#data 累加器带借位减立即数
1 M7 g3 H& U8 x. O13 .INC A 累加器加1 * }) q8 M4 W% C% \$ w
14 .INC Rn 寄存器加1
1 ]' P& V6 m' z2 V. J$ J7 F7 Z7 P15 .INC direct 直接地址单元加1
C0 `& m R5 o, p9 I% b* T8 B16 .INC @Ri (i=0,1)间接RAM 单元加1
+ n5 g7 ^, }/ q5 T& R4 A17 .DEC A 累加器减1
8 N6 F4 t# S! u# k, ], z18 .DEC Rn 寄存器减1 3 c9 r* w. C3 J5 C
19 .DEC direct 直接地址单元减1 & Q* u! t. o' \9 y Z# C
20 .DEC @RJ 间接RAM 单元减 1
9 k$ M% m% ]! @; C21 .INC DPTR 地址寄存器DPTR 加 1
( O" h* E' B) y$ A- U0 j8 s# Y22 .MUL AB A 乘以B,结果放在A
$ d. I. [5 i3 C, @" @( [4 j; d23 .DIV AB A 除以B,结果放在A . e& ?8 H; f8 v& O
24. DA A 累加器十进制调整0 A8 J4 k' _8 \% g
0 \) |+ ?( o! F3 R' k& T布尔变量操作类指令:
4 d8 ]% s( h/ f' E ?# s' `
) F! V( V2 P3 h9 a9 v g# o1 .CLR C 清进位位 # r: l0 l7 e5 X o, a) w
2 .CLR bit 清直接地址位 ! s) ~; {$ r5 u1 [6 z% W# j, N
3 .SETB C 置进位位 3 |; C. A6 f, N
4 .SETB bit 置直接地址位
% M/ J; I7 |( _& _7 j( E7 _) Y! r5 .CPL C 进位位求反 ' u: j9 E/ s& L$ }) F* Y( T# K7 T
6 .CPL bit 置直接地址位求反 / ?( L# S3 [& p' ^5 t
7 .ANL C,bit 进位位和直接地址位相“与”
% X- o7 a& B6 C% P+ q$ ^8 .ANL C,/bit 进位位和直接地址位的反码相“与” 0 R1 O1 Q6 c( O/ s" l6 F
9 .ORL C,bit 进位位和直接地址位相“或” 5 o9 \; Y! y D" D! c
10. ORL C,/bit 进位位和直接地址位的反码相“或” ! a2 n& J3 D$ ]* Y& h
11 .MOV C,bit 直接地址位送入进位位 % Y3 E! i( j" Y8 \ T+ Y: a
12 .MOV bit,C 进位位送入直接地址位
5 I u/ P" `4 h0 P- m13 .JC rel 进位位为1 则转移
0 O- b# @6 U$ J+ g( t, u14 .JNC rel 进位位为0 则转移 # V0 V& d, p# Y% y9 U& T
15 .JB bit,rel 直接地址位为1 则转移 # ?: z( q" V. g3 l
16 .JNB bit,rel 直接地址位为0 则转移; Z8 n7 o. u- r5 Z7 ]# h+ |$ ]
17 .JBC bit,rel 直接地址位为1 则转移,该位清零
, W5 W/ t q9 ^; A3 X/ U' N% |' _
) _1 S2 O" g G逻辑操作数指令:
. j9 B3 W+ r, V. A( d9 S$ K. ?
: e: e8 v1 a. Q1. ANL A,Rn 累加器与寄存器相“与”
! m+ R7 _6 w2 z2 n3 i% @, s# d3 R) I2 .ANL A,direct 累加器与直接地址单元相“与” ) W8 k" _4 E( I# d6 a$ o! k! n
3 .ANL A,@Ri 累加器与间接RAM 单元相“与”
. e7 Q! @0 e' n7 _4 .ANL A,#data 累加器与立即数相“与” ) s/ v6 u/ b6 F6 _. [
5 .ANL direct,A 直接地址单元与累加器相“与”
) I# z7 W' U9 W" Y d% N6 .ANL direct,#data 直接地址单元与立即数相“与”
# L# Z9 S# s) G5 a7 .ORL A,Rn 累加器与寄存器相“或” % y% G% g" E6 C2 S9 N- M
8 .ORL A,direct 累加器与直接地址单元相“或” % H; z7 A; p3 \" b# ~
9 .ORL A,@Ri 累加器与间接RAM 单元单元相“或”
. }( A' D7 \# n& v6 g$ l. C10. ORL A,#data 累加器与立即数相“或” # I/ z) |! y- `; e
11. ORL direct,A 直接地址单元与累加器相“或” ( y7 \$ a4 ] \$ j7 f
12 .ORL direct,#data 直接地址单元与立即数相“或”$ [! b! n* J% R# o& X0 i8 [
13 .XRL A,Rn 累加器与寄存器相“异或”
. E: t1 M- Z- a" j# T8 {14 .XRL A,direct 累加器与直接地址单元相“异或” 8 J, f' h( M4 |8 v: f2 D
15 .XRL A,@Ri 累加器与间接RAM 单元单元相“异或” 3 R! F7 H& A8 r7 \7 F( p# J, ~5 R
16 .XRL A,#data 累加器与立即数相“异或”- `4 h: r. @ E; m& I
17 .XRL direct,A 直接地址单元与累加器相“异或” 1 h/ |* @" H: w( r
18 .XRL direct,#data 直接地址单元与立即数相“异或”
: a. C& e0 A/ G1 M8 s19 .CLR A 累加器清“0”
# T. T/ L" g- r1 g( a' O5 D8 ?20 .CPL A 累加器求反 & r: L: b: f @
21 .RL A 累加器循环左移
, s& G; |' s( P0 N3 R22 .RLC A 累加器带进位位循环左移
8 L. W0 ?* O( S( W23 .RR A 累加器循环右移 * E% u6 j! I* U2 K& K6 q
24 .RRC A 累加器带进位位循环右移
( Z! D1 h2 n( s* i, z/ I9 |25 .SWAP A 累加器半字节交换
H; r1 p9 w" c. e1 V5 k4 R
; d, z0 T( C& {! D0 ^5 k- P控制转移类指令
4 s+ V! U1 i8 v( G" T" \7 C3 q+ c; Z4 c% R0 Z; r+ E. o9 H3 `
1. ACALL addr11 绝对(短)调用子程序
Z8 m/ `2 g+ B2 .LCALL addr16 长调用子程序
& U& G$ W: e: H+ x) F: X3 .RET 子程序返回 * k6 C# x9 ]& F9 j
4 .RETI 中断返回 ! {! S2 n; Q$ @! X+ _) _0 G
5 .AJMP addr11 绝对(短)转移 & [# t' o, O/ I: Y! Y) ^# t- O
6 .LJMP addr16 长转移
6 ~1 d K" F/ [1 w; r7 .SJMP rel 相对转移
! x0 ]: [- g: X$ b" e2 l8 .JMP @A+DPTR 相对于DPTR 的间接转移7 a" f6 ?/ s7 |1 l
9. JZ rel 累加器为零转移 # e( z7 @* p& m( [
10. JNZ rel 累加器非零转移 $ b: b0 d$ M3 w
11. CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移 . [/ r7 J4 h. I9 D/ k
12 .CJNE A,#data,rel 累加器与立即数比较,不相等则转移
/ }9 y. [" T9 M13 .CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
! Q+ X- J: e: u3 h4 t% T14 .CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移 / u6 y: f, d: S! U- o. f* a
15 .DJNZ Rn,rel 寄存器减1,非零转移 , w, p8 X% Q1 g3 s0 w- s
16 .DJNZ direct,erl 直接地址单元减1,非零转移 ! z3 L) l, A. q$ K9 y: F
17 .NOP 空操作 |
|