ROR

Descripción general

Operador IEC para rotación a nivel de bit de un operando a la derecha.

erg:= ROR (in, n)

Tipos de datos permitidos

  • BYTE

  • WORD

  • DWORD

  • LWORD

in se desplazará la posición de 1 bit a la derecha n veces, mientras que el bit que está situado más a la izquierda se volverá a insertar desde la izquierda.

NOTA: La cantidad de bits que se tiene en cuenta para la operación aritmética depende del tipo de datos de la variable de entrada. Si la variable de entrada es una constante, se tendrá en cuenta el tipo de datos mínimo posible. El tipo de datos de la variable de salida no tiene ningún efecto en la operación aritmética.

Ejemplos

Observe en el ejemplo siguiente en notación hexadecimal los distintos resultados para erg_byte y erg_word. El resultado depende del tipo de datos de la variable de entrada (BYTE o WORD), aunque los valores de las variables de entrada in_byte y in_word son los mismos.

Ejemplo en 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 *)

Ejemplo en FBD

Ejemplo en IL

LD     in_byte
ROR    n
ST     erg_byte