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

单片机常见的汇编指令

[复制链接]
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    常用单片机汇编指令:
    4 v8 [7 u! `4 B) f! u9 t4 |1 .MOV A,Rn 寄存器内容送入累加器
    . N$ i8 D" \2 `2 .MOV A,direct 直接地址单元中的数据送入累加器
    * t, F) H' c5 E  E7 p$ V6 y' P3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器
    9 Y8 e, V6 q& x4 ^  B7 H4 .MOV A,#data 立即数送入累加器+ u9 t- F  h% u7 f8 i* o  {
    5 .MOV Rn,A 累加器内容送入寄存器   
    , q4 F( D) e: f0 N6 .MOV Rn,direct 直接地址单元中的数据送入寄存器' A( T4 A2 ?- G
    7 .MOV Rn,#data 立即数送入寄存器   
      t$ w# v5 E5 n  ]1 P# l+ H, y8 .MOV direct,A 累加器内容送入直接地址单元  " x+ K% ~# s2 _- o
    9 .MOV direct,Rn 寄存器内容送入直接地址单元
    9 {' O6 Z9 C- g10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元   
    7 l0 g5 l; j, v( n, J- R7 m11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元   9 R/ p0 |  o! f- R4 G) r$ m+ ~7 }
    12 MOV direct,#data 立即数送入直接地址单元  # _9 c9 K4 r1 g5 N; N9 I- D( B. k$ F
    13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元  & c* Y& m( p3 @3 R9 q  Y' h
    14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元  
    0 V3 }7 h$ Q, Q" [1 j& {6 L15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元   
    " d- O1 R2 N' g; p& {9 }( H1 u3 e16 .MOV DPTR,#data16 16 位立即数送入地址寄存器   
    ' D- E! U* M# ]" T17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器  8 j: X- P* D0 C7 H
    18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器   
    ! V% O0 b/ q. o7 e0 P19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器   
    : I6 R2 S# q. |9 f, ^) w! Y/ Z9 M7 R8 v20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器   
    ' \" ]0 x! l' b5 f2 L4 D! g21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)   . P( G0 R! n7 H& I; T
    22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址)   # n: h1 H& j) G% T/ q
    23 .PUSH direct 直接地址单元中的数据压入堆栈  
    & Z& Y( p) j& O1 M  w. Y24 .POP direct 弹栈送直接地址单元  / b, L* R( B4 m8 [' V% l3 c
    25 .XCH A,Rn 寄存器与累加器交换   , ~1 h6 ^* {' ^) ]' Q
    26 .XCH A,direct 直接地址单元与累加器交换  ) F# G, d. U4 @# J7 A5 Q. j( r
    27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换  2 o6 x2 F1 k5 @) K, i# }" y
    28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换9 V5 s# V$ H# G0 g

      C2 Z2 t* D6 n5 v; D; I. `算术操作类指令:1 _6 ^( @& ]5 ?0 t

    . o# {3 R* g. b5 X1 u0 U1. ADD A,Rn 寄存器内容加到累加器  4 e/ C3 E0 z2 d* C4 N% Y
    2 .ADD A,direct 直接地址单元的内容加到累加器  
    4 d3 b+ D) L2 ~) Y7 K6 O3 A.DD A,@Ri (i=0,1)间接ROM 的内容加到累加器  
    8 V6 X( d0 ~' E0 W7 p4 .ADD A,#data 立即数加到累加器   
    ; d) N- X, }9 P5 B/ K& t- Y5 .ADDC A,Rn 寄存器内容带进位加到累加器  
    , ]$ l  E/ Y/ z! ~8 h6 .ADDC A,direct 直接地址单元的内容带进位加到累加器  8 f0 T7 Q' q& U6 \2 j: c. ~: H
    7 .ADDC A,@Ri(i=0,1) 间接ROM 的内容带进位加到累加器+ }' [9 n/ Z" t% Q) g
    8 .ADDC A,#data 立即数带进位加到累加器  
    ! Z4 a; y9 y9 W6 @" ]6 k- |* N9 .SUBB A,Rn 累加器带借位减寄存器内容   
    2 A; O6 C$ p2 ~$ p" S( [10. SUBB A,direct 累加器带借位减直接地址单元的内容  
    1 D3 Q0 X, L, H6 b) G8 ~* K; _11 .SUBB A,@Ri (i=0,1)累加器带借位减间接RAM 中的内容9 N* |3 A1 J$ Q8 K) T3 `5 q) c
    12 .SUBB A,#data 累加器带借位减立即数   
    0 J+ r5 U! ~* K" ?0 q' Y: s1 m13 .INC A 累加器加1  
    ; v9 M/ y- g6 |14 .INC Rn 寄存器加1   ! Y# u1 {1 B+ R, {% o
    15 .INC direct 直接地址单元加18 C) J. l  p+ Y* f# ?
    16 .INC @Ri (i=0,1)间接RAM 单元加1
    $ X, {+ U2 v2 e! o1 u4 \17 .DEC A 累加器减1  # t  D6 N) _5 }6 r/ r7 a% X, o
    18 .DEC Rn 寄存器减1  2 \" E& ]8 h+ ^" [; F
    19 .DEC direct 直接地址单元减1  
    " s' V" w* I5 }: g20 .DEC @RJ 间接RAM 单元减 1   $ Y! E7 [# A7 F( {) j
    21 .INC DPTR 地址寄存器DPTR 加 1  
    8 m4 B2 O3 {5 k8 ^# g" w- G6 h( G22 .MUL AB A 乘以B,结果放在A    A0 u4 f& a: N' O
    23 .DIV AB A 除以B,结果放在A  4 s& r8 h1 o2 S9 R8 I- u
    24. DA A 累加器十进制调整' m* d% [7 @1 V
    ; N5 ~% J/ P4 a* c( Y
    布尔变量操作类指令:1 s1 ?3 J( m) ~: l3 w- p

    3 q; A4 W' Y0 c* V5 b* j# H1 .CLR C 清进位位   ) n/ c6 i  {. h6 s/ }* ~+ W
    2 .CLR bit 清直接地址位  $ {4 I/ w! C8 U8 W: n1 X9 p3 u) e
    3 .SETB C 置进位位   ; y8 W7 {+ O9 F7 t3 W4 I
    4 .SETB bit 置直接地址位# ^& d  s3 u7 r  N( `
    5 .CPL C 进位位求反  , d. Q0 O* z2 @4 R5 i7 |7 q5 I
    6 .CPL bit 置直接地址位求反  
    ; ^/ J2 M( G! q) W7 .ANL C,bit 进位位和直接地址位相“与”' E" i- S6 Z* o1 V9 P9 ~& \+ z
    8 .ANL C,/bit 进位位和直接地址位的反码相“与”   ! [1 W& J! _4 v0 H' |2 F4 d
    9 .ORL C,bit 进位位和直接地址位相“或”  
    / G5 B% P9 U5 z' C3 w10. ORL C,/bit 进位位和直接地址位的反码相“或”    o- w; [0 c3 c* T" {
    11 .MOV C,bit 直接地址位送入进位位  8 w" i8 X% N4 d1 W% x3 ~& u
    12 .MOV bit,C 进位位送入直接地址位   + d7 X, B  |. d' ^
    13 .JC rel 进位位为1 则转移   
    $ v' x2 d- O4 ?+ j9 K14 .JNC rel 进位位为0 则转移   , P4 ~! B- q. y/ `# Y- Q
    15 .JB bit,rel 直接地址位为1 则转移  5 z- _* ~6 m- K0 c- V
    16 .JNB bit,rel 直接地址位为0 则转移
    . _; y2 w9 C2 A" y) e3 h3 J17 .JBC bit,rel 直接地址位为1 则转移,该位清零4 _) ]# f( z" k5 B* r. a1 e% Q" w

    ! U( T' K! t: o/ g7 C; w1 C$ x逻辑操作数指令:
    ! f6 h4 {3 m! ~' T
    8 E4 r0 P5 V) Z% @1. ANL A,Rn 累加器与寄存器相“与”  ! ^. f7 b0 h, W8 j6 b
    2 .ANL A,direct 累加器与直接地址单元相“与”  
    4 W8 K: a, t+ }, G; s4 Q3 .ANL A,@Ri 累加器与间接RAM 单元相“与”   
    1 k9 w0 R0 }/ o# x4 .ANL A,#data 累加器与立即数相“与”   
    7 \  p) G. k, k( \+ h! w8 `' S5 .ANL direct,A 直接地址单元与累加器相“与”  
    / ]" m! b! q! x" {6 O3 S2 ?& T, W6 .ANL direct,#data 直接地址单元与立即数相“与”) w5 ?4 |5 g- w
    7 .ORL A,Rn 累加器与寄存器相“或”  
      v- `3 |6 Q% G& y8 .ORL A,direct 累加器与直接地址单元相“或”  ; C( c; t/ T. h* R9 A! ~3 T
    9 .ORL A,@Ri 累加器与间接RAM 单元单元相“或”
    6 s8 c' ^2 Y- y, a0 L4 H  R10. ORL A,#data 累加器与立即数相“或”  
    1 n, X- @* L# k. j11. ORL direct,A 直接地址单元与累加器相“或”  1 [6 I; q. `& G/ H. F
    12 .ORL direct,#data 直接地址单元与立即数相“或”+ Q4 _: W0 U7 y( z  r
    13 .XRL A,Rn 累加器与寄存器相“异或”   
    , N0 \4 d; ?+ {1 |0 A; K4 C1 y14 .XRL A,direct 累加器与直接地址单元相“异或”  + Z; G+ b2 W9 O- u+ H" R: W+ F, q
    15 .XRL A,@Ri 累加器与间接RAM 单元单元相“异或”  - s  _3 B. D" t
    16 .XRL A,#data 累加器与立即数相“异或”$ Q( \- A7 P& d" V  L
    17 .XRL direct,A 直接地址单元与累加器相“异或”  2 k$ H" B+ P/ k" s- m2 R( y
    18 .XRL direct,#data 直接地址单元与立即数相“异或”
    1 ^8 o5 d  Y" y: b. c0 J' O7 T5 o19 .CLR A 累加器清“0”  
    4 g# [' n+ J5 Y1 B1 k2 |/ R$ k; N20 .CPL A 累加器求反   
      U% D4 @! X: z8 I. f$ ~21 .RL A 累加器循环左移  % }& l: l1 f) h5 `/ Z7 J
    22 .RLC A 累加器带进位位循环左移   
    $ c: d! z: S! ?& c% ^4 E9 A) j23 .RR A 累加器循环右移   
    + ]. h1 N# m4 l4 L& f( I/ }2 t24 .RRC A 累加器带进位位循环右移   ( G" z/ x$ @5 G% W/ D7 F8 L; m4 Y
    25 .SWAP A 累加器半字节交换
    ; `2 K* c2 S" S9 E
    3 ~+ I7 ~4 h% ~" q. {2 y# ]控制转移类指令0 D" F: Z: C" `# h
    % ~: @- a  N9 k- N' j; [. Q  u
    1. ACALL addr11 绝对(短)调用子程序   5 q/ k- j+ z8 w/ F( i+ R# F
    2 .LCALL addr16 长调用子程序  
    9 \7 A3 `: J2 y; `" r6 }3 .RET 子程序返回  & T0 T0 D: Q' L. n, N- q3 }
    4 .RETI 中断返回   3 |  @8 W1 f5 U3 ]4 W
    5 .AJMP addr11 绝对(短)转移  
    ( \4 m- s1 \. N1 }2 `6 .LJMP addr16 长转移  1 f) R1 Y8 b' O# {( z2 j0 k4 L
    7 .SJMP rel 相对转移  
    " J- R0 X  I8 P( Y8 .JMP @A+DPTR 相对于DPTR 的间接转移0 ~: H# ~# C! j. W. p8 j
    9. JZ rel 累加器为零转移   1 W# |, J* x: x; P* `* S' Z
    10. JNZ rel 累加器非零转移  ) o! q$ J5 O5 X( Z
    11. CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移  & _# J/ d; S+ N' E, d& Q8 u
    12 .CJNE A,#data,rel 累加器与立即数比较,不相等则转移  
      c+ v$ u4 m) {3 M3 O% q( F13 .CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移  
    : @# Y5 u- j7 m2 c14 .CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移  * k5 u, ?7 ]6 y: c' P- D
    15 .DJNZ Rn,rel 寄存器减1,非零转移   0 ]% q1 }9 L' {. c
    16 .DJNZ direct,erl 直接地址单元减1,非零转移  
    5 {3 W) i. \! j5 H+ Z' r& E: M17 .NOP 空操作
  • TA的每日心情
    开心
    2022-1-29 15:07
  • 签到天数: 2 天

    [LV.1]初来乍到

    2#
    发表于 2022-2-18 13:10 | 只看该作者
    指令整理的很齐全
  • TA的每日心情
    开心
    2022-1-21 15:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2022-2-18 15:39 | 只看该作者
    汇编指令要记牢
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-18 09:26 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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