13: SHIFT / ROTATE INSTRUCTIONS« FC4A MICRO SMART USER ’S MANUAL » 13-7ROTR (Rotate Right)Applicable CPU ModulesValid OperandsFor the valid operand number range, see pages 6-1 and 6-2.▲ Internal relays M0 through M1277 can be designated as S1. Special internal relays cannot be designated as S1.The quantity of bits to rotate can be 1 through 15.Since the ROTR instruction is executed in each scan while input is on, a pulse input from a SOTU or SOTD instructionshould be used as required.Valid Data TypesExample: ROTRFC4A-C10R2/C FC4A-C16R2/C FC4A-C24R2/C FC4A-D20K3/S3 FC4A-D20RK1/RS1 & FC4A-D40K3/S3X X X X XOperand Function I Q M R T C D Constant RepeatS1 (Source 1) Data for bit rotation — X ▲ X — — X — —bits Quantity of bits to rotate — — — — — — — 1-15 —W (word) I (integer)X —Before rotation: 1 0 1010 1 0 1 1 1101 0 0CYM8003MSB LSBS10After rotation: 1 1100 0 0 1 1 0010 1 1CYM8003MSB LSBS11Rotate to the rightS1*****bits**When input is on, 16-bit data of the designated source operand S1 is rotated tothe right by the quantity of bits designated by operand bits.The result is set to the source operand S1, and the last bit status rotated out isset to a carry (special internal relay M8003).ROTR(W)When bits to rotate = 1When a bit operand such as Q (output), M (internal relay), or R (shift register) is designatedas the source, 16 points are used.When a word operand such as D (data register) is designated as the source, 1 point is used.Before rotation: D20 = 13 0 0 0000 0 0 0 0 0100 1 1CYM8003MSB LSBD20After first rotation: D20 = 16387Bits to rotate = 2After second rotation: D20 = 5324800 0 0001 0 0 0 0 1000 0 1CYM8003MSB LSBD2011 0 0011 0 0 0 0 0000 0 0CYM8003MSB LSBD20M8120REP M8120 is the initialize pulse special internal relay.When the CPU starts operation, the MOV (move) instruction sets 13 todata register D20.Each time input I1 is turned on, 16-bit data of data register D20 is rotatedto the right by 2 bits as designated by operand bits.The last bit status rotated out is set to a carry (special internal relayM8003).SOTUI1S1 –13 D1 –D20S1D20 bits2ROTR(W)MOV(W)