Page 1 of 1

CICS ASM

Posted: Tue Sep 17, 2024 5:32 pm
by markhenry11
How can I make this below program to CICS ASM program and also abnd. suggest how can i rectify it.


Code: Select all

MYPROG START     0
         YEBEQU
*
         SAVE      (14,12),,WORKAREA
         LR        R12,R15
         USING     *,R12
         STM       R14,R12,12(13)
         ST        R13,SAVEAREA+4
         LA        R13,SAVEAREA
         ST        R13,8(,R13)
*
         L         R1,0(R1)
         L         R2,0(R1)
         L         R3,80(R1)
*
         MVC       OUTPUT(80),=X'40'
*
         LA        R4,0
         LA        R5,0
         LA        R6,0
         LA        R3,80
         LA        R7,INPUT
*
*
FINDWORD CLI       0(R7),C' '
         BE        TESTLEN
         LA        R5,1(R5)
*
FINDCHAR LA        R7,1(R7)
         BCT       R3,FINDWORD
*
TESTLEN  LTR       R5,R5
         BNZ       WORDEND
*
ENDOFC   LTR       R3,R3
         BZ        PROCWORD
         B         FINDCHAR
*                                                                       00014200
WORDEND  CR        R5,R4                                                00014300
         BNH       FINDWORD
         LR        R4,R5
         LR        R6,R7
         SR        R6,R4
         BCTR      R6,0                                                 00014400
*                                                                       00014900
         XR        R5,R5
*                                                                       00015200
NEXTWORD LA        R8,OUTPUT                                            00015400
         ST        R4,BIGWORD
         ST        R6,STARTWORD
         BCTR      R4,0
         EX        R4,MOVELONGEST
         OI        0(R8),X'40'
         B         FINDWORD
*
PROCWORD DS        0H
         LA        R7,INPUT
         XR        R5,R5
         LA        R3,80
*
LOOP1    CLI       0(R7),C' '
         BE        ENDCHAR
         LA        R7,1(R7)
         LA        R5,1(R5)
         BCT       R3,LOOP1
*
ENDCHAR  LTR       R5,R5
         BNZ       REVERSE
         LTR       R3,R3
         BZ        FINISH
         B         LOOP1
*
REVERSE  LR        R8,R5
         SRL       R8,1
         LR        R6,R7
         SR        R6,R5
         BCTR      R7,0
         BCTR      R6,0
*
LOOPREV  MVC       TEMP,0(R7)
         MVC       0(1,R7),0(R6)
         MVC       0(1,R6),TEMP
         LA        R6,1(R6)
         AH        R7,=H'-1'
         BCT       R8,LOOPREV
         LTR       R3,R3
         BNP       FINISH
         LA        R7,1(R5,R7)
         XR        R5,R5
         B         LOOP1
*
MOVELONGEST   DS   0H
         MVC       0(0,R8),0(R6)
*
FINISH   DS        0H
         MVC       OUTPUT+80(80),=X'40'
         LA        R8,OUTPUT
         TRT       OUTPUT(80),TRTABLESPACE
*        EXEC CICS WRITEQ TS QUEUE(=C'MYPROG') FROM(0(R8))
*                     LENGTH(160)
*
         EXEC  CICS RETURN
*
         EJECT
*                                                                       00018900
*                                                                       00024420
TRTABLEUPPER    DC 256X'00'            TRANSLATION TABLE                00024430
           ORG     TRTABLEUPPER+C'A'                                    00024440
           DC      C'ABCDEFGHIJKLMNOPQRSTUVWXYZ'                        00024450
           ORG     TRTABLEUPPER+C'a'
           DC      C'abcdefghijklmnopqrstuvwxyz'
*                                                                       00024490
TRTABLESPACE    DC 256X'40'            TRANSLATION TABLE
           ORG     TRTABLESPACE+C'A'
           DC      C'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
           ORG     TRTABLESPACE+C'a'
           DC      C'abcdefghijklmnopqrstuvwxyz'
*
BIGWORD  DS        F
STARTWORD  DS      F
SAVEAREA DS        18F
INPUT    DS        CL80
OUTPUT   DS        CL80
WORKAREA DS        80C                                                  00024500
COMMAREA DS        CL180                                                00024600
WORK     DS        CL80                                                 00024610
TEMP     DS        CL1
         END       MYPROG                                             00024800

Re: CICS ASM

Posted: Wed Sep 18, 2024 5:58 pm
by prino
And comments aren't required?

The going rate for assembler programmers is probably about $1,200 per day, so start saving!

Re: CICS ASM

Posted: Wed Sep 18, 2024 11:48 pm
by sergeyken
markhenry11 wrote:How can I make this below program to CICS ASM program and also abnd. suggest how can i rectify it.

You can try doing it in this way:
Sample Assembler program for CICS

P.S.
So far, your sample cannot work even without CICS.

Re: CICS ASM

Posted: Thu Sep 19, 2024 3:40 pm
by markhenry11
sergeyken wrote:
markhenry11 wrote:How can I make this below program to CICS ASM program and also abnd. suggest how can i rectify it.

You can try doing it in this way:
Sample Assembler program for CICS

P.S.
So far, your sample cannot work even without CICS.




Any suggestions to modify pls

Re: CICS ASM

Posted: Thu Sep 19, 2024 5:03 pm
by enrico-sorichetti
click on the link to see a Sample Assembler program for CICS

Sample Assembler program for CICS

Re: CICS ASM

Posted: Thu Sep 19, 2024 5:06 pm
by sergeyken
markhenry11 wrote:Any suggestions to modify pls

Since one of initial lines in your sample is senseless (try to guess - why?):

Code: Select all

        MVC       OUTPUT(80),=X'40'
It makes no sense to investigate it further.
It all looks like a primitive text parser, but doing nothing useful.

There is no comment at all in your code. Do you have any idea yourself: what this code is supposed to do?

Besides of all said above, this is not a DO-MY-JOB-FOR-ME forum, and not any sort of ONLINE-LEARNING-FROM-SCRATCH site, but this is the HELP FORUM.