324
7 APPLICATION INSTRUCTION
7.1 Rotation Instruction
Rotating 32-bit data to the left
DROL(P), DRCL(P)
• DROL(P): These instructions rotate the 32-bit binary data in the device specified by (d) to the left by (n) bit(s) (not including
the carry flag).
• DRCL(P): These instructions rotate the 32-bit binary data in the device specified by (d) to the left by (n) bit(s) (including the
carry flag).
*1 The DROL instruction is not supported by the ST language. Use ROL of the standard function.
Page 795 ROL(_E)
■Descriptions, ranges, and data types
■Applicable devices
■DROL(P)
• These instructions rotate the 32-bit binary data in the device specified by (d) to the left by (n) bit(s) (not including the carry
flag). The carry flag is on or off depending on the status prior to the execution of the instruction.
• When (d) is a bit device, bits are rotated to the left within the device range specified by nibble specification. The number of
bits actually to be rotated is the remainder of (n)(specified number of bits). For example, when (n) is 31 and the specified
number of bits is 24, 7 bits are rotated because 31 divided by 24 equals 1 with a remainder of 7.
• Specify any value between 0 and 31 for (n). If a value 32 or bigger is specified, bits are rotated by the remainder value of
n32. For example, when (n) is 34, 2 bits are rotated because 34 divided by 32 equals 1 with a remainder of 2.
■DRCL(P)
• These instructions rotate the 32-bit binary data in the device specified by (d) to the left by (n) bit(s) (including the carry flag).
The carry flag is on or off depending on the status prior to the execution of the instruction.
• When (d) is a bit device, bits are rotated to the left within the device range specified by nibble specification. The number of
bits actually to be rotated is the remainder of (n)(specified number of bits). For example, when (n) is 31 and the specified
number of bits is 24, 7 bits are rotated because 31 divided by 24 equals 1 with a remainder of 7.
Ladder diagram Structured text
*1
ENO:=DROLP(EN,n,d);
ENO:=DRCL(EN,n,d);
ENO:=DRCLP(EN,n,d);
Operand Description Range Data type Data type (label)
(d) Head device number where the rotation target data is stored 32-bit signed binary ANY32
(n) Number of rotations 0 to 31 16-bit unsigned binary ANY16
Operand Bit Word Double word Indirect
specification
Constant Others
X, Y, M, L,
SM, F, B, SB
U\G T, ST,
C, LC
T, ST, C, D,
W, SD, SW, R
U\G Z LC LZ K, H E $
(d)
(n)
b0
b15
b31 b16b30 b29 b28 b27 b18 b17 b14
b5
b4 b3 b2 b1
(d)+1 (d)
Rotating n-bit data to the left
Carry flag
(SM700, SM8022)
b0
b15
b31 b16b30 b29 b28 b27 b18 b17 b14
b5
b4 b3 b2 b1
(d)+1 (d)
Rotating n-bit data to the left
Carry flag
(SM700, SM8022)