I have been thinking about this. It is a daunting project. I once set out to
develop a simple list of opcodes with their required minimum hardware level.
I wanted to be able to answer questions of the form "management wants this
product to be able to run on a z9. Can I use AHI?" In fact I think I asked
for help on this list, and promised to share any results. I abandoned the
effort! I decided it was easier just to code AHI and assemble with ZS-5 or
whatever and see if I got an error. That list is obviously just one
component of your product.
        
If you can possibly live with just analyzing LE-enabled programs, and if the
LE "header" has this information, then you should really consider living
with just that. That is a well-defined project. The information might be in
the manual LE Vendor Interfaces.

If you do want to proceed as you described, then you might look for the
source for a disassembler as a starting point. Is there one on the CBT tape?
Much of what a disassembler does is characterizing each byte as either an
opcode or other than an opcode -- and that, plus the "list" of my first
paragraph above, is pretty much your product.

There are at least four "systems" for characterizing hardware levels: the
machine marketing number (z9, z10, etc.), SYSSTATE ARCHLVL, the ARCH()
option supported by the LE-enabled compilers, and the assembler ZS- levels.
If it were me I would embrace ARCH(), but perhaps that is just me. The
problems with the machine marketing numbers that you suggest are (a.) IBM
could change direction at any moment: the next machine might not be the z16
but rather the Whizzer2000; and (b.) the z196 kind of messes up the scheme.
The problem with ARCHLVL is IIRC that it is not granular enough. ARCH() and
ZS- are equivalent; if you prefer one over the other, use it.
        
Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Mike Hochee
Sent: Tuesday, December 8, 2020 6:54 PM
To: [email protected]
Subject: Re: Determining required z/series hardware level - REVISED

Thanks all, yet again, for all the excellent ideas! These IBM- listservs are
a truly fine resource. ('the power of many brains working!')  I will
probably end up doing some flavor of opcode evaluation, and assumed, maybe
erroneously, that opcode evaluation would be simpler/cleaner to implement
than parsing or scanning source (which is available). I generally feel more
comfortable working with machine/product outputs rather than the curveballs
humans sometimes throw.  

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to