I agree! However, for products that are distributed and maintained with SMP/E, keeping the object decks is generally done to facilitate building APAR fixes and PTFs. I haven't looked into the possibilities, but I haven't seen automatic library call used with SMP/E, except for IBM-provided call libs like SYS1.CSSLIB.
sas On Thu, Oct 19, 2023 at 10:58 AM Farley, Peter < [email protected]> wrote: > This is quite a normal practice in a large shop with many shop-wide or > utility subroutines used by multiple applications. When you link / bind a > "main" program you want the link editor / binder to automatically find the > executable code for all the subroutines you call (and all the ones that > they in turn call) in the SYSLIB DD (which is usually a concatenation of > many libraries). Linking / binding the subroutines means you do NOT have > to code a bunch of INCLUDE statements as input to the link editor / binder > for the "main" program, it will just happen automatically. > > Using "NCAL" for the subroutine link / bind step is also quite normal and > means that the lower-level subroutines that the application subroutines > call are NOT included in the subroutine load module / program object, so > you keep the size of your "executable code" library to a minimum, and all > subroutine calls are resolved at link / bind time of "main" programs. > > Maintaining a deck of INCLUDE statements in parallel with source code > changes for "main" programs that can introduce or remove called subroutines > is a maintenance headache that no one needs. > > Peter > > From: IBM Mainframe Assembler List <[email protected]> On > Behalf Of Schmitt, Michael > Sent: Thursday, October 19, 2023 9:50 AM > To: [email protected] > Subject: Re: Variable-Length Parameter List Attributes > > > At my company, the standard going back at least 37 years has been to > compile or assemble, then the job immediately NCAL links the object deck > into an "object module" (not to be confused with PDSE "program object"). > The object deck is discarded, the object module is saved. > > > > I'm not sure *why* we do this, except that it makes it easier to link the > object into composite load modules. > > > > Is this common? Or do other groups save the object deck? > > > > -----Original Message----- > > From: IBM Mainframe Assembler List <[email protected]> On > Behalf Of Jonathan Scott > > Sent: Thursday, October 19, 2023 7:31 AM > > To: [email protected] > > Subject: Re: Variable-Length Parameter List Attributes > > > > In the past, DC 0H'0' was preferred for defining labels because > > any DS, even of zero length, would cause a new TXT card to be > > started in the object deck, making it larger than necessary. > > The value is no longer needed, so DC 0H is allowed. > > > > If no alignment padding is required, DC 0H and DS 0H are > > equivalent, but if alignment padding is required (which would > > not occur within instructions) then DC 0H will pad with a zero > > byte and continue on the same object code TXT card, but DS 0H > > will simply start a new TXT card at the aligned location. > > > > Jonathan Scott, HLASM > > IBM Hursley, UK > > This message and any attachments are intended only for the use of the > addressee and may contain information that is privileged and confidential. > If the reader of the message is not the intended recipient or an authorized > representative of the intended recipient, you are hereby notified that any > dissemination of this communication is strictly prohibited. If you have > received this communication in error, please notify us immediately by > e-mail and delete the message and any attachments from your system. >
