西门子抚顺(中国)总代理
(1)逻辑与指令WAND(D)WAND(P)指令的编号为FNC26。是将两个源操作数按位进行与操作,结果送元件。
(2)逻辑或指令WOR (D) WOR(P)指令的编号为FNC27。它是对二个源操作数按位进行或运算,结果送元件。如图4-48所示,当X1有效时,(D10)∨(D12)→(D14)
(3)逻辑异或指令WXOR (D) WXOR(P)指令的编号为FNC28。它是对源操作数位进行逻辑异或运算。
(4)求补指令NEG (D) NEG(P)指令的编号为FNC29。其功能是将[D.]的元件内容的各位先取反再加1,将其结果再存入原来的元件中。
WAND、WOR、WXOR和NEG指令的使用如图1所示。
使用逻辑运算指令时应该注意:
1)WAND、WOR和WXOR指令的[S1.]和[S2.]均可取所有的数据类型,而目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。
2)NEG指令只有目标操作数,其可取KnY、KnM、KnS、T、C、D、V和Z。
3)WAND、WOR、WXOR指令16位运算占7个程序步,32位为13个程序步,而NEG分别占3步和5步
移位寄存器指令包括SFTR(位右移)、SFTL(位左移)、WSFR(字右移)、WSFL(字左移)、SFWR(移位写入)、SFRD(移位读出)。这里主要介绍SFTR(位右移)、SFTL(位左移)指令。
SFTR(位右移)指令,其指令代码为FNC34,SFTL(位左移)指令,其指令代码为FNC35,它们的源操作数和目标操作数均为X、Y、M、S,操作元件n1目标操作元件[D·]的长度,操作元件n2移位位数和源操作元件[S·]的长度。n2≤n1≤1024,其功能是对于n1位(移动寄存器的长度)的位元件进行n2位的右移或左移。指令执行的是n2位的移位。在图1中,当X11由OFF变为ON时,执行如图2所示的右移过程。在图3中,当X12由OFF变为ON时,执行如图4所示的左移过程。
1.标准型CPU系列