C PROGRAM GAMKE1 C C RUECKUMWANDLUNG VON GAMMA-11-MACROS AUS DEM RT11-FORMAT C INS GAMMA-11-FORMAT C C HEINEMANN JULI 1981 C MODIFIED BY A. VIRJO C 25-AUG-1982 C LOGICAL*1 MNAME(14),ZEILE(51,10),MBUFF(1024) LOGICAL*1 ARRAY(510) EQUIVALENCE (ARRAY,ZEILE) C CALL ASSIGN (3,'SY0:GAMKEC.COM') READ (3,310) (MNAME(I),I=1,14) 310 FORMAT(/1X,14A1) CALL CLOSE (3) C CALL ASSIGN (2,'SY0:GAMKED.TMP',14,'OLD') DEFINE FILE 2(1,512,U,NREC) READ (2'1,END=40)MBUFF 40 CALL CLOSE (2) C DO 5 I=1,510 !SETZT ARRAY = "0 5 ARRAY(I)="0 C IZ=1 !NUMMER DER ZEILE M=1 110 CONTINUE K=2 !K IST DIE NUMMER DER SPALTE DO 10 I=M,1024 IF (MBUFF(I).EQ."15)GOTO 100 IF (MBUFF(I).EQ."0) GOTO 200 IF (IZ.GT.10) GOTO 401 IF (K.GT.50) GOTO 301 ZEILE(K,IZ)=MBUFF(I) K=K+1 10 CONTINUE GOTO 200 C C UEBERSPRINGT BEIM LESEN C 100 M=I+2 C C SCHREIBT ZEILENENDE ("200) UND -ANFANG ("1) IN GAMMA-MACRO C ZEILE(K,IZ)="200 ZEILE(1,IZ)="1 IZ=IZ+1 !NAECHSTE ZEILE C C UEBERSPRINGE BEIM SCHREIBEN DEN REST GROESSER 49 ZEICHEN C IN EINER ZEILE C 20 IF (MBUFF(I).EQ."15) GOTO 30 I=I+1 GOTO 20 30 M=I+2 GOTO 110 C C*** FEHLERBEDINGUNGEN *** C 301 CALL ITTOUR("007) !Ring the bell WRITE (5,2003) IZ 2003 FORMAT ('0*** Error: More than 49 characters in row ', @I2,','/' extra characters discarded'//) I=I+1 GOTO 100 C 401 CALL ITTOUR("007) !Ring the bell WRITE (5,2002) 2002 FORMAT ('0*** Error: More than 10 rows,'/ @' extra rows discarded'//) C C*** WEGSCHREIBEN DES GAMMA-MACROS *** C 200 CALL ASSIGN (1,MNAME,14) DEFINE FILE 1(1,256,U,IREC) WRITE (1'1) (ARRAY(I),I=1,510) C CALL CLOSE(1) CALL EXIT !BACK TO RT-11 END