Thomas David Rivers wrote:
I could find nothing in the "Program Management: Advanced Facilities"
doc that indicated an AMODE flag value of B'00' is any different/special
verses B'01' (it is surprising that there are 2 AMODE 24 options there.)
Someone kindly pointed out this documentation from the HLASM Language
Reference about how/when these unnamed/empty PC sections get created:
The unnamed section is an executable section that can be initiated
in one of the following two ways:
- By coding a START, CSECT, RSECT, or COM instruction without a
name entry
- By coding any instruction, other than the START, CSECT, or RSECT
instruction, that initiates the first executable section
An unnamed control section is sometimes referred to as private code.
Private code sections are sometimes difficult to manage with other
system components such as linkers and configuration management tools.
Avoiding their use is recommended. (Zero-length private code sections
are sometimes ignored or discarded by system linkers.)
The keyword here is "sometimes ignored or discarded". In playing around
with this a little, I couldn't get the binder to do anything _but_
ignore it.
If you take, for example, this ASM source:
X EQU 1
FOO CSECT
FOO AMODE 31
FOO RMODE ANY
BR 14
END
you'll get that wonderful zero-length PC section with a flags field
of X'00'. But, the resulting load module (with no AMODE/RMODE
options specified on the binder) is AMODE 31/RMODE ANY.
If you instead do this:
X EQU 1
AMODE 24
FOO CSECT
FOO AMODE 31
FOO RMODE ANY
BR 14
END
you still get the unnamed zero-length PC section, but the flags field
will be X'01' (explicitly indicating AMODE 24.) However, again without
specifying any binder options, the resulting load module is AMODE
31/RMODE ANY.
So - it _seems_ the binder simply ignores these zero-length unnamed sections
with regard to the resulting AMODE/RMODE values for the load module.
The word "sometimes" in the HLASM documentation is, well, less-then-precise.
I'm still looking for some precision on just which linkers/binder do and
don't
ignore the unamed zero-length section, and which attributes may or may-not
be considered.
Just thought I'd throw out what my empircal testing has shown to date; this
is on z/OS 2.4.
- Dave R. -
--
riv...@dignus.com Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN