ROL

Vue d'ensemble

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

erg:= ROL (in, n)

Types de données autorisés

  • BYTE

  • WORD

  • DWORD

  • LWORD

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

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 considéré. 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 rol_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:=ROL(in_byte,n); (* Result is 16#15 *)
erg_word:=ROL(in_word,n); (* Result is 16#0114 *)

Exemple en langage FBD

Exemple en langage IL

LD     in_byte
ROL    n
ST     erg_byte