I am not an expert. But remember that the initiator which invokes the PGM= 
program simply passes the parms via R1, just like any other program. The 
initiator does not know if the PGM= is LE or not. So, for the initiator, R1 
points to a single fullword with the high order bit set. This fullword contains 
the address of the PARM= string which is a halfword for the length of the PARM 
value (h'0' if no PARM= value) followed by the parm.

As I understand it, when you invoke an LE main routine, you don't go directly 
to your main routine. Instead, you go to an LE front end which parses the PARM= 
according to LE rules, then it invokes your code with a modified PARM.

This __might__ be the place to start reading:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEV1190/1.4.4

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone *
[email protected] * www.HealthMarkets.com

Confidentiality Notice: This e-mail message may contain confidential or 
proprietary information. If you are not the intended recipient, please contact 
the sender by reply e-mail and destroy all copies of the original message. 
HealthMarkets(r) is the brand name for products underwritten and issued by the 
insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance 
Company(r), Mid-West National Life Insurance Company of TennesseeSM and The 
MEGA Life and Health Insurance Company.SM



> -----Original Message-----
> From: IBM Mainframe Assembler List
> [mailto:[email protected]] On Behalf Of Kirk Wolf
> Sent: Wednesday, July 20, 2011 8:59 AM
> To: [email protected]
> Subject: Non-LE Assembler XCTL to LE C module with PARM=
>
> I apologize if this is a bit O.T., but the audience on this
> list seems to be
> a little more focused than IBM-MAIN for this kind of question....
>
> I was curious about what would happen in the following scenario:
>
> Suppose you have a LE enabled "main" program written in C,
> that is normally
> invoked as a job step via "EXEC PGM=".   The program accepts
> parameters in
> PARM=, but you can also set LE options for it (as with other
> LE programs) by
> putting them in the PARM before the first slash, e.g.:  EXEC
> PGM=CLEPROG,PARM='HEAP(12M)/arg1 arg2".
>
> Now, suppose I have a small non-LE assembler program (call it
> "ASMXCTL"),
> that does a "XCTL EP=CLEPROG", passing the original R1 (PARM=)......
>
> What would happen if I did this? -
>
>    EXEC PGM=ASMXCTL,PARM='HEAP(12M)/arg1 arg2'
>
> Does the "main" initialization of "CLEPROG" process the LE options as
> before?
>
> Of course, I will have to try it I guess, but I was curious
> if one of the
> experts here knew what will happen and why...
>
> Thanks,
>
> Kirk Wolf
> Dovetailed Technologies
> http://dovetail.com
>
>

Reply via email to