I think if you follow the standard rules from IBM for progam-entry and building
the savearea-chain and at the end for returning to the caller (system)
then the most will be done ! Everywhere you can find such a simple program in
IBM Assembler-Manuals with this standards - something like this,
and there is (as I know) no difference in CICS - but I will have a look. This
simple coding normally runs all the time without problems. Only if - start
with your own coding.
STM R14,R12,12(R13) SAVE REGS
LR R12,R15 LOAD BASE REG
USING GETSTORG,R12 ADDRESSABILITY
LR R15,R13 OLD SAVE AREA ADDRESS
LA R13,SAVEA POINT TO NEW SAVE AREA
ST R15,4(R13) PUT OLD SAVE ADDR IN IT
users code starts here....
L R2,0(R1) GET ADDRESS OF STORAGE LENGTH
ICM R2,15,0(R2) GET ACTUAL STORAGE LENGTH
L R3,4(R1) GET ADDRESS OF AREA TO UPDATE
GETMAIN EU,LV=(2),A=(3) GET STORAGE
and ends here
L R13,4(R13) GET OLD SAVE AREA ADDRESS
LM R14,R12,12(R13) RESTORE REGS
LA R15,0 SET RC=0
BR R14 RETURN
SAVEA DC 18F'0' SAVE AREA
LTORG
END GETSTORG
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On
Behalf Of Mainframe Mainframe
Sent: Friday, July 27, 2012 4:53 PM
To: [email protected]
Subject: Re: Basic ASM question
I was using the convention that I use on my other assembler prog IDMS. In CICS
this is my first try. I have also try to not put base register an the
translator assign R3 as base register. What I want to do is just make an
assembler CICS program that can run in CICS. So if you have some idea of what
is wrong or a sample of what I want to do let me know. Thanks
2012/7/27 Rzepka, Michael <[email protected]>
> -----Original Message-----
> From: IBM Mainframe Assembler List
> [mailto:[email protected]]
> On Behalf Of Mainframe Mainframe
> Sent: Friday, July 27, 2012 4:27 PM
> To: [email protected]
> Subject: Basic ASM question
>
> I'm trying to make a little CICS Assembler program an I get always a
> 0C4 at execution. DFHSR0618 CICSPROD An illegal macro call or
> reference to the CSA or TCA. Here's my program.
>
> SETOPTI CSECT
> STM R14,R12,12(R13) * SAVE CALLER'S REGS
> LR R12,R15 <== where you will get entry point
> address for addressability !
> USING SETOPTI,R12 * R12 IS BASE
> ST R13,SAVEAREA+4
> LA R13,SAVEAREA
> B STARTUP
> *
> DC CL8'SETOPTI'
> DC C'&SYSDATE'
> DC
> C'&SYSTIME'
>
> STARTUP DS 0H
> EXEC CICS ASKTIME
> ***********************************************************
> *
> RETOUR DS 0H
> DFHEIRET
>
> Does someone can help me.
>