32 lines
1.3 KiB
Text
32 lines
1.3 KiB
Text
* Reverse b string 25/06/2018
|
|
PALINDRO CSECT
|
|
USING PALINDRO,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 "
|
|
LA R8,BB @b[1]
|
|
LA R9,AA+L'AA-1 @a[n-1]
|
|
LA R6,1 i=1
|
|
LOOPI C R6,=A(L'AA) do i=1 to length(a)
|
|
BH ELOOPI leave i
|
|
MVC 0(1,R8),0(R9) substr(b,i,1)=substr(a,n-i+1,1)
|
|
LA R8,1(R8) @b=@b+1
|
|
BCTR R9,0 @a=@a-1
|
|
LA R6,1(R6) i=i+1
|
|
B LOOPI end do
|
|
ELOOPI XPRNT AA,L'AA print a
|
|
CLC BB,AA if b=a
|
|
BNE SKIP
|
|
XPRNT MSG,L'MSG then print msg
|
|
SKIP L R13,4(0,R13) epilog
|
|
LM R14,R12,12(R13) "
|
|
XR R15,R15 "
|
|
BR R14 exit
|
|
AA DC CL32'INGIRUMIMUSNOCTEETCONSUMIMURIGNI' a
|
|
BB DS CL(L'AA) b
|
|
MSG DC CL23'IT IS A TRUE PALINDROME'
|
|
YREGS
|
|
END PALINDRO
|