51单片机逻辑运算指令表与示例 |
您所在的位置:网站首页 › orl是什么指令 › 51单片机逻辑运算指令表与示例 |
1.逻辑运算指令的一般性说明 与、或、异或的逻辑运算指令可以Acc或direct为目标。但是以direct为目标时,另一操作数只能是Acc或立即数。 与、或、异或是对位逻辑运算。 其他逻辑运算指令只对Acc操作。 小循环不影响Cy,大循环Cy在循环圈内。 除了RLC和RRC,逻辑运算指令不影响P以外的标志位。 2.与、或、异或的特殊用途 用ANL指令屏蔽指定位 例:ANLA,#0FH;屏蔽高4位 用ORL指令将指定位置1 例:ORLA,#0FH;将低4位置1 用ORL指令拼接一个字节 例:ANLA,#0FH ANLB,#0F0H ORLA,B 用XRL指令将指定位取反 例:XRLA,#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 MOVR2,#0 MOVR3,#8 CLRC RRCA LP:XCHA,R2 JNCRRR ADDA,B RRR:RRCA XCHA,R2;① RRCA;② DJNZR3,LP MOVB,R2 下表第一列为:循环次数-执行点 其余各列为执行点的操作结果。 逻辑尺 以二进制数表示二值逻辑序列,逐位移出,并据此行逻辑控制。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |