TA的每日心情 | 开心 2022-1-21 15:22 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
常用单片机汇编指令:
- s/ @8 Y/ b; ^1 .MOV A,Rn 寄存器内容送入累加器
: [5 o/ J, C+ _) Q( Y! S4 m8 g2 r" f2 .MOV A,direct 直接地址单元中的数据送入累加器
$ Z: C5 I* P* M9 N3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器; J: C& V$ |- A* l
4 .MOV A,#data 立即数送入累加器4 t0 {) v% \6 @( R/ P) U/ C( p
5 .MOV Rn,A 累加器内容送入寄存器 8 F6 v7 Z, n+ }0 \5 F
6 .MOV Rn,direct 直接地址单元中的数据送入寄存器1 d% R% ^4 Q7 W
7 .MOV Rn,#data 立即数送入寄存器
: s1 f5 S" a9 G8 .MOV direct,A 累加器内容送入直接地址单元 9 o* k$ i! X) ]6 t3 D
9 .MOV direct,Rn 寄存器内容送入直接地址单元
# m' d6 l% @3 x( H10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 4 q+ B$ ] b7 p* ~) i' ?/ z
11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元
3 r3 w! D V V; u1 L1 @0 F+ Y6 N( s12 MOV direct,#data 立即数送入直接地址单元
$ M3 @0 F2 {4 Q9 k* u2 b" Q13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元 . c% s* t: C4 o" J
14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元
( S$ n& m/ K- }: Q- y15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元
! q3 q3 k; b* u+ r2 K" L; V16 .MOV DPTR,#data16 16 位立即数送入地址寄存器 7 p8 N8 U) y! d1 R* v x
17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器
6 A5 W% P% Y: [/ T- e18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器
4 K$ {2 d! Q7 t$ B19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器 3 V" p% Y( v2 _1 ^; U
20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器
5 ?- Q X7 b- ^' k& |6 t21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)
( s4 A6 t8 O4 o/ o! [& ^22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址) " d3 B2 j J8 U, J: K& E1 Q' o
23 .PUSH direct 直接地址单元中的数据压入堆栈 3 j, [" n$ m& j; Q
24 .POP direct 弹栈送直接地址单元
) W7 D6 ^) L! [) S- J; r25 .XCH A,Rn 寄存器与累加器交换 7 S8 m) |* ^) M/ h6 ^
26 .XCH A,direct 直接地址单元与累加器交换
5 ?' m6 G! F3 @7 o5 O% Q; q8 J27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换
' z+ @' [& u' M; G28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换
' o, m0 u; n7 c7 k% R8 n$ Q" F6 C, O
- j0 H' c' _- m7 i& r& y: w' m0 j算术操作类指令:
0 P- U$ U& J6 v& \# k5 ~& @# ~3 Y, |
1. ADD A,Rn 寄存器内容加到累加器 , m! X- B6 ^2 M
2 .ADD A,direct 直接地址单元的内容加到累加器
4 l. M% ]' c h4 V. x3 r& t3 A.DD A,@Ri (i=0,1)间接ROM 的内容加到累加器 ; `. M% e0 ^9 q+ a/ r3 D8 n6 y
4 .ADD A,#data 立即数加到累加器 , w8 e. U3 S) A R; t( F" |4 n
5 .ADDC A,Rn 寄存器内容带进位加到累加器 7 |2 y9 f3 t. t) T# y+ C* D4 n
6 .ADDC A,direct 直接地址单元的内容带进位加到累加器 : K& y% }& `! H' {
7 .ADDC A,@Ri(i=0,1) 间接ROM 的内容带进位加到累加器
& ~+ d/ Y8 m" u5 ?; w8 .ADDC A,#data 立即数带进位加到累加器 # X8 T, T+ Y' f+ R( I
9 .SUBB A,Rn 累加器带借位减寄存器内容
# b: }' D V: z0 W% q7 x- j( O10. SUBB A,direct 累加器带借位减直接地址单元的内容
( W" l$ e- }8 x* l8 F11 .SUBB A,@Ri (i=0,1)累加器带借位减间接RAM 中的内容2 ]9 n3 A1 B9 c) F% ~
12 .SUBB A,#data 累加器带借位减立即数 2 |9 E+ r0 o0 h+ @, N! d
13 .INC A 累加器加1 ' U7 [" J0 ^( a% ]9 m
14 .INC Rn 寄存器加1
& @- y/ o: \2 z15 .INC direct 直接地址单元加1* k1 ^/ [6 a3 E, K7 B. H! a
16 .INC @Ri (i=0,1)间接RAM 单元加1% _3 ~. m! Y- _ b" P* N' k- A
17 .DEC A 累加器减1 * s H% N' N7 M( E
18 .DEC Rn 寄存器减1
9 b* r$ B& F* f- q2 m1 I) U0 y19 .DEC direct 直接地址单元减1
& u( [' ]5 }4 O3 o8 {4 W8 T) n* Q20 .DEC @RJ 间接RAM 单元减 1 , n. `9 D1 _0 ?# }
21 .INC DPTR 地址寄存器DPTR 加 1
) o) B6 h+ q& i( L; T22 .MUL AB A 乘以B,结果放在A
( T, n& V6 ]/ @- m23 .DIV AB A 除以B,结果放在A
: i! h% s2 y. e: H9 p; q24. DA A 累加器十进制调整: U* s3 _+ q& S8 S# G6 m- \" k R y
. Z7 G& l! E* t0 ?3 h+ ]布尔变量操作类指令:' B* A% J9 J$ o. f+ ]
- n# F* _/ a g+ ?4 l& \, ?" B
1 .CLR C 清进位位
8 N& I2 C# k% e! ]4 H! {2 .CLR bit 清直接地址位 " @- t# ^6 ]# B" R5 A, ^
3 .SETB C 置进位位
3 ^8 l& `' \- n; L H4 z8 C4 .SETB bit 置直接地址位
* F z# u" [6 [5 .CPL C 进位位求反 1 M, u) L' A$ N% J
6 .CPL bit 置直接地址位求反
/ b! |3 G. Q: y; J/ A7 .ANL C,bit 进位位和直接地址位相“与”
4 ^! D$ @* \% w# M1 K4 U& }8 .ANL C,/bit 进位位和直接地址位的反码相“与”
( d, k6 x E; I! L% ~( D9 .ORL C,bit 进位位和直接地址位相“或” ; g0 o0 @5 j9 w* T x4 ~6 {
10. ORL C,/bit 进位位和直接地址位的反码相“或” 9 Z2 y+ ]' J2 i6 q. y$ v
11 .MOV C,bit 直接地址位送入进位位 ' W y6 d: K! S, s
12 .MOV bit,C 进位位送入直接地址位
1 `# p. _, y. }; @# x3 N2 w13 .JC rel 进位位为1 则转移
2 [' Z2 d4 P8 C& h2 p14 .JNC rel 进位位为0 则转移
, m7 g1 s7 v; `! ~9 n15 .JB bit,rel 直接地址位为1 则转移 6 G/ R* B# o5 ]% ^; M# K$ O' q
16 .JNB bit,rel 直接地址位为0 则转移
# ]3 @. k# e& F3 s" v17 .JBC bit,rel 直接地址位为1 则转移,该位清零
; E' E i) ]( F# |2 \
, K$ g; h$ y& A) {, D6 X5 y" n/ C% w逻辑操作数指令:
7 {1 M" {6 w* r9 m! z! p: @) q5 I4 [ A& q7 H2 ^/ @- R
1. ANL A,Rn 累加器与寄存器相“与” # a' U( D7 T: o8 X* V
2 .ANL A,direct 累加器与直接地址单元相“与”
5 j2 [0 Y/ Z5 m3 j4 D7 R* I3 .ANL A,@Ri 累加器与间接RAM 单元相“与” 2 M# ^: N( I$ U# `; [% u( S" I) |
4 .ANL A,#data 累加器与立即数相“与”
8 D; }$ A) Z$ X4 a2 o5 .ANL direct,A 直接地址单元与累加器相“与” 6 S- I+ D4 y4 D* M
6 .ANL direct,#data 直接地址单元与立即数相“与”
; g$ w( \; s* Z' F- h4 B! z' H7 .ORL A,Rn 累加器与寄存器相“或” & G( E' [. u. v" | a8 B: k0 I4 G
8 .ORL A,direct 累加器与直接地址单元相“或” . g; m1 }$ j4 y9 J$ M6 h! y* B
9 .ORL A,@Ri 累加器与间接RAM 单元单元相“或”
6 N; b0 R( {! w( U10. ORL A,#data 累加器与立即数相“或” 2 Z$ _' s1 m) H, U Z6 V9 K
11. ORL direct,A 直接地址单元与累加器相“或” " u$ d9 b w4 @% X- n5 p* N) x
12 .ORL direct,#data 直接地址单元与立即数相“或”4 a5 W" q; ?, ?9 n3 P4 L! P1 c0 y
13 .XRL A,Rn 累加器与寄存器相“异或”
# q" J5 t# {. u0 a14 .XRL A,direct 累加器与直接地址单元相“异或”
! d, W! J. x* S% `8 e) F# U15 .XRL A,@Ri 累加器与间接RAM 单元单元相“异或”
0 g) y& p1 c; R, B/ ]( E16 .XRL A,#data 累加器与立即数相“异或”
( v6 q* P0 ?: l. {, Q& R17 .XRL direct,A 直接地址单元与累加器相“异或” ! y! y' n) }9 h! `# B: ?6 r
18 .XRL direct,#data 直接地址单元与立即数相“异或”$ L$ `3 Y/ |6 B P* b& d$ n" W
19 .CLR A 累加器清“0”
2 f9 t6 j d9 J1 K20 .CPL A 累加器求反 ; K5 ?9 V, r1 ?: K# M% v
21 .RL A 累加器循环左移
7 Z9 Z0 p: A! w' l22 .RLC A 累加器带进位位循环左移 ; Y+ i5 X- j& y( p7 G! `: N# u& h. q; z, }
23 .RR A 累加器循环右移
, {% ?) g/ P6 f( f1 t. p24 .RRC A 累加器带进位位循环右移 + q5 P% f1 w* Z: w- E+ t
25 .SWAP A 累加器半字节交换2 N: K6 L6 ^5 D1 ~, F3 \1 S) |" C
1 f L; N; v+ A2 T; @
控制转移类指令
% h# L3 N2 b# Y1 L" |. x. m& @5 v. \% Q- D v! t
1. ACALL addr11 绝对(短)调用子程序
! }: X* b* Q' z0 g% k1 L2 .LCALL addr16 长调用子程序
" Q/ b6 q1 L8 w: ?0 ^" S3 .RET 子程序返回
, l1 m/ E3 o/ D. L, v) N4 f+ _5 u2 T4 .RETI 中断返回
% W# h! E6 w( j; L& `1 h+ m6 ]5 .AJMP addr11 绝对(短)转移 2 T, |& f; J0 u9 L7 |! h3 V% S
6 .LJMP addr16 长转移
/ P: ]9 y* a2 `6 L, C7 .SJMP rel 相对转移 $ n" l) s& q$ Z0 x& D8 W
8 .JMP @A+DPTR 相对于DPTR 的间接转移
" O3 C' ?8 P+ Z' M1 O9. JZ rel 累加器为零转移 " H5 a5 n- d/ ^' Z4 w& H# B8 ?
10. JNZ rel 累加器非零转移 & P: d2 b0 I+ J5 P
11. CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移
9 W/ B( E& Z! g- a3 U12 .CJNE A,#data,rel 累加器与立即数比较,不相等则转移 , c8 c! g9 X( @+ \% v
13 .CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移
+ S5 Y3 y6 t' N }* r( p, D) Y6 x: e3 u14 .CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移
$ _$ p, y+ `% p; Z6 R- y& g15 .DJNZ Rn,rel 寄存器减1,非零转移 - q5 m P- u- p1 y
16 .DJNZ direct,erl 直接地址单元减1,非零转移 0 \5 X% q" h& m. c9 J3 }
17 .NOP 空操作 |
|