Continuing, DC generates object code TXT data, and DS doesn't.
That requires a new card for each change.  If you write:

X   CSECT
    DC X'1'
    DS X
    DC X'1'
    DS X
    DC X'1'
    DS X
    DC X'1'
    DS X
    DC X'1'
    DS X
    DC X'1'
    DS X
    DC X'1'
    END

Then the assembler should generate seven records (cards) for the
object program, with only one byte of data on each of them.

When the linkage editor processes this, it can either write out
separate records for each, or 'fill in the holes' and combine
it all into one record.  That latter is more efficient, and, as
I understand it, is what the linkage editor does and always did.
(or maybe not always.)  The holes can be filled with a specific
value, or whatever was left in the buffer.

When loaded by program fetch, each load module record is loaded
at the appropriate address, possibly with holes between the records.
The holes between load module records at program fetch can keep what
was previously stored there, possibly from a previous job, or
a previous step in the same job, or cleared prior to reading in
the load module.

Has this changed from OS/360 version 1 up until current z/OS?

-- glen

----------------------------------------------------------------------
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