program b5;
uses crt;
const          d    = 200;
var        taste    : char;

procedure rauf;
begin
   port(.888.):=1; delay(d);
   port(.888.):=2; delay(d);
   port(.888.):=4; delay(d);
   port(.888.):=8; delay(d);
   port(.888.):=0;
end;

procedure runter;
begin
   port(.888.):=4; delay(d);
   port(.888.):=2; delay(d);
   port(.888.):=1; delay(d);
   port(.888.):=8; delay(d);
   port(.888.):=0;
end;

procedure rechts;
begin
   port(.888.):=16; delay(d);
   port(.888.):=32; delay(d);
   port(.888.):=64; delay(d);
   port(.888.):=128;delay(d);;
   port(.888.):=0;
end;

procedure links;
begin
   port(.888.):=64; delay(d);
   port(.888.):=32; delay(d);
   port(.888.):=16; delay(d);
   port(.888.):=128;delay(d);
   port(.888.):=0;
end;

begin
clrscr;
port(.888.):=0;
repeat
  taste:= readkey;
  taste:=upcase(taste);
  if Taste='6'then rechts;
  if Taste='4'then links;
  if Taste='8'then rauf;
  if Taste='2'then runter;
until Taste=chr(27);
port(.888.):=0;
end.
