移位寄存器指令包括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所示的左移过程。