[讨论] 逻辑与指令(一)

yuandayuan6999   2010-4-24 20:26 楼主
逻辑与指令
ANL
A,Rn
        ;ARn中的值按位'',结果送入A
ANL
A,direct ;A
direct中的值按位'',结果送入A
ANL
A,@Ri ;A
与间址寻址单元@Ri中的值按位'',结果送入A
ANL
A,#data ;A
与立即数data按位'',结果送入A
ANL
direct,A ;direct
中值与A中的值按位'',结果送入direct
ANL
direct,#data ;direct
中的值与立即数data按位'',结果送入direct中。
这几条指令的关键是知道什么是逻辑与。这里的逻辑与是指按位与
例:71H56H相与则将两数写成二进制形式:
71H01110001
56H00100110
结果 00100000 20H,从上面的式子可以看出,两个参与运算的值只要其中有一个位上是0,则这位的结果就是0,两个同是1,结果才是1
理解了逻辑与的运算规则,结果自然就出来了。看每条指令后面的注释
下面再举一些例子来看。
MOV
A
#45H ;(A)=45H
MOV
R1
#25H ;(R1)=25H
MOV
25H
#79H ;(25H)=79H
ANL
A
@R1 ;45H79H按位与,结果送入A中为 41H A=41H
ANL
25H,#15H ;25H
中的值(79H)与15H相与结果为(25H=11H
ANL
25H,A ;25H
中的值(11H)与A中的值(41H)相与,结果为(25H)=11H
在知道了逻辑与指令的功能后,逻辑或和逻辑异或的功能就很简单了。逻辑或是按位“或”,即有“1”为1,全“0”为0。例:
10011000
01100001
结果 11111001
而异或则是按位“异或”,相同为“0”,相异为“1”。例:
10011000
异或 01100001
结果 11111001

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复