ROR

Faire pivoter N bits vers la droite

ROR fait pivoter un nombre défini (N) de bits vers la droite.

Exemple



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

Paramètres

Entrée

IN (BOOL, WORD, DWORD)

1e entrée : valeur d’entrée

N (BOOL, WORD, DWORD)

2e entrée : nombre de bits selon lequel la valeur d’entrée est pivotée vers la droite

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 à droite des premiers N bits (ici N = 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,ROR!,Instance,9,0,14,4,,?DIN?DN?C);
B(B_VARIN,,source_register,7,1,9,3,);
B(B_VARIN,,4,7,2,9,4,);
B(B_VAROUT,,target_register,14,1,16,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en IL

LD

source_register

ROR

4

ST

target_register

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