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

单片机常见的汇编指令

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    常用单片机汇编指令:
    : v" D# G+ s' u, ?$ w  F( H# f1 .MOV A,Rn 寄存器内容送入累加器: M1 q4 ~$ `" ~6 @2 m4 i' m$ |, O
    2 .MOV A,direct 直接地址单元中的数据送入累加器9 J* a( Q8 y0 X4 \
    3 .MOV A,@Ri (i=0,1)间接RAM 中的数据送入累加器
    6 j& a& S5 V" k4 _" m( y# m4 .MOV A,#data 立即数送入累加器
    ) Y3 \2 u9 [& ~3 O  g2 @9 v( B5 .MOV Rn,A 累加器内容送入寄存器   
    ; m% c( c: j5 y: D6 .MOV Rn,direct 直接地址单元中的数据送入寄存器& @3 h; t: Y% z9 M- c  `# r
    7 .MOV Rn,#data 立即数送入寄存器   % B8 X, }1 V0 b
    8 .MOV direct,A 累加器内容送入直接地址单元  
    0 A0 R0 f. _9 l9 D7 I! U3 @  I1 L9 .MOV direct,Rn 寄存器内容送入直接地址单元
    ( [, H; H% ^$ c' Y# c7 [10. MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元   . O6 m7 B- k0 ?+ G
    11 .MOV direct,@Ri (i=0,1)间接RAM 中的数据送入直接地址单元   ( e  z. J7 N' L% M; u. N
    12 MOV direct,#data 立即数送入直接地址单元  % Y$ v: H" z# Z5 `, x8 i2 B4 J& S( x
    13 .MOV @Ri,A (i=0,1)累加器内容送间接RAM 单元  8 P6 J' W# I6 o0 o
    14 .MOV @Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元  
    ) F2 l+ R( }9 Y, R; ]3 l) D15 .MOV @Ri,#data (i=0,1)立即数送入间接RAM 单元   ( t/ M' q4 p) ~; N  ]7 H
    16 .MOV DPTR,#data16 16 位立即数送入地址寄存器   
    / U7 X4 A. q$ V& _17 .MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器  
    7 ^8 E9 S5 Q7 n2 {1 L. C18 .MOVC A,@A+PC 以PC 为基地址变址寻址单元中的数据送入累加器   
    $ t5 z& `# D  V5 x5 E7 C19 .MOVX A,@Ri (i=0,1)外部RAM(8 位地址)送入累加器   5 s" L4 H: }* O: b
    20 .MOVX A,@DPTR 外部RAM(16 位地址)送入累加器   ' x# `5 U$ [  s# E; ?4 z1 v! _; V
    21 .MOVX @Ri,A (i=0,1)累计器送外部RAM(8 位地址)   
    8 s- l9 \8 I6 j4 N22 .MOVX @DPTR,A 累计器送外部RAM(16 位地址)   $ r5 w( g& m) v6 O
    23 .PUSH direct 直接地址单元中的数据压入堆栈  " y2 n3 u+ b7 M0 O% U7 R
    24 .POP direct 弹栈送直接地址单元  
    7 C  ?, x0 B; w: ^& r/ E* |25 .XCH A,Rn 寄存器与累加器交换   
    / @. I3 K& G1 x7 L5 v$ j3 i26 .XCH A,direct 直接地址单元与累加器交换  
    ( T+ C; d! I7 K  l3 d. i  H27 .XCH A,@Ri (i=0,1)间接RAM 与累加器交换  
    / J0 ?8 a) }- m" u6 w5 g28 .XCHD A,@Ri (i=0,1)间接RAM 的低半字节与累加器交换: z+ r3 w3 {2 c" |

    7 r% a0 j' u. g  C% m算术操作类指令:
    + S9 F2 X5 b1 l) x4 P  v, K; N1 ]' A' i
    1. ADD A,Rn 寄存器内容加到累加器  * _- c' d% `8 N, m9 X) i
    2 .ADD A,direct 直接地址单元的内容加到累加器  
    # O( x! N- j3 Q2 H! E3 A.DD A,@Ri (i=0,1)间接ROM 的内容加到累加器  + v' n% c: ^2 n$ x" R* t
    4 .ADD A,#data 立即数加到累加器   1 x) w1 y, Q' Y5 g
    5 .ADDC A,Rn 寄存器内容带进位加到累加器  
    ' V/ x6 S8 L& v% R* S( A6 .ADDC A,direct 直接地址单元的内容带进位加到累加器  & [" G8 v4 v9 v, E
    7 .ADDC A,@Ri(i=0,1) 间接ROM 的内容带进位加到累加器
    6 O- q" t- o8 s1 N5 L  K8 .ADDC A,#data 立即数带进位加到累加器  7 A5 I0 q- P, @& l7 \' N
    9 .SUBB A,Rn 累加器带借位减寄存器内容   
    ! ?5 X  ~% P8 h10. SUBB A,direct 累加器带借位减直接地址单元的内容  
    8 x8 S0 S5 f4 {; @, @2 }) y11 .SUBB A,@Ri (i=0,1)累加器带借位减间接RAM 中的内容
    6 A8 t, A( F$ y+ S12 .SUBB A,#data 累加器带借位减立即数   
    , I: H- X" D) W! T' c13 .INC A 累加器加1  8 j# ?( M' ?6 @/ C' u3 \
    14 .INC Rn 寄存器加1   * B4 k; M0 T% N) e, x) l
    15 .INC direct 直接地址单元加14 _- X* A  f3 N2 _! O
    16 .INC @Ri (i=0,1)间接RAM 单元加1: [/ }  ], A5 |3 v" ?( L
    17 .DEC A 累加器减1  
    4 E  Q! r, v7 f4 |! c18 .DEC Rn 寄存器减1  : ]( r& d+ q) _6 \! q" k9 r; [
    19 .DEC direct 直接地址单元减1  
    6 s- g4 B9 N$ S: u0 K; v20 .DEC @RJ 间接RAM 单元减 1   
    3 t8 b  y' g$ N! Q1 P1 k21 .INC DPTR 地址寄存器DPTR 加 1  0 A3 {* _4 {. H+ c* q
    22 .MUL AB A 乘以B,结果放在A  8 q' e2 H$ V. i& H) Q, m8 _/ v
    23 .DIV AB A 除以B,结果放在A  , d. G$ G0 G& w1 @
    24. DA A 累加器十进制调整
    / U, ~; Q1 i  B9 [& [! o  G
    . a7 T* s7 c* [/ L- O# q布尔变量操作类指令:4 B; ^5 s' c- ?; q5 ~& y0 t+ [
    ( M3 m+ f( d& Y% Y# o
    1 .CLR C 清进位位   : @+ r# V  u8 B- d" I
    2 .CLR bit 清直接地址位  4 E+ Z& h3 A$ c  `- N! K1 [
    3 .SETB C 置进位位   / P/ S! e! j& x/ N# |4 [$ }8 F) B
    4 .SETB bit 置直接地址位+ U/ }, s6 N0 {! Z: F
    5 .CPL C 进位位求反  
    . l8 K& R7 C' w! q6 .CPL bit 置直接地址位求反  
    4 \0 w) B. U2 B7 .ANL C,bit 进位位和直接地址位相“与”  ]4 [/ g2 _2 G9 c/ d# z& k
    8 .ANL C,/bit 进位位和直接地址位的反码相“与”     e9 M* c5 a. X
    9 .ORL C,bit 进位位和直接地址位相“或”  
    0 B8 H4 i8 }5 X+ ?+ G! |# A10. ORL C,/bit 进位位和直接地址位的反码相“或”  
    # X: G/ i% a9 ^0 |6 U% h. E11 .MOV C,bit 直接地址位送入进位位  $ D3 z; U) C5 t( d
    12 .MOV bit,C 进位位送入直接地址位   ' L  g3 X& V( t9 ^1 I" K% U1 y- m
    13 .JC rel 进位位为1 则转移   ' n. [+ [+ u) g
    14 .JNC rel 进位位为0 则转移   
    3 j/ m3 l, `, u: r: ~0 M& R# z15 .JB bit,rel 直接地址位为1 则转移  # D" }% h4 |$ }: p7 \
    16 .JNB bit,rel 直接地址位为0 则转移
    % t' b- S# }3 ~3 H1 t8 k17 .JBC bit,rel 直接地址位为1 则转移,该位清零
    # o5 a- K5 \3 }. p
    1 \. b# ~5 J* v逻辑操作数指令:) @/ @2 y& t8 d, J2 t5 t7 g/ x
    5 c2 h: A1 W8 r- M, x( A( n  u
    1. ANL A,Rn 累加器与寄存器相“与”  
    ) Z- b+ v8 i0 U' }! F, Q' I2 .ANL A,direct 累加器与直接地址单元相“与”  
    # t3 @6 p6 S8 c- }4 u- s/ D3 .ANL A,@Ri 累加器与间接RAM 单元相“与”   ' C* K2 |6 X( E( m
    4 .ANL A,#data 累加器与立即数相“与”   
    4 j# P% g7 I: K1 D2 ~; r) z" N$ B5 .ANL direct,A 直接地址单元与累加器相“与”  ( D' ~( P) {# B
    6 .ANL direct,#data 直接地址单元与立即数相“与”" X. @# V) h9 z/ b7 O
    7 .ORL A,Rn 累加器与寄存器相“或”  4 O, M0 `/ q% \* G8 X7 B9 b
    8 .ORL A,direct 累加器与直接地址单元相“或”  
      A$ |  C3 F3 ]" A4 A9 .ORL A,@Ri 累加器与间接RAM 单元单元相“或”! [( E* j9 x6 v4 t5 K
    10. ORL A,#data 累加器与立即数相“或”  
    : U+ X( ~5 l& ]' s, C11. ORL direct,A 直接地址单元与累加器相“或”  7 w) W' L$ |  x' A
    12 .ORL direct,#data 直接地址单元与立即数相“或”7 `* F  [! d2 _
    13 .XRL A,Rn 累加器与寄存器相“异或”   * K# b2 ^1 F( P
    14 .XRL A,direct 累加器与直接地址单元相“异或”  
    6 Q# J- S3 C+ [6 B; ~15 .XRL A,@Ri 累加器与间接RAM 单元单元相“异或”  9 U2 @; y# x/ N0 _4 E' F
    16 .XRL A,#data 累加器与立即数相“异或”# l' o/ a. V0 S
    17 .XRL direct,A 直接地址单元与累加器相“异或”  : m+ K  {: M: S+ A7 H
    18 .XRL direct,#data 直接地址单元与立即数相“异或”9 ^% x6 p. I' k
    19 .CLR A 累加器清“0”  
    2 P. \5 \6 H# Z1 J5 L, r20 .CPL A 累加器求反   
    , h) P4 O8 l: E* B6 d: g1 m6 W' v21 .RL A 累加器循环左移  
    8 ?1 [! y- b: D# {* p( k22 .RLC A 累加器带进位位循环左移   
    ) i9 a+ Y( h& q  i23 .RR A 累加器循环右移   . J" }; P2 g* H& e+ z( [
    24 .RRC A 累加器带进位位循环右移   # s) h% n3 ^9 j) y% H0 T4 G
    25 .SWAP A 累加器半字节交换$ c4 F4 M8 l! s. j  G7 K% G
    2 v; T. R/ H: N6 u* f2 H- X/ R9 U
    控制转移类指令: Q5 j  i  \1 ?1 \7 P- ?

    6 [( `, Y8 e5 K+ r  k1. ACALL addr11 绝对(短)调用子程序   
    . y; s5 {: t; l" T) Z3 h1 P2 .LCALL addr16 长调用子程序  3 o9 g# K& L* m9 z" \7 s
    3 .RET 子程序返回  
    ! r( V. f9 S5 y1 m9 `9 D4 .RETI 中断返回   
    , \6 V5 d! V3 O" P( C5 .AJMP addr11 绝对(短)转移  8 E- h+ `: G! w: V: M
    6 .LJMP addr16 长转移  
    " v5 h: w- e3 U  q- I8 y9 M- D7 .SJMP rel 相对转移  1 q+ L1 I3 J- F+ I4 A5 v
    8 .JMP @A+DPTR 相对于DPTR 的间接转移
    9 `1 F. Z$ Q& U9. JZ rel 累加器为零转移   
    ( v, \) _" V+ w$ F- A+ D1 L  D1 ?10. JNZ rel 累加器非零转移  1 c& A- T& L8 A3 N
    11. CJNE A,direct,rel 累加器与直接地址单元比较,不相等则转移  % H. C: H2 Q1 g7 f; ^' R
    12 .CJNE A,#data,rel 累加器与立即数比较,不相等则转移  
    " b: C9 G4 X; _2 G6 P13 .CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移  
      q7 r6 q& b: A: ~+ r) y14 .CJNE @Ri,#data,rel 间接RAM 单元与立即数比较,不相等则转移  - H4 y! g, J! O! s% l
    15 .DJNZ Rn,rel 寄存器减1,非零转移   
    5 n3 ?; @9 S; n# R$ a9 W16 .DJNZ direct,erl 直接地址单元减1,非零转移  
    / P* |3 T; Z' Q* i2 f0 K17 .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-8-3 11:40 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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