> -----Original Message-----
> From: IBM Mainframe Discussion List On Behalf Of Capomaestro
> 
> [ snip ]
> 
>     ------     ----------   ---------------------------
>     |CICS| --> |MYASMBLR|   |R1 --> ???|...|R13 -> ???|
>     ------     ----------   ---------------------------
>     ------     ----------
>     |INIT| -|  |DFHEAI  |
>     ------  |  ----------   ---------------------------
>             -> |MYASMBLR|   |R1 --> EIB|...|R13 -> S/A|
>                ----------   ---------------------------
>     ------     ----------
>     |CICS| -|  |DFHEAI  |
>     ------  |  ----------   ---------------------------
>             -> |MYASMBLR|   |R1 --> EIB|...|R13 -> S/A|
>                ----------   ---------------------------
> 
> ...and after all that, this behaviour is observed under TS3.1 .

Sorry for the delay in responding; had to don my "RACF hat" for a while....

> Have you non-command level, non-preprocessed assembler 
> modules gaining control directly from CICS? The first example 
> experiences a S0C4 on a STM.

Fascinating....  I get the same result with a little program I cobbled up
just to load some registers by duplicating the instructions in DFHEAI, then
forcing a S0C1 and SVCDUMP.  If I omit the DFHEAI (I actually use DFHELII;
same difference) stub I get a S0C4 on the first instruction (STM
14,12,12(13) ).  Dump shows that R13 (and R12) both point to the "dummy" CSA
address in fetch-protected (and write-protected) storage.

When I prefix the DFHELII stub (exactly the same instructions as DFHEAI), my
program runs until the S0C1 happens.  Dump shows R13 with a different
address that R12 (which still has the fetch-protected "dummy" TCA address),
but the DFH... stub does not modify R13.  First instruction after the
unconditional branch at the end of the DFH.... stubs is ...

<drum roll> ...

        STM  14,12,12(13)

Since IBM took CICS "OCO" when they restructured it (ca. CICS/ESA 3.3) and
removed API access to the CSA and TCA, I can't explain why "my" (and your)
STM fails but theirs succeeds.

And just as an observational FYI, the first three instructions in all the
DFH.... stubs are exactly what DFHAFCD TYPE=LOCATE generates.

So, it appears that a DFH.... stub is required at the front of an Assembler
program that CICS will invoke directly, if only to get a valid savearea
address in Reg13.

    -jc-

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to