逻辑与WAND、逻辑或WOR、逻辑异或WXOR 逻辑与WAND:对两个输入数值的对应位执行“与”运算操作。两个位同为1时结果为1,其余为0。
逻辑或WOR:对两个输入数值的对应位执行“或”运算操作。两个位中只要有一个位为1,其结果就为1。
逻辑异或WXOR:指令对两个输入数值的对应位执行“异或”运算操作。两个位相同为0,相异为1。即用“异或1”则置反,用“异或0”则保留。
下图的程序中WAND H0000 D0 D0 是对D0清零,WAND H00FF D10 D20是取D10的低8位存D20,WAND H0010 D30 K4M0是取D30的b4位送M4,WOR HFFFF D40 D40是对D40全置1,WOR HFFDF D50 K4M20是取D50的b5位送M25,WXOR H8000 D60 K4M40是D60是正数,M55为1;D60是负数,M55为0。
逻辑异或非WXNR 逻辑异或非WXNR:指令对两个输入数值的对应位执行“异或非”运算操作。两个位相同为1,相异为0。
从上图的程序可以看出,D4和D5的二进制位是相反的,也就是说WXNR和WXOR其实是相反的功能,WXOR是两个位相同为0,相异为1,WXNR是两个位相同为1,相异为0,而DXNR是32位的逻辑异或非指令。 块数据逻辑与BKAND/或BKOR/异或BKXOR/异或非指令BKXNR 这些指令是对s1中指定的软元件开始的n点的内容与s2中指定的软元件开始的n点的内容进行逻辑与/或/异或/异或非运算,将结果存储到d中指定的软元件开始的n点地址里面。注意:块数据逻辑运算指令只有16位的,没有32位指令。下面以块数据逻辑与BKAND指令为例看看,其他指令同理。
比如BKAND D12 D14 D16 K2,这里的K2代表连续两个存储器地址,也就是D12和D14、D13和D15分别进行逻辑与运算,运算的结果存储到分别D16 、D17中,我们可以看出这些指令执行的是批量的逻辑运算,称为块数据逻辑运算。 |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-23 09:08 , Processed in 0.278650 second(s), 23 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.