* Remove duplicate elements - 18/10/2015 REMDUP CSECT USING REMDUP,R15 set base register SR R6,R6 i=0 LA R8,1 k=1 LOOPK C R8,N do k=1 to n BH ELOOPK LR R1,R8 k SLA R1,2 L R9,T-4(R1) e=t(k) LR R7,R8 k BCTR R7,0 j=k-1 LOOPJ C R7,=F'1' do j=k-1 to 1 by -1 BL ELOOPJ LR R1,R7 j SLA R1,2 L R2,T-4(R1) t(j) CR R9,R2 if e=t(j) then goto iter BE ITER BCTR R7,0 j=j-1 B LOOPJ ELOOPJ LA R6,1(R6) i=i+1 LR R1,R6 i SLA R1,2 ST R9,T-4(R1) t(i)=e ITER LA R8,1(R8) k=k+1 B LOOPK ELOOPK LA R10,PG pgi=@pg LA R8,1 k=1 LOOP CR R8,R6 do k=1 to i BH ELOOP LR R1,R8 k SLA R1,2 L R2,T-4(R1) t(k) XDECO R2,PG+80 edit t(k) MVC 0(3,R10),PG+89 output t(k) on 3 char LA R10,3(R10) pgi=pgi+3 LA R8,1(R8) k=k+1 B LOOP ELOOP XPRNT PG,80 print buffer XR R15,R15 set return code BR R14 return to caller T DC F'6',F'6',F'1',F'5',F'6',F'2',F'1',F'7',F'5',F'22' DC F'4',F'19',F'1',F'1',F'6',F'8',F'9',F'10',F'11',F'12' N DC A((N-T)/4) number of T items PG DC CL92' ' YREGS END REMDUP