• Si el número de posiciones que deben desplazarse (N) excede el número de bits en el valor
de destino (8 para Byte, 16 para Word, 32 para DWord), todos los valores de bit originales se
desplazarán hacia fuera y se reemplazarán por ceros (cero se asigna a OUT).
• ENO es siempre TRUE (verdadero) en las operaciones de desplazamiento.
Tabla 8-188
Ejemplo: SHL para datos del tipo Word (palabra)
Desplazar los bits de una palabra a la izquierda insertando ceros en la derecha (N = 1)
IN
1110 0010 1010 1101
8.10.2
Instrucciones ROR (Rotar a la derecha) y ROL (Rotar a la izquierda)
Tabla 8-189
Instrucciones ROR y ROL
KOP / FUP
SCL
out := ROL(
in:=_variant_in_,
n:=_uint_in);
out := ROR(
in:=_variant_in_,
n:=_uint_in);
En KOP y FUP: haga clic en "???" y seleccione los tipos de datos del menú desplegable.
1
Tabla 8-190
Tipos de datos para los parámetros
Parámetro
IN
N
OUT
• Con N=0 no hay rotación. El valor IN se asigna a OUT.
• Los bits rotados hacia fuera en un lado del valor de destino se rotan hacia el otro lado, por lo
que no se pierden los valores de bit originales.
• Si el número de bits que deben rotarse (N) excede el número de bits en el valor de destino (8
para Byte, 16 para Word, 32 para DWord), la rotación se efectúa de todas maneras.
• ENO es siempre TRUE (verdadero) tras ejecutarse las instrucciones de rotación.
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO
Valor de OUT antes del primer desplazamien‐
to:
Después del primer desplazamiento a la iz‐
quierda:
Después del segundo desplazamiento a la
izquierda:
Después del tercer desplazamiento a la iz‐
quierda:
Descripción
Utilice las instrucciones de rotación (ROR y ROL) para rotar el patrón de
bits del parámetro IN. El resultado se deposita en el parámetro OUT. El
parámetro N define el número de bits rotados.
•
•
Tipo de datos
Enteros
USInt, UDint
Enteros
ROR: rotar patrón de bits hacia la derecha
ROL: rotar patrón de bits hacia la izquierda
Descripción
Patrón de bits que debe rotarse
Número de bits que deben rotarse
Patrón de bits después de la rotación
Instrucciones básicas
8.10 Desplazamiento y rotación
1110 0010 1010 1101
1100 0101 0101 1010
1000 1010 1011 0100
0001 0101 0110 1000
323