PROGRAM   CharTb12 ;

CONST
   C_HexCh : String[16] = '0123456789ABCDEF' ;

VAR
   G_i : Integer ;

   G_j    : Integer ;
   G_Code : Byte ;

BEGIN
   WriteLn (   '   0123456789ABCDEF'   );
   WriteLn (   '   ----------------'   );

   {----- LOOP 1 }
   FOR G_i := 0 TO 15 DO BEGIN
      {----- Line address in hexa }
      Write (   C_HexCh[G_i+1]  ,  '0>'   );

      {----- LOOP 2 }
      FOR G_j := 0 TO 15 DO BEGIN
         G_Code := G_i*16  +  G_j ;

         Write (   Chr(G_Code)   );
      END;{j}

      WriteLn ;
   END;{i}
END.
