MCS-51单片机常用汇编指令大全

MCS-51单片机常用汇编指令大全介绍了 MCS 51 单片机的主要指令

1.数据传送指令 寄存器寻址: MOV R0,30H ;把30H单元内容赋给寄存器R0 直接寻址: MOV ACC,30H ;把30H单元内容赋给累加器A 立即寻址: MOV R0,#30H ;把立即数30H赋给寄存器R0 寄存器间接寻址: MOV RO,@R1 ;把R1内容存放的地址单元内的数赋给R0 变址寻址(查表指令):MOVC A,@A+DPTR ;((A)+(DPTR))的值赋给A 相对寻址: SJMP $ ;转移到自身的首地址,构成死循环 位寻址: CLR C ;清零Cy 外部数据传送指令: MOV DPTR,#1818H ;将外部存储器单元的地址数赋给DPTR寄存器 MOVX A,@DPTR ;将DPTR指定的外部数据存储器单元中的数据送入A MOVX A,@Ri ; 堆栈指令: PUSH ACC ;(SP)++,(A)赋给((SP)) pop 78H ;(Sp)--,((Sp))赋给78H单元 数据交换指令: XCH A,R0 ; A与R0数据交换 XCHD A,R0 ;A与R0低四位数据交换 SWAP A ;A的高四位与低四位交换 2.算术运算指令 不带进位加法: ADD A,R0 ;(A)=(A)+(R0); 带进位加法: ADDC A,RO ;(A)=(A)+(R0)+(Cy) 加一: INC A ;(A)++ 减法: SUBB A,R0 ;(A)=(A)-(R0)-(Cy) 减一: DEC A ;(A)-- 乘法: MUL AB ;(B)(A)=(A)*(B) 除法: DIV AB ;(A)..(B)=(A)/(B) 3.逻辑运算和移位指令 逻辑与: ANL A,R0 ;(A)=(A)&(R0) 逻辑或: ORL A,R0 ;(A)=(A)|(R0) 逻辑异或: XRL A,R0 ;(A)=(A)异或(R0) 累加器清零: CLR A ;(A)=0 累加器取反: CPL A ;(A)=!(A) 不带进位左移: RL A; 不带进位右移: RR A; 带进位左移: RLC A; 带进位右移: RLR A; 4.位操作指令 位传送: MOV bit,C; 位清零: CLR C; 位置1: SETB C; 位运算: ANL bit,C; ORL bit,C; 5.控制转移指令 无条件转移: LJMP MAIN; 子程序调用: LCALL FUN1; 子程序返回: RET 累加器判0转移: JZ FUN1 ;若A==0,则转移FUN1,否则执行下一条指令 JNZ FUN1 ;若A!=0,则转移FUN1,否则执行下一条指令 减一条件转移: DJNZ R0,FUN1 ;(R0)--,若R0!=0,则转移FUN1,否则执行下一条指令 比较条件转移: CJNE R0,A,FUN1 ;若R0!=A,则转移FUN1,否则执行下一条指令 以Cy内容转移: JC FUN1 ;若(Cy)!=0,转移FUN1,否则执行下一条指令 JNC FUN1 ;若(Cy)=0,转移FUN1,否则执行下一条指令 以bit内容转移: JB bit,FUN1 ;若(bit)!=0,转移FUN1,否则执行下一条指令 JNB bit,FUN1 ;若(bit)==0,转移FUN1,否则执行下一条指令 6.空操作指令 NOP 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179276.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:57
下一篇 2026年3月26日 下午3:58


相关推荐

  • 线程理论知识

    一、什么是线程线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才

    2022年3月29日
    48
  • java如何实现封装_java如何实现封装

    java如何实现封装_java如何实现封装Java中类的封装是如何实现的封装是将对象的信息隐藏在对象内部,禁止外部程序直接访问对象内部的属性和方法。java封装类通过三个步骤实现:(1)修改属性的可见性,限制访问。(2)设置属性的读取方法。(3)在读取属性的方法中,添加对属性读取的限制。Java中什么叫封装呢?继承和多态都明白些,就是封装理解不上去,老师没关于这个问题,我想举一个例子:lz如果你接触过老的面向过程的编程,以前…

    2022年7月7日
    19
  • 在React中使用防抖节流

    在React中使用防抖节流在 React 中使用防抖节流防抖和节流先来介绍一下防抖和节流防抖 事件触发后延迟 n 秒在执行 如果在这 n 秒内再次触发则重新计时 即在一段时间内只允许事件执行一次 常用于表单提交 输入框防抖节流 事件触发后延迟 n 秒在执行 并且在这 n 秒内再次触发事件时不允许执行 即减少一段时间内事件触发的频率 常用与监听滚动条滚动 鼠标移动 窗口大小变化依据上面的定义可以手写一个防抖和节流防抖 constdebounc fn delay gt lettimerretu

    2026年3月18日
    2
  • socket端口定义大全「建议收藏」

    socket端口定义大全「建议收藏」
    from:http://www.iana.org/assignments/port-numbers
     
    ////////////////////////////////////////////////////////////////////////////////
     PORTNUMBERS(lastupdated2010-09-24)Theportnumbersaredividedintothreeranges:theWel

    2022年6月16日
    106
  • 有趣的曲线

    有趣的曲线

    2026年3月18日
    2
  • JDK1.8 中的双冒号::是什么语法?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Java实用技术 www.toutiao.com/i6807719546158318092/ 简洁 方法引用 …

    2021年6月25日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号