What is the point of specifying an entry point on the END statement of, e.g., a 
Bessel function subroutine?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of CM 
Poncelet [[email protected]]
Sent: Friday, January 22, 2021 7:11 PM
To: [email protected]
Subject: Re: SMP/E and Isolating a CSECT within a load module

The SYSLIN "ENTRY whatever" is valid if the "whatever" external symbol
is in the ESD. (A LISTIDR should display the contents of the MOD's ESD.)
So yes, coding "ENTRY whatever" is safer in making sure that an (L)MOD
always has a same entry point. It is also the entry point selected by
the linkage editor if there is an "ENTRY" statement in SYSLIN: otherwise
it's the assembler's "END <EP>" that is selected by the LKED. If the
assembler source END statement does not specify a label, the default EP
is the first byte of the first CSECT in the link-edited (L)MOD. In
modular program design, every assembler source MOD should terminate with
an "END whatever" statement to specify the assembler's EP for that MOD -
where the "whatever" EP is usually the CSECT name, but not necessarily
so. Cf. also "Jackson structured programming (JSP)" as in "Principles of
Program Design" by Michael A. Jackson.

An (L)MOD can have multiple entry points by specifying "ALIAS mod1,mod2"
in SYSLIN. In such case "mod1" and "mod2" would be external names in the
(L)MOD and would also be in the ESD. They would then be the alternate
entry points for when the (L)MOD is LINK'd or XCTL'd to as "mod1" or
"mod2" instead of as "whatever". "ALIAS" can also be coded to specify
alternate names of the LMOD that is link-edited as "NAME <member name>".

As regards "ORDER", I used it to group together and page-align MODs that
most frequently 'interacted' with each other within an LMOD - to avoid
page faults and swap-outs if the page containing an associated MOD was
'stolen', i.e. I used "ORDER" for performance reasons. But yes "ORDER"
can be used to make sure that all the MODs in an LMOD are kept in
sequence. BTW SMP/E does allow including members with SYSLIN "ORDER
<whatever>" and any other control statements during its LKED.

Cheers, Chris Poncelet (retired sysprog)



On 22/01/2021 03:03, Paul Gilmartin wrote:
> On Fri, 22 Jan 2021 01:06:10 +0000, CM Poncelet wrote:
>
>> The "END <whatever CSECT>" should always be coded to ensure that the
>> beginning of "<whatever CSECT>" is also the entry point.
>>
> How does this play with SMP/E service which regularly scrambles CSECTs
> and doesn't AFAIK generate INCLUDE -ATTR?
> Would the programmer more safely code in //SYSLIN either:
>   ENTRY whatever
> or
>   ORDER whatever
> ???
> I had a co-worker who supplied an exhaustive ORDER mentioning
> every CSECT, knowing that his code would not be tested in-house
> with every permutation (N!) that SMP/E might create.
>
>> On 21/01/2021 20:54, Jesse 1 Robinson wrote:
>>> Without some kind of explicit ENTRY indicator within the source--like END 
>>> BAMKAPP--there was no ENTRY point generated in the app module. Hence 
>>> specifying ENTRY BANKAPP to the linker got 'not found'. Maybe today's 
>>> binder takes care of this, but in the 80s we could not find an obvious way 
>>> to solve it.
>>>
>>> Given more time we might have come to a resolution, but at the time we were 
>>> stumped.
>>>
>>>
>>> -----Original Message-----
>>> From: Steve Smith
>>> Sent: Thursday, January 21, 2021 12:44 PM
>>>
>>> *** EXTERNAL EMAIL - Use caution when opening links or attachments ***
>>>
>>> No one knew how to code an ENTRY statement?
>>>
>>> Personally, I'd make that message the Binder emits about defaulting the 
>>> entry point to be an RC=8 level error.  I usually discover this oversight 
>>> when something crashes after an APPLY, and by then, it's not so simple to 
>>> add the ENTRY.
> Can you name the vendor?
>
> -- gil
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
> .
>

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

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

Reply via email to