ROL

Faire pivoter N bits vers la gauche

ROL fait pivoter un nombre défini (N de bits vers la gauche.

Exemple

  1.  (1) Registre source
  2.  (2)  Registre de destination
  3.  (3) (n = 4 bits)

Paramètres

Entrée

IN (BOOL, WORD, DWORD)

Nombre de bits

N (BOOL, WORD, DWORD)

Nombre de bits

Sortie

Var_OUT (BOOL, WORD, DWORD)

Sortie comme entrée : résultat

Exemple

En-tête du POU

Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.

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

Cet exemple utilise des variables. Vous pouvez également utiliser une constante pour la variable d’entrée.

Corps en LD

Rotation à gauche des derniers N bits (ici 4) de source_register. Le résultat est écrit dans 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

Corps en IL

LD

source_register

ROL

4

ST

target_register

Modifié le : 2024-11-20Commentaires sur cette pageAssistance téléphonique