I propose that we submit an enhancement request to the High-Level Assembler
group specifically addressing USING limits as follows -



Add a new suboption to the USING option, which can be specified as
LIMIT(HARD) or LIMIT(SOFT[{WARN|NOWARN}]), with LIMIT(SOFT,WARN) as the
default.



If LIMIT(SOFT) is in effect, then addressing a field outside the range of
the USING statement will be permitted as long as the machine instruction can
address the field.  If LIMIT(SOFT,WARN) is in effect, a new level 4 message
will be issued to make the programmer aware.  If LIMIT(SOFT,NOWARN) is in
effect, then no message will be issued.



If LIMIT(HARD) is in effect, then addressing a field outside the range of
the USING statement will be flagged as an error.



If specified as "USING label-1,register-list", the USING statement will have
an implicit range of label-1 thru label-1 + ((register-count - 1) * 4096) +
4095, or to the end of the CSECT/DSECT/RSECT, whichever is less.



If specified as "USING (label-1,label-2),register-list", the USING statement
will have an explicit range of label-1 thru label-2, where the 1st register
addresses label-1.



If specified as "USING (label-1,label-2,label-3),register-list", the USING
statement will have an explicit range of label-2 thru label-3, where the 1st
register addresses label-1, which must lie between label-2 and label-3.



Please tell me what you think.



John P. Baker

Reply via email to