| 欢迎光临MCUWAY! 本站网名:单片机之路 永久域名:www.mcuway.com |
|
|
逻辑运算指令 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-4 逻辑运算指令
* 乘除法运算 左移=无符号数乘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 下表第一列为:循环次数-执行点 其余各列为逻辑运算指令执行点的操作结果。
逻辑尺以二进制数表示二值逻辑序列,逐位移出,并据此行逻辑控制。 |
|
|
|
|
|
|
|
学习单片机的必经之路——单片机之路,永久域名:www.mcuway.com |