Function - Shift bits of a register to the right.


IN : ANY  register
NBS : ANY Number of shifts (each shift is 1 bit)


Q : ANY   Shifted register


ShrDiag.gif (1347 octets)


Arguments can be signed or unsigned integers from 8 to 32 bits.

In LD language, the input rung (EN) enables the operation, and the output rung keeps the state of the input rung. In IL language, the first input must be loaded before the function call. The second input is the operand of the function.

ST Language

Q := SHR (IN, NBS);

FBD Language

ShrFbd.gif (1249 octets)

LD Language

(* The shift is executed only if EN is TRUE *)
(* ENO has the same value as EN *)
ShrLd.gif (1505 octets)

IL Language:

Op1: LD  IN
     SHR NBS
     ST  Q

See also

SHL   ROL   ROR   SHLb   SHRb   ROLb   RORb   SHLw   SHRw   ROLw   RORw