On 26 April 2017 at 19:27, Charles Mills <charl...@mcn.org> wrote:

> As someone who has written a fair number of C++-callable z/OS assembler
> routines I can assure you that even though it is call-by-value, the
> callee's entry R1 points to a list of addresses. Here is working code in
> assembler that picks up an integer (R10 is the entry R1 and PARM2 EQU 4).
>
>          L     R2,PARM2(,R10)       Address of Length in R2
>          L     R0,0(,R2)            Length in R0
>
> Here's the declaration of the function in C++
>
> extern "OS" { void FREEMAIN(void *address, const unsigned int size); }
>

Sure. But's that's only and exactly because you used ' extern "OS" ' . Look
at what C generates when you call another external C function. To say
nothing of what an internal call looks like, of course. To *really* say
nothing about XPLINK...

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to