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

单片机常见的汇编指令

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

    [LV.1]初来乍到

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

    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 空操作
  • 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-10-12 19:27 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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