ROR

Présentation

Opérateur IEC servant à effectuer une rotation bit à bit d'un opérande vers la droite.

erg:= ROR (in, n)

Types de données autorisés

  • BYTE

  • WORD

  • DWORD

  • LWORD

in est décalé n fois vers la droite d'une position équivalant à un bit, le bit le plus à droite étant réinséré à gauche.

NOTE : Le type de données de la variable d'entrée détermine le nombre de bits à utiliser pour l'opération arithmétique. Avec une constante comme variable d'entrée, c'est le type de données de taille la plus faible qui est pris en compte. L'opération arithmétique ne dépend en aucune manière du type de données de la variable de sortie.

Exemples

L'exemple suivant illustre les différents résultats de erg_byte et erg_word en notation hexadécimale. Le résultat dépend du type de données de la variable d'entrée (BYTE ou WORD), bien que les variables d'entrée in_byte et in_word aient les mêmes valeurs.

Exemple en langage ST

PROGRAM ror_st
VAR
in_byte : BYTE:=16#45;
in_word : WORD:=16#45;
erg_byte : BYTE;
erg_word : WORD;
n: BYTE :=2;
END_VAR
erg_byte:=ROR(in_byte,n); (* Result is 16#51 *)
erg_word:=ROR(in_word,n); (* Result is 16#4011 *)

Exemple en langage FBD

Exemple en langage IL

LD     in_byte
ROR    n
ST     erg_byte