Johnny,

Don't worry about the safety angle. If you use an ENTRY linkage editor
statement, you impose the entry point so, obviously, you don't lose it. I
believe the default entry point is the beginning of the module which is, in
any case, very often correct so you don't always get into trouble even if
you don't have an ENTRY statement. I just added that note to emphasis that
the load module could be passed through the linkage editor as often as you
liked. You should not worry if you find you need to use an object module as
input to the linkage editor. You will probably find yourself including the
ENTRY statement along with the INCLUDE statements as a matter of necessity
or habit anyhow.

Probably I should say that I'm showing my age by not mentioning the
possibility it would appear these days to use this thing called the "binder"
which, as far as I am concerned, could have originated on the Aegean
peninsula[1]

I'd say you missed nothing in regarding object modules and load modules as
being rather different. I'd hoped my last post made that clear. Only a load
module can be made the value of an EXEC statement PGM operand or, within a
program, be identified for a LOAD macro call.

Regarding the contents of an object module, I found the following table for
the types of card images which can be found in an object module or object
deck of 80-column cards (
http://mitvma.mit.edu/cmshelp.cgi?CMS%20DOSLked%20(ALL ):

<quote>

 Linkage Editor Card Types:

 The input to the linkage editor can consist of six card types, produced by
a language translator or a programmer. These cards appear in the following
order:

 Card Type   Definition
 ESD         External symbol dictionary
 SYM         Ignored by linkage editor
 TXT         Text
 RLD         Relocation list dictionary
 REP         Replacement of text made by the programmer
 END         End of module

</quote>

As you described, you will see the instructions on the TXT card type, which
will, in general, be the most common type. Each card image will have some
columns at the beginning, including the card type identification, "TXT", in
columns 2 to 4 if my memory is good after an enormous number of years.I
think there's probably an "offset" amount here also. I think you'll find
sequence numbers in columns 73 to 80 because, remember, these card images
could once really have been "flesh and blood" cards and some makes of card
had quite slippery surfaces - to go more easily through the card sorter
machine like the venerable IBM Type 82 - and a deck of cards could quite
easily fall on the floor ... - actually that's when the Type 92 came in
quite handy. In between the initial data and the sequence numbers you'll
find the "machine code", including instructions - but not to forget your
constants.

So, you're not wrong.

Incidentally, there's a tight correlation between those card types and what
you find on an Assembler listing. That might help explain what ESD and RLD
are doing for you.

One card type you won't find mentioned in the Assembler listing is RLD. This
is the domain of the geek, among whom I have to have counted myself at one
time in my career - fixing up, for example, faults in the CICS
implementation of PL/I or just avoiding a massive reassembly back in the
early 1970s under considerable pressure in little rooms where smoking[2] was
tolerated just outside the machine room as deadlines loomed ...

Chris Mason

[1] For non-English speakers: "It's all Greek to me", unintelligible.

[2] Don't worry, I can smile quietly when the chancellor announces the
latest tax increase on tobacco these days.

----- Original Message ----- 
From: "Johnny Luo" <[EMAIL PROTECTED]>
Newsgroups: bit.listserv.ibm-main
To: <[email protected]>
Sent: Thursday, 13 April, 2006 3:30 PM
Subject: Re: What's the linkage editor really wants?


> Chris,
>
> Thanks a lot.I remember you've helped me so many times in this list and
> thanks again.
>
> You said:
> ' I believe you can pass a load module through the linkage editor as
> many times as you like and I was going to say "you'll do it no harm" but I
> seem to remember you might lose the entry point address so it can be done
> but you'll need to do it with care.'
>
> So,can I draw the conclusion that the most safe way is to use object
module
> as input to linkage editor if possible?
>
> Still another basic question.In the past,I always assumed that there is a
> major
> difference between an object module and a load module,that is,an object
> module
> is not direcly executable.Don't know whether I missed anything.
>
> Also curious about the contents of an object module.I remember that a book
> says
> that compiler converts the source program to its corresponding machine
> instructions.
> Because object module has the format 'f,lrecl=80',so I guess when i browse
> it using ISPF
> editor and use 'hex on',what I see is the source program's machine
> instructions.Am I wrong?
>
>
>
>
>
> --
> Best Regards,
> Johnny Luo

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to