There seem to me to be some separable issues here.
 
The notion that long-displacement instructions should be avoided where they are 
available seems to me to be a very dubious one.  That said, it is clear beyond 
cavil that they cannot be used where they are not available.
 
Resort to the macro language---I have made my view that those who cannot use it 
are in effect crippled as assembly-language programmers clear on many 
occasions---provides simple solutions.
 
There is an OPTABLE assembler option, and there is a system variable symbol, 
&SYSOPT_OPTABLE,  that makes the value of OPTABLE that is in effect for a 
particular assembly available at assembly time.  It is thus easy to use the 
usual conditional-assembly machinery of the HLASM to assemble one set of 
instructions for modern hardware and and another, different set of instructions 
for obsolescent hardware where there is a need to support such obsolescent 
hardware.  I have done this, twice; and on both occasions I found it 
straightforward to do, although it would be disingenuous not to concede that it 
is also tedious to do.  
 
To support USING ranges in assembling long-displacement instructions would be, 
I think, to deprive these instructions of their raison d'ĂȘtre.  
 
It may well be possible to equip the HLASM with machinery for issuing 
suppressible warning messages when such USING-range excursions are detected.  
Whether doing so would constitute a good use of the very limited resources that 
appear to be available for maintaining the assembler is an again separable 
question that is worth examining.  

John Gilmore
Ashland, MA 01721, USA
                                          

Reply via email to