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
