home *** CD-ROM | disk | FTP | other *** search
- PROGRAM TST2;
- VAR I,J,K:INTEGER;
-
- FUNCTION WAITCHAR:INTEGER;
- VAR I:INTEGER;
- FUNCTION INKEY:INTEGER;
- VAR I:BYTE;
- BEGIN INLINE ($B4/$08/$CD/$21/$88/$46/I); INKEY:=I;
- END; {INKEY}
- BEGIN
- I:=INKEY;
- IF I=0 THEN WAITCHAR:=INKEY+256
- ELSE WAITCHAR:=I;
- END; {WAITCHAR}
-
- PROCEDURE RULE(I:INTEGER);
- VAR J,K:INTEGER;
- BEGIN
- GOTOXY(1,I);
- FOR J:=1 TO 8 DO WRITE(J:9,'0');
- GOTOXY(1,I+1);
- FOR J:=1 TO 7 DO BEGIN
- FOR K:=1 TO 4 DO WRITE(CHR(196));
- WRITE(CHR(194));
- FOR K:=1 TO 4 DO WRITE(CHR(196));
- WRITE(CHR(197));
- END;
- FOR K:=1 TO 4 DO WRITE(CHR(196));
- WRITE(CHR(194));
- FOR K:=1 TO 4 DO WRITE(CHR(196));
- WRITE(CHR(180));
- END {RULE};
-
- BEGIN
- FOR I:=2 TO 17 DO BEGIN
- K:=I*160;
- FOR J:=13 TO 79 DO MEM[$B800:K+J*2]:=J+52;
- END;
- RULE(1);
- I:=0;
- WHILE I<256 DO BEGIN
- GOTOXY(1,(I MOD 16)+3);
- WRITE(I:3);
- WRITE(' ');
- FOR J:=0 TO 7 DO BEGIN
- K:=7-J;
- IF ((($01 SHL K) AND I) <> 0) THEN WRITE('1') ELSE WRITE('0');
- END;
- K:=((I MOD 16)+2)*160+1;
- FOR J:=13 TO 79 DO MEM[$B800:K+J*2]:=I;
- IF (I MOD 16)=15
- THEN BEGIN
- GOTOXY(1,20);
- WRITE('Press ESCAPE to exit:');
- IF WAITCHAR=27 THEN I:=256
- END;
- I:=I+1;
- IF I=256 THEN I:=0;
- END;
- END.