指令解析
一、位移位指令SFTL、SFTR:
移位指令包括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所示的左移过程。