INTEGER FUNCTION SEARCH (DUMMY) INTEGER NSIZE, NAME(16), NTITLE INTEGER NFLAGS (512) INTEGER NADDRS (512) INTEGER NPOSIT (512) INTEGER NDATA (512) INTEGER NTEXTX (512) INTEGER NTEXT (1000) INTEGER NLX, NLSTRT, NLSTOP INTEGER TXSTRT, TXSTOP INTEGER NTXBTS INTEGER USEBIT, COMBIT, OVLBIT, EPTBIT INTEGER LDMBIT, MODBIT, MLTBIT, RLSBIT INTEGER GDFBIT, TYPBTS INTEGER ATYPE INTEGER ICLP07 LOGICAL OLDNAM COMMON /NTABLE/ NSIZE, NAME, NTITLE COMMON /NTABLE/ NFLAGS, NADDRS, NPOSIT, NDATA, NTEXTX COMMON /NTABLE/ NTEXT COMMON /NTABLE/ NLX, NLSTRT, NLSTOP COMMON /NTABLE/ TXSTRT, TXSTOP COMMON /NTABLE/ NTXBTS COMMON /NTABLE/ USEBIT, COMBIT, OVLBIT, EPTBIT COMMON /NTABLE/ LDMBIT, MODBIT, MLTBIT, RLSBIT COMMON /NTABLE/ GDFBIT, TYPBTS COMMON /NTABLE/ ATYPE COMMON /NTABLE/ ICLP07 COMMON /NTABLE/ OLDNAM INTEGER ECODE INTEGER CMCHAN INTEGER RBCHAN INTEGER OBCHAN INTEGER MPCHAN INTEGER DBCHAN INTEGER TTYIN INTEGER TTYOUT COMMON /IODEFN/ ECODE COMMON /IODEFN/ CMCHAN COMMON /IODEFN/ RBCHAN COMMON /IODEFN/ OBCHAN COMMON /IODEFN/ MPCHAN COMMON /IODEFN/ DBCHAN COMMON /IODEFN/ TTYIN COMMON /IODEFN/ TTYOUT INTEGER TEST, SSIZE, STX, I, J INTEGER HASH, DUMMY C WRITE (DBCHAN, 1) C 1FORMAT (' ENTER SEARCH') SEARCH = 0 TEST = HASH (DUMMY) DO 13080 I = 1, NLSTOP IF (.NOT. (NFLAGS(TEST).EQ.0))GO TO 13082 SEARCH = TEST GO TO 13081 13082 CONTINUE SSIZE = IAND (NFLAGS(TEST), NTXBTS) STX = NTEXTX (TEST) IF (.NOT. (SSIZE.EQ.NSIZE))GO TO 13084 DO 13086 J = 1, SSIZE IF (.NOT. (NTEXT(STX).NE.NAME(J)))GO TO 13088 GOTO 1 13088 CONTINUE STX = STX + 1 13086 CONTINUE SEARCH = TEST GO TO 13081 13084 CONTINUE 1 CONTINUE TEST = TEST + 1 IF (TEST.GT.NLSTOP) TEST = 1 13080 CONTINUE 13081 CONTINUE C WRITE (DBCHAN, 2) SEARCH C 2FORMAT (' EXIT SEARCH = ', I5) RETURN END