
移位指令分为左、右移位和循环左、右移位及移位寄存器指令三大类。左移和右移指令的功能是将输入数据IN左移或右移N位后,把结果送到OUT中。主要包括:①字节移位指令,SLB-字节左移指令,SRB-字节右移指令;②字移位指令,SLW-字左移指令,SRW-字右移指令;③双字移位指令,SLD-双字左移指令,SRD-双字右移指令。
1)循环移位指令包括
(1)字节循环移位指令:RLB-字节循环左移指令;RRB-字节循环右移指令。
(2)字循环移位指令:RLW-字循环左移指令;RRW-字循环右移指令。
(3)双字循环移位指令:RLD-双字循环左移指令;RRD-双字循环右移指令。
2)左、右移位指令的特点
(1)被移位的数据是无符号的。
(2)在移位时,存放被移位数据的编程元件的移出端与特殊继电器SM1.1相连,移出位送SM1.1,另一端补零。
(3)移位次数Ⅳ与移位数据的长度有关,若Ⅳ小于实际的数据长度,则执行Ⅳ次移位;若Ⅳ大于数据长度,则执行移位的次数等于实际数据长度的位数。
(4)移位数据Ⅳ为字节型数据。
(5)左、右移位指令影响到的特殊继电器有SM1.0(零)、SM1.1(溢出)。
(6)影响ENO正常工作的出错条件为SM4.3、0006。