On Mon, 22 Aug 2005 13:50:44 -0500, Chase, John <[EMAIL PROTECTED]> wrote:
>> -----Original Message----- >> From: IBM Mainframe Discussion List On Behalf Of Capomaestro >> >> [ snip ] >> >> ------ ---------- --------------------------- >> |CICS| --> |MYASMBLR| |R1 --> ???|...|R13 -> ???| >> ------ ---------- --------------------------- >> ------ ---------- >> |INIT| -| |DFHEAI | >> ------ | ---------- --------------------------- >> -> |MYASMBLR| |R1 --> P/L|...|R13 -> S/A| >> ---------- --------------------------- >> ------ ---------- >> |CICS| -| |DFHEAI | >> ------ | ---------- --------------------------- >> -> |MYASMBLR| |R1 --> EIB|...|R13 -> S/A| >> ---------- --------------------------- >> >> ...and after all that, this behaviour is observed under TS3.1 . >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. >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- > No magic involved. The 'stump' is passed control with appropriate R1 and R13 addresses once CICS determines it is command level. Not trying to teach Granny to suck eggs but as previously reported here, CICS 'inspects' the beginning of the load module to determine if it is command level. HTH ---------------------------------------------------------------------- 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

