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