* Reverse a string 21/05/2016 REVERSE CSECT USING REVERSE,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 " MVC TMP(L'C),C tmp=c LA R8,C @c[1] LA R9,TMP+L'C-1 @tmp[n-1] LA R6,1 i=1 LA R7,L'C n=length(c) LOOPI CR R6,R7 do i=1 to n BH ELOOPI leave i MVC 0(1,R8),0(R9) substr(c,i,1)=substr(tmp,n-i+1,1) LA R8,1(R8) @c=@c+1 BCTR R9,0 @tmp=@tmp-1 LA R6,1(R6) i=i+1 B LOOPI next i ELOOPI XPRNT C,L'C print c L R13,4(0,R13) epilog LM R14,R12,12(R13) " XR R15,R15 " BR R14 exit C DC CL12'edoC attesoR' TMP DS CL12 YREGS END REVERSE