循环左移和循环右移指令_小白学单片机:详解AT89S51逻辑运算与循环类指令(24条)...

逻辑运算指令:与、或、异或、清0和取反。循环指令:左、右移,带进位位左、右移。

一、逻辑与指令

56c23b7968fc1c87824affe66357acda.png

这组指令功能:将两数按位进行逻辑与操作。它的规则是1∧1=1,1∧0=0,0∧0=0;即1 ∧X=X, 0 ∧X=0,所以“ANL”操作常用来屏蔽字节中的某些位,要保留的位用“1”去“与”,要清除的位用“0”去“与” 。

二、逻辑或

d1d208ee4bfb9feedfab488186eeeb46.png

这组指令功能:将两数按位进行逻辑或操作,即1 ∨ X=1, 0 ∨ X= X ,“ORL”操作常用来对字节中的某些位置“1”,要保留的位用“0”去“或”,要置1的位用“1”去“或”。

三、逻辑异或

e6da4ce6e7f75821af83e53a7e75254c.png

这组指令功能是:将两数按位进行逻辑异或操作。它的规则是1⊕1=0,1⊕0=1,0⊕0=0,即1⊕X=/X ,0⊕X=X,“XRL”操作常用来对字节中的某些位求反,要取反的位用“1” 去“异或”,要保留的位用“0”去“异或”。

四、 逻辑清0和取反

CPL A ;A ←/ A

这条指令的功能是:对A按位求反,结果送入A中。它的规则是/ 1=0,/0=1。

CLR A ;A ← 0

例 设A中内容为34H,分别执行下列程序写结果:

(1)ANL A,#0F0H ;A=30H;屏蔽A的低4位

(2)ORL A,#0F0H ;A=F4H;A的高4位置1

(3)XRL A,#0F0H ;A=C4H;A的高4位取反

(4)CPL A ;A=CBH :A的内容取反

五、累加器循环移位

84169ae2b18444a461c3630fd8092a15.png
80bac59abde99a6d2d0ed611d7fe0206.png

例 利用循环移位指令,编程实现对累加器A中的内容进行乘10的操作。

RL A ;设A中的内容为,A=2

MOV B,A ;B=2

RL A ;A=2*2=4

RL A ;A=2*4=8

ADD A,B ;A=8+2=10

如喜欢,请关注、点赞和转发,谢谢。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值