首页 理论教育 字逻辑运算指令简介

字逻辑运算指令简介

时间:2023-06-30 理论教育 版权反馈
【摘要】:表3-5字逻辑运算举例允许有多个输入,单击方框中的,将会增加输入的个数。利用解码指令,可以用输入IN的值来控制OUT中指定位的状态。如果输入IN的值大于31,将IN的值除以32以后,用余数来进行解码操作。图3-60 字逻辑运算指令“多路复用”指令MUX根据输入参数K的值,选中某个输入数据,并将它传送到输出参数OUT指定的地址。

字逻辑运算指令简介

1.字逻辑运算指令

字逻辑运算指令对两个输入IN1和IN2逐位进行逻辑运算,运算结果在输出OUT指定的地址中(见图3-58)。

978-7-111-58719-4-Chapter03-86.jpg

图3-58 字逻辑运算指令

“‘与’运算”(AND)指令的两个操作数的同一位如果均为1,运算结果的对应位为1,否则为0(见表3-5)。“‘或’运算”(OR)指令的两个操作数的同一位如果均为0,运算结果的对应位为0,否则为1。“‘异或’运算”(XOR)指令的两个操作数的同一位如果不相同,运算结果的对应位为1,否则为0。以上指令的操作数IN1、IN2和OUT的数据类型为位字符串Byte、Word、DWord和LWord。

3-5字逻辑运算举例

978-7-111-58719-4-Chapter03-87.jpg

允许有多个输入,单击方框中的978-7-111-58719-4-Chapter03-88.jpg,将会增加输入的个数。

“求反码”指令INVERT将输入IN中的二进制整数逐位取反,即各位的二进制数由0变1,由1变0,运算结果存放在输出OUT指定的地址。

2.解码与编码指令

如果输入参数IN的值为n,“解码”(即译码)指令DECO(Decode)将输出参数OUT的第n位置位为1,其余各位置0,相当于数字电路中译码电路的功能。利用解码指令,可以用输入IN的值来控制OUT中指定位的状态。如果输入IN的值大于31,将IN的值除以32以后,用余数来进行解码操作。IN的数据类型为UInt,OUT的数据类型为位字符串。

图3-59中DECO指令的参数IN的值为5,OUT为2#00100000(16#20),仅第5位为1。(www.xing528.com)

“编码”指令ENCO(Encode)与“解码”指令相反,将IN中为1的最低位的位数送到输出参数OUT指定的地址,IN的数据类型为位字符串,OUT的数据类型为Int。如果IN为2#00101000(即16#28,见图3-59),OUT指定的MW98中的编码结果为3。如果IN为1或0,MW98的值为0。如果IN为0,ENO为0状态。

978-7-111-58719-4-Chapter03-89.jpg

图3-59 字逻辑运算指令

3.SEL与MUXDEMUX指令

“选择”指令SEL(Select)的Bool输入参数G为0时选中IN0(见图3-60),G为1时选中IN1,选中的数值被保存到输出参数OUT指定的地址。

978-7-111-58719-4-Chapter03-90.jpg

图3-60 字逻辑运算指令

多路复用”指令MUX(Multiplex)根据输入参数K的值,选中某个输入数据,并将它传送到输出参数OUT指定的地址。K=m时,将选中输入参数INm。如果参数K的值大于可用的输入个数,则参数ELSE的值将复制到输出OUT中,并且ENO的信号状态会被指定为0状态。

单击方框内的978-7-111-58719-4-Chapter03-91.jpg符号,可以增加输入参数INn的个数。INn、ELSE和OUT的数据类型应相同,它们可以取多种数据类型。参数K的数据类型为整数。

“多路分用”指令DEMUX根据输入参数K的值,将输入IN的内容复制到选定的输出,其他输出则保持不变。K=m时,将复制到输出OUTm。单击方框中的978-7-111-58719-4-Chapter03-92.jpg符号,可以增加输出参数OUTn的个数。参数K的数据类型为整数,IN、ELSE和OUTn的数据类型应相同,它们可以取多种数据类型。如果参数K的值大于可用的输出个数,参数ELSE输出IN的值,并且ENO为0状态。

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

我要反馈