Die Prozedur SHL schiebt eine logische 0 in das Bit b0 der Variablen und verschiebt alle Bitstellen der Variable um ein Bit nach links. Der Inhalt des höchstwertigen Bits geht verloren.
Beispiel für SHL auf eine Byte-Variable:
Für anderen Typen (Word, DWord) läuft es entsprechend mit mehreren Stellen.
Mathematisch entspricht die Operation einer binären Multiplikation mit 2.
SHL ( < Variable vom Typ Byte, Char, Word oder DWord > ) ;
< Name der Variable >
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
PROGRAM UNO_SHL;
DEVICE = mega328p;
{$I
mega328P_Register.INC}
CONST
b1 : Byte = %00111010;
VAR
b2 : Byte;
BEGIN
b2:=b1;
SHL(b2);
END UNO_SHL.
|
In Zeile 19 wird der Byte-Variablen b2 der Inhalt der Konstante b1 mit dem Binär-Wert 00111010 (3AH) zugewiesen.
Nach der Verschiebeoperation SHL in Zeile 21 ist der Binär-Wert der Variablen b2 gleich 01110100 (74H).