What does "didn't work" mean?  What did the CALL expansion look like?

The code might be clearer if you just coded LA R1,=F'3' before the CALL.
Your usage of MF=E is novel, and I'm hesitant to condemn it, but it's
non-standard.

Incidentally, why would you replace =F'1,2,3' on your second example with a
hex string?

sas

On Tue, Mar 28, 2023 at 3:17 PM Frank Swarbrick <[email protected]>
wrote:

> Another typo, of course.
> =X'000000010000000300000003' should be =X'000000010000000200000003'
> ________________________________
> From: IBM Mainframe Discussion List <[email protected]> on behalf
> of Frank Swarbrick <[email protected]>
> Sent: Tuesday, March 28, 2023 12:52 PM
> To: [email protected] <[email protected]>
> Subject: Re: ASM call by value
>
> So that didn't work.  But after a lot of fiddling about, here's what works
> for me.  I LE enabled it so it will be reentrant.
>
> ISCICS#  CEEENTRY MAIN=NO
> *        SEE IF WE'RE RUNNING UNDER CICS BY CALLING @@GETCB...
>          CALL  @@GETCB,MF=(E,=F'3') ...WITH VALUE INTEGER 3
>          CEETERM RC=(15)
> *
> PPA      CEEPPA
>          CEEDSA ,
>          CEECAA ,
>          END   ISCICS#
>
> By using the execute format of the CALL macro, assuming all of the fields
> are to be passed by value, you can place them, in order, in the execute
> literal (or whatever its called that follows the 'E').
>
> So, for example, if you wanted to call like the C statement "F(1,2,3)" you
> could do:
>          CALL  F,MF=(E,=X'000000010000000300000003')
> Or, of course, you could refer do a DC group instead of using a literal.
>
> Perhaps this will help others.
>
> Frank
>
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to