SUBROUTINE MERGE(NRECS,NWF,NRLAST) LOGICAL*1 BUFFER(1) INTEGER*2 RLEFT(10),IV(4:13) INTEGER*2 TOTLEN,LLEN(9),KEYLOC(9),KEYORD(9),KEYLEN(9) COMMON LPEREC,TOTLEN,LLEN,NKEYS,KEYLOC,KEYORD,KEYLEN COMMON /BUFFER/BUFFER COMMON /DIRACC/IV N=1 DO 1 I=1,NWF READ(I+3'IV(I+3))(BUFFER(J),J=N,N+TOTLEN-1) RLEFT(I)=NRECS 1 N=N+TOTLEN RLEFT(NWF)=NRLAST NWORK=NWF 19 DO 2 NMIN=1,NWF 2 IF(RLEFT(NMIN).GT.0)GOTO3 3 IF(NWORK.EQ.1)GOTO5 DO 4 I=NMIN+1,NWF IF(RLEFT(I).LE.0)GOTO4 IF(ICOMP(IR(NMIN),IR(I)).LE.0)GOTO4 NMIN=I 4 CONTINUE 5 CALL WRITIT(1,BUFFER(IR(NMIN))) RLEFT(NMIN)=RLEFT(NMIN)-1 N=IR(NMIN) IF(RLEFT(NMIN).GT.0) 1READ(NMIN+3'IV(NMIN+3))(BUFFER(I),I=N,N+TOTLEN-1) IF(RLEFT(NMIN).LE.0)NWORK=NWORK-1 IF(NWORK.GT.0)GOTO19 RETURN END