> In any case, plain DC 0H (or any other unit) has been supported for a long >time, if not from the beginning of HLASM.
Plain DC 0H is not supported. Plain DS 0H was supported long before z/OS, back in the early S/360 days. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Steve Smith <[email protected]> Sent: Thursday, August 2, 2018 11:06 AM To: [email protected] Subject: Re: EQU * considered harmful Yes, DS "skips" bytes for alignment, and those skipped aren't guaranteed to be anything. But why would you care? In any case, plain DC 0H (or any other unit) has been supported for a long time, if not from the beginning of HLASM. I don't care what's in padding, but DC does pad with 00 text, and more usefully, prints the padding. I often want to eliminate alignment gaps. Also, for those who care, it doesn't break up text generation in the object deck. Note that I don't think EQU * should be used in data areas either, where it is potentially more dangerous. This is the kind of error that motivated me to write this up. sas On Wed, Aug 1, 2018 at 7:15 PM, <[email protected]> wrote: > Gary, > > I discontinued the use of - > > label DS 0H > > in lieu of - > > label DC 0H'0' > > long ago. > > As best as I can recall, there was a bug identified (subsequently > corrected (?)) where the buffer into which code was assembled was not > always initialized to zeroes, and it was possible to have memory locations > skipped over by virtue of alignment issues contain random data. > > The use of " DC " in lieu of " DS " ensures that memory locations skipped > over by virtue of alignment are initialized to zeroes. > > John P. Baker >
