首页 理论教育 优化程序效率的字逻辑运算指令

优化程序效率的字逻辑运算指令

时间:2023-06-27 理论教育 版权反馈
【摘要】:表3-19 字逻辑运算指令2.语句表中的字逻辑运算指令字逻辑运算的一个操作数在累加器1,另一个操作数在累加器2,或者在指令中用立即数(常数)的形式给出,运算结果在累加器1。下面是用语句表编写的实现字逻辑“或”运算的程序,用来将QW10的第2~4位置为1,其余各位保持不变。

优化程序效率的字逻辑运算指令

1.字逻辑运算指令的功能

字逻辑运算指令(见表3-19)对两个16位字或32位双字逐位进行逻辑运算。

“与”运算时如果两个操作数的同一位均为1,运算结果的对应位为1,否则为0。

“或”运算时如果两个操作数的同一位均为0,运算结果的对应位为0,否则为1。

异或”运算时如果两个操作数的同一位不相同,运算结果的对应位为1,否则为0。

表3-19 字逻辑运算指令

978-7-111-54209-4-Chapter03-193.jpg

2.语句表中的字逻辑运算指令

字逻辑运算的一个操作数在累加器1,另一个操作数在累加器2,或者在指令中用立即数(常数)的形式给出,运算结果在累加器1。如果字逻辑运算的结果非0,状态字的CC1位为1,反之为0。在任何情况下,状态字的CC0和OV位被清零。

下面是用语句表编写的实现字逻辑“或”运算的程序,用来将QW10的第2~4位置为1,其余各位保持不变。OW指令的操作数16#0001C的第2~4位为1,其余各位为0。QW10的某一位与1作“或”运算,运算结果为1,与0作“或”运算,运算结果不变。不管QW10的第2~4位为0或为1,逻辑“或”运算后QW10的这3位总是为1,其他位不变。(www.xing528.com)

978-7-111-54209-4-Chapter03-194.jpg

假设用IW20的低12位读取3位拨码开关的BCD码,IW20的高4位另作他用。下面程序的AW指令的操作数16#0FFF的最高4位二进制数为0,低12位为1。IW20的某一位与1作“与”运算,运算结果不变;与0作“与”运算,运算结果为0。AW指令的运算结果的低12位与IW20的低12位(3位拨码开关输入的BCD码)的值相同,高4位为0。

978-7-111-54209-4-Chapter03-195.jpg

3.梯形图中的字逻辑运算指令

图3-101是随书光盘中的例程“数学运算”的OB1中的字逻辑运算程序,图3-102的变量表给出了逻辑运算的结果。

978-7-111-54209-4-Chapter03-196.jpg

图3-101 字逻辑运算指令

978-7-111-54209-4-Chapter03-197.jpg

图3-102 变量表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈