LINKing to Language-Environment conforming routine
Hi GGG,
First, thanks for the advice - it's VERY helpful.
Secondly - I'm not quite sure about "can't use LINK". Can't you
just LINK to an LE/370 MAIN program (CEEENTRY MAIN=YES)? What are the
demands of the LE/370 MAIN program, that SVC LINK does not supply?
From the LE/370 Programming Guide (OS/390 v2.7):
------------------------------------------------
Language Environment-conforming Assembler
-----------------------------------------
"When you use the macros listed in Assembler Macros on page 483 to write
your
Language Environment-conforming assembler routines, the macros generate code
that follows the required register conventions.
On entry into the Language Environment-conforming assembler main routine,
regis-ters
must contain the following values because they are passed without change to
the CEEENTRY macro:
R0 Address of a parameter list, if the main routine is invoked from VM
R1 Address of the parameter list, or zero if no parameters are passed
R13 Caller's standard register save area
R14 Return address
R15 Entry point address"
-------------------------------------------------
I tried it yesterday, and it was OK. I didn't test it roughly (I mean,
I didn't try to complicate none too much), but it worked.
I LINKed from a non-LE ASM/370 to LE-conformant ASM/370.
Regards,
--------------------------
Itsik Shabtay
Quote:
>You have to start a LE environment from your non-LE program using the
>CEEPIPI interface. Consult the IBM Language Environment Programming
>Guide. From a non-LE/VSE-conforming driver (such as assembler) you can
>use LE/VSE preinitialization facilities to create and initialize a
>common run-time environment, execute applications written in an
>LE/VSE-conforming HLL multiple times within the pre-initialized
>environment, and terminate the pre-initialized environment. You can not
>use a LINK to enter a LE conforming routine from a non-LE program. You
>must use the CEEPIPI function calls.
>There is a known bug in the CEETERM macro. The CEETERM macro does not
>generate a CEEMAIN CSECT when MAIN=YES is specified in the CEEENTRY
>macro. The symptom is the ACEEMAIN pointer in the PLIST is 0. The
>problem is not evident until after the link-edit has been done. APAR
>PQ24607 is required in MVS. The same problem exists in VSE but an APAR
>number has not yet been assigned. These APARs will not be available for
>a few weeks.