Edward Jaffe wrote:
<begin snippet>
Long displacements are supported on every machine that implements
z/Architecture. The capability was retrofitted back to the z900 millicode when
z990 came out.
</end snippet>
I have had no recent contact with a z900 shop, and I had not known about this
retrofit.
The question whether to avoid YOPs because of their unavailability on some
machine is thus mooted, as is the related, but distinct, question about USING
ranges.
I am, however, unrepentant about my suggestion that---given the availability of
an appropriate system variable symbol---an analogue of &SYSOPT_OPTABLE---the
macro language provides entirely adequate facilities for generating alternative
instruction streams that are suitable for different z/Architecture machines
and|or operating-system levels.
The question whether generating alternative instruction streams makes testing
more onerous is not an interesting one: of course it does; any alternative
instruction-execution path does so; but this is not a valid objection to doing
so. The continuing use of obsolescent|obsolete hardware|software is costly in
other ways too, as is the [widespread] continuing use of oversafe default
<level> values of ARCH(<level>) in compiled code).
These are more examples of what, borrowing from C. Wright Mills, I have called
crackpot realism here.
John Gilmore Ashland, MA 01721-1817 USA