ROL

Rotate N bits to the left

ROL rotates a defined number (N) of bits to the left.

Example

  1.  (1) source register
  2.  (2)  target register
  3.  (3) (n = 4 bit)

Parameters

Input

IN (BOOL, WORD, DWORD)

Number of bits

N (BOOL, WORD, DWORD)

Number of bits

Output

Var_OUT (BOOL, WORD, DWORD)

Output as input: result

Example

POU header

All input and output variables used for programming this function have been declared in the POU header. The same POU header is used for all programming languages.

	VAR
		source_register: WORD:=0;
		target_register: WORD:=0;
	END_VAR

This example uses variables. You can also use a constant for the input variable.

LD body

The last N bits (here 4) of source_register are left-rotated. The result will be written in target_register.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,ROL!,Instance,9,1,14,5,,?DIN?DN?C);
B(B_VARIN,,source_register,7,2,9,4,);
B(B_VARIN,,4,7,3,9,5,);
B(B_VAROUT,,target_register,14,2,16,4,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

IL body

LD

source_register

ROL

4

ST

target_register

Modified on: 2019-01-24Feedback on this pagePanasonic hotline