SHR

Panoramica

Operatore IEC per lo scorrimento bit per bit verso destra di un operando.

erg:= SHR (in, n)

in: operando da spostare verso destra

n: numero di bit di cui in viene spostato verso destra

NOTA: Se n supera l'ampiezza del tipo di dati, il modo in cui verranno riempiti gli operandi BYTE, WORD, DWORD e LWORD dipende dal sistema di destinazione. Alcuni eseguono il riempimento con una serie di zeri (0), altri con n MOD <register width>.

Esempi

Il seguente esempio in notazione esadecimale mostra i risultati dell'operazione aritmetica in funzione del tipo della variabile di ingresso (BYTE o WORD).

Esempio in ST

PROGRAM shr_st
VAR
 in_byte : BYTE:=16#45; (* 2#01000101 )
 in_word : WORD:=16#0045; (* 2#0000000001000101 )
 erg_byte : BYTE;
 erg_word : WORD;
 n: BYTE :=2;
END_VAR
erg_byte:=SHR(in_byte,n); (* Result is 16#11, 2#00010001 *)
erg_word:=SHR(in_word,n); (* Result is 16#0011, 2#0000000000010001 *)

Esempio in FBD

Operators00394.jpg

 

 

Esempio in IL

LD     in_byte
SHR    2
ST     erg_byte