• 赞助网站
  • 您的位置:  首页 >> 网站导航 >> MCU技术 >> MCS-51逻辑运算及移位指令
    MCS-51逻辑运算及移位指令
    2008年01月17日 点击: 编辑: admin
    逻辑运算和移位指令共有25条,有与、或、异或、求反、左右移位、清0等逻辑操作,有直接、寄存器和寄存器间址等寻址方式。这类指令一般不影响程序状态字(PSW)标志。

      [1]. 循环移位指令(4条)
      这4条指令的作用是将累加器中的内容循环左或右移一位,后两条指令是连同进位位CY一起移位。

        RL A   ;累加器A中的内容左移一位
        RR A   ;累加器A中的内容右移一位
        RLC A   ;累加器A中的内容连同进位位CY左移一位
        RRC A   ;累加器A中的内容连同进位位CY右移一位

      [2]. 累加器半字节交换指令(1条)
      这条指令是将累加器中的内容高低半字节互换,这在上一节中内容已有介绍。

        SWAP A ; 累加器中的内容高低半字节互换

      [3]. 求反指令(1条)
      这条指令将累加器中的内容按位取反。

        CPL A   ; 累加器中的内容按位取反

      [4]. 清零指令(1条)
      这条指令将累加器中的内容清0。

        CLR A   ; 0→(A),累加器中的内容清0

      [5]. 逻辑与操作指令(6条)
      这组指令的作用是将两个单元中的内容执行逻辑与操作。如果直接地址是I/O地址,则为“读—修改—写”操作。

        ANL A,data   ;累加器A中的内容和直接地址单元中的内容执行与逻辑操作。结果存在寄存器A中。
        ANL data,#data ;直接地址单元中的内容和立即数执行与逻辑操作。结果存在直接地址单元中。
        ANL A,#data   ;累加器A的内容和立即数执行与逻辑操作。结果存在累加器A中。
        ANL A,Rn     ;累加器A的内容和寄存器Rn中的内容执行与逻辑操作。结果存在累加器A中。
        ANL data,A   ;直接地址单元中的内容和累加器A的内容执行与逻辑操作。结果存在直接地址单元中。
        ANL A,@Ri   ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行与逻辑操作。结果存在累加器A中。

      [6]. 逻辑或操作指令(6条)
      这组指令的作用是将两个单元中的内容执行逻辑或操作。如果直接地址是I/O地址,则为“读—修改—写”操作。

        ORL A,data   ;累加器A中的内容和直接地址单元中的内容执行逻辑或操作。结果存在寄存器A中。
        ORL data,#data ;直接地址单元中的内容和立即数执行逻辑或操作。结果存在直接地址单元中。
        ORL A,#data   ;累加器A的内容和立即数执行逻辑或操作。结果存在累加器A中。
        ORL A,Rn     ;累加器A的内容和寄存器Rn中的内容执行逻辑或操作。结果存在累加器A中。
        ORL data,A   ;直接地址单元中的内容和累加器A的内容执行逻辑或操作。结果存在直接地址单元中。
        ORL A,@Ri   ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑或操作。结果存在累加器A中。

      [7]. 逻辑异或操作指令(6条)
      这组指令的作用是将两个单元中的内容执行逻辑异或操作。如果直接地址是I/O地址,则为“读—修改—写”操作。

        XRL A,data   ;累加器A中的内容和直接地址单元中的内容执行逻辑异或操作。结果存在寄存器A中。
        XRL data,#data ;直接地址单元中的内容和立即数执行逻辑异或操作。结果存在直接地址单元中。
        XRL A,#data   ;累加器A的内容和立即数执行逻辑异或操作。结果存在累加器A中。
        XRL A,Rn     ;累加器A的内容和寄存器Rn中的内容执行逻辑异或操作。结果存在累加器A中。
        XRL data,A   ;直接地址单元中的内容和累加器A的内容执行逻辑异或操作。结果存在直接地址单元中。
        XRL A,@Ri   ;累加器A的内容和工作寄存器Ri指向的地址单元中的内容执行逻辑异或操作。结果存在累加器A中。
    赞助网站 | 关于我们 | 版权声明 | 站点导航 | 收藏本站 | 设为首页