51单片机逻辑运算指令表与示例
2017-10-15 来源:eefocus
1.逻辑运算指令的一般性说明
与、或、异或的逻辑运算指令可以Acc或direct为目标。但是以direct为目标时,另一操作数只能是Acc或立即数。
与、或、异或是对位逻辑运算。
其他逻辑运算指令只对Acc操作。
小循环不影响Cy,大循环Cy在循环圈内。
除了RLC和RRC,逻辑运算指令不影响P以外的标志位。
2.与、或、异或的特殊用途
用ANL指令屏蔽指定位
例:ANL A,#0FH ;屏蔽高4位
用ORL指令将指定位置1
例:ORL A,#0FH ;将低4位置1
用ORL指令拼接一个字节
例:ANL A,#0FH
ANL B,#0F0H
ORL A,B
用XRL指令将指定位取反
例:XRL A,#55H ;将D0、D2、D4、D6等位取反
3.循环移位指令的应用
除法运算
左移=无符号数乘2,右移=有符号数除2。
例:A×B,积存(BA)
算法:乘数在(A),积在(R2)(A)。
1)(A)右移一位;
2)(A)移出的一位若为1,则(R2)+被乘数(B);
3)积(R2)(A)双字节右移一位;第2、3步循环8次。
为简化,假定为4位,循环4次。(A)=1011, (B)=1111
MOV R2,#0
MOV R3,#8
CLR C
RRC A
LP:XCH A,R2
JNC RRR
ADD A,B
RRR:RRC A
XCH A,R2 ;①
RRC A ;②
DJNZ R3,LP
MOV B,R2
下表第一列为:循环次数-执行点
其余各列为执行点的操作结果。
逻辑尺
以二进制数表示二值逻辑序列,逐位移出,并据此行逻辑控制。
上一篇:单片机位处理指令表及举例
下一篇:51单片机数据传送指令列表