program simple_expressions; {$mode objfpc}{$H+} var b: Byte = 4; c: Byte = 3; begin WriteLn('Initial value of b is ', b, '; initial value of c is ', c, sLineBreak); b := b shr 1; // >> shift right c := c shl 4; // << shift left WriteLn('After b shr 1, b is ', b, '; after c shl 4, c is ', c, sLineBreak); WriteLn('c xor b = ',c xor b, '; c and b = ', c and b, '; c or b = ', c or b); WriteLn('not c is ', not c, '; not b is ', not b); WriteLn; WriteLn('c > b is ', c > b, '; c < b is ', c < b, '; c <> b is ', c <> b, '; c = b is ', c = b); WriteLn; WriteLn('c div b is ', c div b, '; c mod b is ', c mod b); {$IFDEF WINDOWS} ReadLn; {$ENDIF} end.