Function - Shift bits of a register to the left.


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


Q : ANY   Shifted register


ShlDiag.gif (1297 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 := SHL (IN, NBS);

FBD Language

ShlFbd.gif (1252 octets)

LD Language

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

IL Language:

Op1: LD  IN
     SHL NBS
     ST  Q

See also

SHR   ROL   ROR   SHLb   SHRb   ROLb   RORb   SHLw   SHRw   ROLw   RORw