* Stream Merge 07/02/2017 STRMERGE CSECT USING STRMERGE,R13 base register B 72(R15) skip savearea DC 17F'0' savearea STM R14,R12,12(R13) prolog ST R13,4(R15) " <- ST R15,8(R13) " -> LR R13,R15 " addressability OPEN (OUTDCB,OUTPUT) open the output file LA R6,1 n=1 LA R9,FILE file(n) LOOPN C R6,=A(NN) do n=1 to nn BH ELOOPN L R2,0(R9) @DCB OPEN ((R2),INPUT) open input file # n LR R1,R6 n BAL R14,READ call read(n) LA R6,1(R6) n=n+1 LA R9,4(R9) file(n++) B LOOPN end do n ELOOPN BCTR R6,0 n=n-1 LOOP SR R8,R8 lowest=0 LA R7,1 k=1 LOOPK CR R7,R6 do k=1 to n BH ELOOPK LA R2,RECDEF-1(R7) @recdef(k) CLI 0(R2),X'00' if not recdef(k) BNE ERECDEF LR R1,R7 k BAL R14,READ call read(k) ERECDEF LR R1,R7 k LA R2,EOF-1(R1) @eof(k) CLI 0(R2),X'00' if not eof(k) BNE EEOF LTR R8,R8 if lowest<>0 BZ LOWEST0 LR R1,R7 k SLA R1,6 LA R2,REC-64(R1) @rec(k) CLC 0(64,R2),PG if rec(k)