'HEAD' LINKER, CROSS REFERENCE MAP C EDIT DATE 26JAN79 09:33 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6 'OUTFILE' MAPPERGAK.FR SUBROUTINE MAPPER 'INCLUDE' LDATAXGAK.IN, 'INCLUDE' IODEFNGAK.IN, INTEGER SMSGS (12) INTEGER NMSGS (12) DATA SMSGS /'STARTING ADDRESS IS 0000'/ DATA NMSGS /'NO STARTING ADDRESS ????'/ C MAPPER :: X WRITE (DBCHAN, 1) X1 FORMAT (' ENTER MAPPER') CALL WRLIN (MPCHAN, ' ', 2) CALL WRLIN (MPCHAN, ' ', 2) CALL WRLIN (MPCHAN, ' ', 2) 'IF' (SFLAG) CALL EHX (START, SMSGS, 21, 24) CALL WRLIN (MPCHAN, SMSGS, 24) 'ELSE' CALL WRLIN (MPCHAN, NMSGS, 20) 'ENDIF' CALL TOPAGE CALL LTIME CALL ALPHA CALL TOPAGE CALL LTIME CALL NUMER X WRITE (DBCHAN, 2) X2 FORMAT (' EXIT MAPPER') RETURN END 'OUTFILE' ALPHAGAK.FR SUBROUTINE ALPHA C EDIT DATE 26JAN79 09:33 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6.01 C LIST NAME TABLE SORTED BY ALPHABETIC METHOD INTEGER ACOMP EXTERNAL ACOMP 'INCLUDE' PNAMESGAK.IN, 'INCLUDE' NTABLEGAK.IN, 'INCLUDE' IODEFNGAK.IN, INTEGER I C ALPHA : X WRITE (DBCHAN, 1) X1 FORMAT (' ENTER ALPHA') NCOUNT = 1 CALL SET (0, NAMES, LSTOP) 'DOLOOP' I = 1, LSTOP LIST(I) = I 'END' 'DOLOOP' I = 1, NLSTOP 'IF' (IAND (NFLAGS(I), USEBIT) .NE. 0 ^ .AND. IAND (NFLAGS (I), MODBIT) .EQ. 0) NAMES (NCOUNT) = I NCOUNT = NCOUNT + 1 'ENDIF' 'END' 'IF' (NCOUNT.GT.1) NCOUNT = NCOUNT -1 CALL SORT (LIST, NCOUNT, NAMES, ACOMP) 'ENDIF' 'DOLOOP' I = 1, NCOUNT CALL PRINTN (NAMES(LIST(I))) 'END' X WRITE (DBCHAN, 2) X2 FORMAT (' EXIT ALPHA') RETURN END 'OUTFILE' NUMERGAK.FR SUBROUTINE NUMER C EDIT DATE 26JAN79 09:34 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6.02 C LIST NAME TABLE SORTED BY NUMBERIC METHOD INTEGER NCOMP EXTERNAL NCOMP INTEGER I 'INCLUDE' PNAMESGAK.IN, 'INCLUDE' IODEFNGAK.IN, C NUMER : X WRITE (DBCHAN, 1) X1 FORMAT (' ENTER NUMER') 'DOLOOP' I = 1, LSTOP LIST(I) = I 'END' CALL SORT (LIST, NCOUNT, NAMES, NCOMP) 'DOLOOP' I = 1, NCOUNT CALL PRINTN (NAMES(LIST(I))) 'END' X WRITE (DBCHAN, 2) X2 FORMAT (' EXIT NUMER') RETURN END 'OUTFILE' ACOMPGAK.FR INTEGER FUNCTION ACOMP (NXX1, NXX2) INTEGER NXX1, NXX2 C EDIT DATE 26JAN79 09:34 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6.03 C ALPHABETIC COMPARISON ROUTINE 'INCLUDE' NTABLEGAK.IN, 'INCLUDE' IODEFNGAK.IN, INTEGER GCHAR INTEGER SLIMIT INTEGER NX1, NSZ1, NX2, NSZ2, I C ACOMP : (NXX1, NXX2) X WRITE (DBCHAN, 1) X1 FORMAT (' ENTER ACOMP') ACOMP = -1 'IF' ((NXX1.GT.0).AND.(NXX2.GT.0)) NX1 = NTEXTX (NXX1) NSZ1 = IAND (NFLAGS(NXX1), NTXBTS) NX2 = NTEXTX (NXX2) NSZ2 = IAND (NFLAGS(NXX2), NTXBTS) 'IF' ((NSZ1.GT.0).AND.(NSZ2.GT.0)) SLIMIT = 2 * NSZ1 IF (NSZ2.LT.NSZ2) SLIMIT = 2 * NSZ2 'DOLOOP' I = 1, SLIMIT ACOMP = GCHAR (NTEXT(NX1),I) - GCHAR (NTEXT(NX2),I) 'IF' (ACOMP.NE.0) 'BREAK' 'ENDIF' 'END' 'ENDIF' 'ENDIF' X WRITE (DBCHAN, 2) X2 FORMAT (' EXIT ACOMP') RETURN END 'OUTFILE' NCOMPGAK.FR INTEGER FUNCTION NCOMP (NXX1, NXX2) INTEGER NXX1, NXX2 C EDIT DATE 26JAN79 09:34 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6.04 C ADDRESS (NUMBERIC) COMPARISON ROUTINE 'INCLUDE' NTABLEGAK.IN, C NCOMP : (NXX1, NXX2) 'IF' (IAND(NFLAGS(NXX1),RLSBIT).EQ.0) 'IF' (IAND(NFLAGS(NXX2),RLSBIT).EQ.0) NCOMP = 0 'ELSE' NCOMP = +1 'ENDIF' 'ELSE' 'IF' (IAND(NFLAGS(NXX2),RLSBIT).EQ.0) NCOMP = -1 'ELSE' NCOMP = ISHFT (NADDRS (NXX1), -1) ^ - ISHFT (NADDRS (NXX2), -1) 'IF' (NCOMP .EQ. 0) NCOMP = IAND (NADDRS (NXX1), 1) ^ - IAND (NADDRS (NXX2), 1) 'ENDIF' 'ENDIF' 'ENDIF' RETURN END 'OUTFILE' PRINTNGAK.FR SUBROUTINE PRINTN (NX) INTEGER NX C EDIT DATE 26JAN79 09:34 C SOURCE FILE MAPPERGAK.FS C AUTHOR GARY A. KUDIS C CLUSTER 6.05 C PRINT NAME LIST ENTRY 'INCLUDE' IODEFNGAK.IN, 'INCLUDE' NTABLEGAK.IN, 'INCLUDE' CHARACGAK.IN, INTEGER GCHAR INTEGER MPTEXT(40) INTEGER FLAGS INTEGER AREAS(3) INTEGER QMARKS(2) INTEGER I DATA AREAS /'ANDZR '/ DATA QMARKS /'????'/ C PRINTN : (NX) X WRITE (DBCHAN, 1) X1 FORMAT (' ENTER PRINTN') FLAGS = NFLAGS (NX) 'IF' (IAND(FLAGS,GDFBIT).NE.0) X GOTO 100 RETURN 'ENDIF' X100 CONTINUE CALL SET (BLANKS, MPTEXT, 40) IF (IAND(FLAGS,GDFBIT).NE.0) CALL PCHAR (MPTEXT, 1, GCH) IF (IAND(FLAGS,MLTBIT).NE.0) CALL PCHAR (MPTEXT, 2, MCH) IF (IAND(FLAGS,MODBIT).NE.0) CALL PCHAR (MPTEXT, 3, TCH) IF (IAND(FLAGS,EPTBIT).NE.0) CALL PCHAR (MPTEXT, 4, ECH) IF (IAND(FLAGS,OVLBIT).NE.0) CALL PCHAR (MPTEXT, 5, OCH) IF (IAND(FLAGS,COMBIT).NE.0) CALL PCHAR (MPTEXT, 6, CCH) 'IF' (IAND(FLAGS,GDFBIT).NE.0) ATYPE = ISHFT (FLAGS, -13) + 1 CHAR = GCHAR (AREAS, ATYPE) CALL PCHAR (MPTEXT, 7, CHAR) 'ENDIF' NSIZE = IAND (FLAGS, NTXBTS) CALL MOVE (NTEXT(NTEXTX(NX)), MPTEXT(6), NSIZE) 'IF' (IAND(FLAGS,RLSBIT).NE.0) CALL EHX (NADDRS(NX), MPTEXT, 45, 48) 'ELSE' CALL EST (QMARKS, MPTEXT, 45, 48) 'ENDIF' CALL WRLIN (MPCHAN, MPTEXT, 50) X WRITE (DBCHAN, 2) X2 FORMAT (' EXIT PRINTX') RETURN END 'OUTFILE' TOPAGEGAK.FR SUBROUTINE TOPAGE C EDIT DATE 26JAN79 09:34 C AUTHOR GARY A. KUDIS C CLUSTER 6.06 C TOP OF PAGE OUTPUT 'INCLUDE' IODEFNGAK.IN, INTEGER FORM DATA FORM / 3072/ // '<0>' C TOPAGE :: CALL WRLIN (MPCHAN, FORM, 2) RETURN END