数据移位指令是用于对存储单元或存储区域以二进制、十六进制或以字为单位进行左/右移位的指令,包括F100(SHR)、F101(SHL)、F105(BSR)、F106(BSL)、F110(WSHR)、F111(WSHL)、F112(WBSR)和F113(WBSL)等8条指令,如表3-104所示,下面分别予以介绍。
1.F100(SHR)

当触发信号X0接通时,数据寄存器DT0中的数据被右移6位,数据右移后,位地址5的数据传送到特殊内部继电器R9009(进位标志)中,DT0的高6位为0,如图3-73所示。

2. F101(SHL)
F101(SHL)是将16位二进制数左移n位的指令,其功能是将D指定的16位二进制数左移n位。数据左移n位后,最后一位移出的数据(位地址为16-n)传送到进位标志R9009中,而D中从位地址0开始的最低n位为0,指令格式及操作数范围如表3-106所示。
当触发信号X0接通时,数据寄存器DT0中的数据被左移4位。数据左移后,最后一位移出的数据(位地址为12)传送到特殊内部继电器R9009(进位标志)中,DT0的低4位为0,如图3-74所示。


3. F105(BSR)
F105(BSR)是将十六进制数右移一位的指令,其功能是将D指定的十六进制数右移一位。数据右移后,D中十六进制数的最低位(4位二进制)的数据移出,并传送到特殊数据寄存器DT90014的最低4位中,D中的十六进制最高位(4位二进制)为0,指令格式及操作数范围如表3-107所示。
当触发信号X0接通时,将DT0中的4位十六进制数右移一位(4位二进制)。数据右移后,十六进制位地址0(二进制0~3位)的数据移出,并传送到特殊数据寄存器DT90014的低4位中,DT0的最高位(二进制12~15位)为0,如图3-75所示。


5. F110(WSHR)
F110(WSHR)是将一个数据块(数据存储区域)右移一个字单元的指令,其功能是将首单元D1和末单元D2规定的数据区右移一个字。数据右移后,首单元D1的数据移出,末单元D2的数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令格式及操作数范围如表3-109所示。

当X0接通时,从数据寄存器DT0到DT3的数据存储区域右移一个字(16位二进制)。数据右移后,首单元DT0中的数据移出,末单元DT3的数据全为0,如图3-77所示。


当X0接通时,从数据寄存器DT0到DT3的数据存储区域右移一个字(16位二进制)。数据右移后,首单元DT0中的数据移出,末单元DT3的数据全为0,如图3-77所示。

6. F111(WSHL)
F111(WSHL)是将一个数据块(数据存储区域)左移一个字的指令,其功能是将首单元D1和末单元D2规定的数据区左移一个字。数据左移后,末单元D2的数据移出,首单元D1的数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令格式及操作数范围如表3-110所示。
表3-110 指令格式及操作数范围

当触发信号X0接通时,从DT0到DT3的数据存储区域左移一个字(16位二进制)。数据左移后,末单元DT3中的数据移出,首单元DT0的数据全为0,如图3-78所示。

表3-110 指令格式及操作数范围

当触发信号X0接通时,从DT0到DT3的数据存储区域左移一个字(16位二进制)。数据左移后,末单元DT3中的数据移出,首单元DT0的数据全为0,如图3-78所示。

7. F112(WBSR)
F112(WBSR)是将一个数据块(数据存储区域)中的十六进制数右移一位的指令,其功能是将首单元D1到末单元D2规定的数据块中的十六进制数右移一位(4位二进制)。数据右移后,首单元D1中的最低位(4位二进制)数据移出,末单元D2中的最高位(4位二进制)数据变为0,首单元D1和末单元D2必须为同一类型的操作数,而且要求D1≤D2,指令格式及操作数范围如表3-111所示。
当触发信号X0接通时,从数据寄存器DT0到DT3的数据存储区域中的十六进制数右移一位(4位二进制)。数据右移后,首单元DT0中的最低位(4位二进制)数据移出,末单元DT3中的最高位(4位二进制)数据变为0,如图3-79所示。


8. F113(WBSL)
F113(WBSL)是将一个数据块(数据存储区域)中的十六进制数左移一位的指令,其功能是将首单元D1到末单元D2规定的数据块中十六进制数左移一位(4位二进制)。数据左移后,末单元D2中的最高位(4位二进制)数据移出,首单元D1中的最低位(4位二进制)数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令 格式及操作数范围如表3-112所示。

当触发信号X0接通时,将从数据寄存器DT0到DT3的数据存储区域中的十六进制数左移一位(4位二进制)。数据左移后,末单元DT3中的最高位(4位二进制)数据移出,首单元DT0中的最低位(4位二进制)数据变为0,如图3-80所示。


当触发信号X0接通时,将从数据寄存器DT0到DT3的数据存储区域中的十六进制数左移一位(4位二进制)。数据左移后,末单元DT3中的最高位(4位二进制)数据移出,首单元DT0中的最低位(4位二进制)数据变为0,如图3-80所示。

共0条 [查看全部] 网友评论