Übersicht

SHR (Shift Right)

Die Prozedur SHR schiebt eine logische 0 in das höchstwertige Bit (hier Bit b7) der Variablen und verschiebt alle Bitstellen der Variable um ein Bit nach rechts. Der Inhalt des niederwertigsten Bits geht verloren.

Beispiel für SHR auf eine Byte-Variable:

Für anderen Typen (Word, DWord) läuft es entsprechend mit mehreren Stellen.

Mathematisch entspricht die Operation einer binären Division durch 2.

Syntax

SHR ( < Variable vom Typ Byte, Char, Word oder DWord > ) ;

Parameter

< Name der Variable >

Beispiel


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
PROGRAM UNO_SHR;
 
DEVICE = mega328p;
 
{$I mega328P_Register.INC}
 
 
CONST
  b1 : Byte = %00101011;
 
 
VAR
 
  b2 : Byte;
 
 
BEGIN
 
  b2:=b1;
 
  SHR(b2);
 
 
 
END UNO_SHR.

In Zeile 19 wird der Byte-Variablen b2 der Inhalt der Konstante b1 mit dem Binär-Wert 00101011 (2BH) zugewiesen.

Nach der Verschiebeoperation SHL in Zeile 21 ist der Binär-Wert der Variablen b2 gleich 00010101 (15H).

siehe auch

SHL



Übersicht