Yes, what is needed is something like the OPTABLE but would actually honor the 
ZSxx parameter for the actual instructions supported by a ZSxx machine, not 
what mnemonics HLASM add support for at the time the ZSxx machine was 
introduced.
I want to be able to flag unsupported opcodes when assembling for (say) a Z15, 
but OPTABLE blocks the use of mnemonics introduced years after the actual 
opcode was introduced e.g. LFI, LOCRO, etc.

Robert Ngan
DXC Luxoft

-----Original Message-----
From: IBM Mainframe Assembler List <[email protected]> On Behalf 
Of Peter Relson
Sent: Saturday, October 25, 2025 06:47
To: [email protected]
Subject: Re: LOAD ON CONDITION

The z/OS Planning for Installation book has a table that describes what new 
features are required for a given architecture level set (i.e., may be assumed, 
except for the unfortunate case where a function is subsequently withdrawn 
which does not happen often).

Generally, the features are a subset of the features made available for a given 
machine.Colloquially, we may think of an architecture level set to a z14 or z15 
or z16 or whatever but that is imprecise (although it does give a decent level 
of understanding). The ALS is not to a machine, it is to a set of 
functions.Thus, just because a machine introduces function X and that machine 
satisfies the ALS requirements, that does not mean that you may assume that X 
is available for your use when running the z/OS release with that ALS on that 
machine.

There was definitely thought of an appendix in POp that shows in which machine 
generation a function was introduced. I don't know if that thought was 
implemented.  While unpleasant, you can look at the instruction's definition, 
see the feature without which you get an operation exception, and try to work 
out in which machine that feature was introduced (or if it's part of an ALS, 
the planning for installation book might help).  It's quite possible that 
something nicer already exists that I'm not remembering.

Peter Relson


Reply via email to