理论教育 字逻辑运算指令详解

字逻辑运算指令详解

时间:2023-06-17 理论教育 版权反馈
【摘要】:指令的操作数的数据类型为位字符串Byte、Word或DWord。如果输入IN的值大于31,将IN的值除以32以后,用余数来进行解码操作。IN为5时OUT为2#0010 0000,仅第5位为1。INn、ELSE和OUT的数据类型应相同。

字逻辑运算指令详解

1.字逻辑运算指令

字逻辑运算指令对两个输入IN1和IN2逐位进行逻辑运算,运算结果在输出OUT指定的地址中。可以增加输入的个数。

“‘与’运算”(AND)指令的两个操作数的同一位如果均为1,运算结果的对应位为1,否则为0;“‘或’运算”(OR)指令的两个操作数的同一位如果均为0,运算结果的对应位为0,否则为1;“‘异或’运算”运算(XOR)指令的两个操作数的同一位如果不相同,运算结果的对应位为1,否则为0。指令的操作数的数据类型为位字符串Byte、Word或DWord。

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

2.解码与编码指令

如果输入参数IN的值为n,“解码”指令DECO将输出参数OUT的第n位置位为1,其余各位置为0。如果输入IN的值大于31,将IN的值除以32以后,用余数来进行解码操作。IN为5时OUT为2#0010 0000(16#20),仅第5位为1。(www.daowen.com)

“编码”指令ENCO将IN中为1的最低位的位数送给OUT指定的地址。如果IN为2#0010 1000(即16#28),OUT中的编码结果为3;如果IN为1或0,OUT的值为0;如果IN为0,ENO为0状态。

3.SEL与MUX、DEMUX指令

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

多路复用”指令MUX(Multiplex)根据输入参数K的值,选中某个输入数据,并将它传送到输出参数OUT指定的地址。K=m时,将选中输入参数INm。如果K的值大于可用的输入个数,ELSE的值将复制到输出OUT中,ENO为0状态。可以增加输入参数INn的个数。INn、ELSE和OUT的数据类型应相同。

“多路分用”指令DEMUX根据输入参数K的值,将输入IN的内容复制到选定的输出,其他输出则保持不变。K=m时,将复制到输出OUTm。可以增加输出参数OUTn的个数。IN、ELSE和OUTn的数据类型应相同。如果参数K的值大于可用的输出个数,参数ELSE输出IN的值,ENO为0状态。

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

我要反馈