As I recall the x'81' in the undefined area was a mod by SLAC to the
Linkage Editor. I remember it well. Mainly because IBM had a bunch of DS
instructions in the MVS CVT. When I did a sysgen one time the system
died because the "default" vol of 0x00 in the DS areas were now x'81'.
The NIP logic apparently had a compare against 0 to see if some field
was initialized and bypassed further initialization if non-zero. When
the slack bytes were x'81', MVS died during NIP.

Long ago. This is my best recollection.

On Thu, 2011-10-27 at 12:20 -0700, glen herrmannsfeldt wrote:
> There has been an ongoing discussion on comp.lang.fortran on the
> initialization of variables, including questions about OS/360 and
> its compilers.
> 
> As I understand it, Fortran variables, and DS in assembler, 
> generate holes in the object program (no TXT record for that
> position), and are filled in either by the linkage editor or
> program fetch.
> 
> I believe that early OS/360 versions left whatever happened to
> be there, either in the linkage editor buffer or, for program
> fetch, in that memory location.  At some time later, possibly
> for security reasons, this was changed to initialize to zero,
> or maybe something else (such as X'81').
> 
> The actual question is: when was this change made and which
> programs (compilers, linkage editors, program fetch) were
> changed?
> 
> -- 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
-- 
John McKown
Maranatha! <><

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