Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-07 Thread Charles Mills
Thanks. Great suggestion. I will do that when I am done. I am mentally
committed to completing this, but it won't be this week. (Gotta get the talk
ready for SHARE!) I have all of the tools and methodology I think. I am a
Wikipedia member and have done edits before.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Timothy Sipples
Sent: Tuesday, March 06, 2012 10:44 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

A suggestion: if there are some volunteers to collect and organize the
information, how about putting it on Wikipedia where it can be maintained
and publicly accessed easily going forward, together with links to other
references? Wikipedia is available here:

http://en.wikipedia.org

Perhaps the article should be entitled something like IBM mainframe models
with appropriate redirect aliases and links from existing, related articles.



Timothy Sipples
Resident Enterprise Architect (Based in Singapore)
E-Mail: timothy.sipp...@us.ibm.com

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@bama.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Charles Mills
This was bugging me so I got a start on a document. I have a table now (with
some question marks in it) that correlates Model numbers, the HLASM
MACHINE() option, and the XL C/C++ ARCH() option, and also the Enterprise
PL/I option ARCH() which (believe it or not!!!) is apparently exactly
equivalent to that of C/C++.

I had the bright idea that I could run assemblies with MACHINE(xxx,LIST) at
the various levels and then use ISPF 3.12 to determine the differences as
the level changed, but HLASM prints the opcode list in a three-column
format, so nearly every line changes from one level to the next. I have not
yet come up with an approach other than using some tool to make each list
into a single column -- but that's more work than I wanted to take on this
morning.

Charles
-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Charles Mills
Sent: Monday, March 05, 2012 7:02 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

Thanks. Good list. IBM Canada does some cool stuff. 

Sheesh! Add G-levels to MACHINE() and ARCH() levels.

All the information is out there. I could do a document that answered these
questions if I didn't already have a day job.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Farley, Peter x23353
BTDT already.  Try the attached Rexx (genoptbl.txt) (at least I hope it gets 
attached -- I will paste it into a new reply if it doesn't make it to the list).

Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
 Behalf Of Charles Mills
 Sent: Tuesday, March 06, 2012 10:04 AM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Good source for relationship of opcodes, models, MACHINE()
 and ARCH()
 
 This was bugging me so I got a start on a document. I have a table now
 (with some question marks in it) that correlates Model numbers, the HLASM
 MACHINE() option, and the XL C/C++ ARCH() option, and also the Enterprise
 PL/I option ARCH() which (believe it or not!!!) is apparently exactly
 equivalent to that of C/C++.
 
 I had the bright idea that I could run assemblies with MACHINE(xxx,LIST)
 at the various levels and then use ISPF 3.12 to determine the differences
 as the level changed, but HLASM prints the opcode list in a three-column
 format, so nearly every line changes from one level to the next. I have
 not yet come up with an approach other than using some tool to make each
 list into a single column -- but that's more work than I wanted to take on
 this morning.
 
 Charles
 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
 Behalf Of Charles Mills
 Sent: Monday, March 05, 2012 7:02 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Good source for relationship of opcodes, models, MACHINE()
 and ARCH()
 
 Thanks. Good list. IBM Canada does some cool stuff.
 
 Sheesh! Add G-levels to MACHINE() and ARCH() levels.
 
 All the information is out there. I could do a document that answered
 these questions if I didn't already have a day job.
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN/* REXX */
/* Procedure to read HLASM OPTABLE(type,LIST) output listing */
/* and generate a table of opcodes in a single column*/
/* with opcodes also converted to decimal for sorting needs  */
/*   */
/* Input from SYSUT1 and output to SYSUT2*/
arg dbg .
if ((dbg = '') | (verify(dbg,'0123456789')  0)) then dbg = 0
else dbg = dbg + 0
address TSO
select
   when dbg = 1 then trace r
   when dbg  1 then trace i
   otherwise trace o
end
/* Read in the entire OPTABLE listing */
'EXECIO * DISKR SYSUT1 (STEM LINE.'
if RC  0 then LINE.0 = 0
'EXECIO 0 DISKR SYSUT1 (FINIS'
if dbg  0 then do
   say 'GENOPTBL: LINE.0='LINE.0
end
intbl = 0
INST. = ''
INST.0 = 0
do lx = 2 to LINE.0
   wd1 = word(LINE.lx, 1)
   pfl = left(LINE.lx, 1)
   if (intbl = 0)  (wd1 = '0Mnemonic') then do
  intbl = 1
  iterate lx
   end
   if (pfl = '1')  ,
  (pos('Operation Code Table Contents', LINE.lx) = 0) then leave lx
   if (intbl = 1)  (pfl = '1') then do
  intbl = 0
  iterate lx
   end
   if (intbl = 0) then iterate lx
   if (pfl = '0') then LINE.lx = ' 'substr(LINE.lx, 2)
   do lc = 2 to 122 by 40
  icolm = substr(LINE.lx, lc, 40)
  icw = words(icolm)
  cw2 = word(icolm, 2)
  if (icw = 0) | (cw2 = 'HLASM') then iterate lc
  cw3 = word(icolm, 3)
  op1d = right(x2d(left(cw3, 2)), 3, '0')
  if length(cw3) = 4 then do
 op2d1 = substr(cw3, 3, 1)
 if op2d1 = '.' then op2d1 = '  '
 else op2d1 = right(x2d(op2d1), 2, '0')
 op2d2 = substr(cw3, 4, 1)
 if op2d2 = '.' then op2d2 = '  '
 else op2d2 = right(x2d(op2d2), 2, '0')
  end
  else do
 op2d1 = '  '
 op2d2 = '  '
  end
  icolm = substr(icolm, 1, 19) op1d op2d1 op2d2 substr(icolm, 20)
  ix = INST.0 + 1
  INST.ix = ' 'icolm
  INST.0 = ix
   end
end
/* Write the 1-column instruction lines to output */
'EXECIO' INST.0 'DISKW SYSUT2 (STEM INST.'
'EXECIO 0 DISKW SYSUT2 (FINIS'
exit

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Charles Mills
Got it. You da best! I will get back on this at some point soon.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Farley, Peter x23353
Sent: Tuesday, March 06, 2012 7:38 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

BTDT already.  Try the attached Rexx (genoptbl.txt) (at least I hope it gets
attached -- I will paste it into a new reply if it doesn't make it to the
list).

Peter

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On 
 Behalf Of Charles Mills
 Sent: Tuesday, March 06, 2012 10:04 AM
 To: IBM-MAIN@bama.ua.edu
 Subject: Re: Good source for relationship of opcodes, models, 
 MACHINE() and ARCH()
 
 This was bugging me so I got a start on a document. I have a table now 
 (with some question marks in it) that correlates Model numbers, the 
 HLASM
 MACHINE() option, and the XL C/C++ ARCH() option, and also the 
 Enterprise PL/I option ARCH() which (believe it or not!!!) is 
 apparently exactly equivalent to that of C/C++.
 
 I had the bright idea that I could run assemblies with 
 MACHINE(xxx,LIST) at the various levels and then use ISPF 3.12 to 
 determine the differences as the level changed, but HLASM prints the 
 opcode list in a three-column format, so nearly every line changes 
 from one level to the next. I have not yet come up with an approach 
 other than using some tool to make each list into a single column -- 
 but that's more work than I wanted to take on this morning.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread John Gilmore
Charles Mills wrote:

begin extract
. . .  that correlates Model numbers, the HLASM  MACHINE() option,
and the XL C/C++ ARCH() option, and also the Enterprise PL/I option
ARCH() which (believe it or not!!!) is apparently exactly equivalent
to that of C/C++.
/end extract

It is not a secret that XL C/C++ and Enterprise PL/I share the same
optimizer and code generator; and it is thus unsurprising that their
ARCH levels are the same.

Crowded lines sometimes result from defaulting to the option
LIST(121)?  The option LIST(133) should [almost] always be coded
explicitly.

John Gilmore, Ashland, MA 01721 - USA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Tony Harminc
On 6 March 2012 11:25, John Gilmore johnwgilmore0...@gmail.com wrote:

 It is not a secret that XL C/C++ and Enterprise PL/I share the same
 optimizer and code generator; and it is thus unsurprising that their
 ARCH levels are the same.

Which leads one to wonder if a METAL option for PL/I exists, or could
reasonably exist.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread John Gilmore
I should guess that the question whether there will ever be a METAL
PL/I is more IBM-political than technical.

--jg

On 3/6/12, Tony Harminc t...@harminc.net wrote:
 On 6 March 2012 11:25, John Gilmore johnwgilmore0...@gmail.com wrote:

 It is not a secret that XL C/C++ and Enterprise PL/I share the same
 optimizer and code generator; and it is thus unsurprising that their
 ARCH levels are the same.

 Which leads one to wonder if a METAL option for PL/I exists, or could
 reasonably exist.

 Tony H.

 --
 For IBM-MAIN subscribe / signoff / archive access instructions,
 send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Charles Mills
Sung to the tune of http://www.youtube.com/watch?v=EvGJvzwKqg0 

Don't hijack my thread, my friend, ...

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Tony Harminc
Sent: Tuesday, March 06, 2012 9:32 AM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

On 6 March 2012 11:25, John Gilmore johnwgilmore0...@gmail.com wrote:

 It is not a secret that XL C/C++ and Enterprise PL/I share the same
 optimizer and code generator; and it is thus unsurprising that their
 ARCH levels are the same.

Which leads one to wonder if a METAL option for PL/I exists, or could
reasonably exist.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread John Gilmore
I don't know whether Tony is the notional culprit or I am, but I can
very easily be induced to shut up/avoid your topics, and I shall now
do so.

John Gilmore, Ashland, MA 01721 - USA

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-06 Thread Timothy Sipples
A suggestion: if there are some volunteers to collect and organize the
information, how about putting it on Wikipedia where it can be maintained
and publicly accessed easily going forward, together with links to other
references? Wikipedia is available here:

http://en.wikipedia.org

Perhaps the article should be entitled something like IBM mainframe
models with appropriate redirect aliases and links from existing, related
articles.


Timothy Sipples
Resident Enterprise Architect (Based in Singapore)
E-Mail: timothy.sipp...@us.ibm.com

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-05 Thread Mike Stayton
Another list of mainframe machines

http://www.vm.ibm.com/devpages/jelliott/cmosproc.html

Mike Stayton

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-05 Thread Charles Mills
Thanks. Good list. IBM Canada does some cool stuff. 

Sheesh! Add G-levels to MACHINE() and ARCH() levels.

All the information is out there. I could do a document that answered these
questions if I didn't already have a day job.

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Mike Stayton
Sent: Monday, March 05, 2012 4:24 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

Another list of mainframe machines

http://www.vm.ibm.com/devpages/jelliott/cmosproc.html

Mike Stayton

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@bama.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-04 Thread Charles Mills
Thanks. Helpful info here: http://www.tachyonsoft.com/inst390o.htm 

If I had nothing better to do I would do a Web page with two tables:

1. Every mnemonic and the HLASM MACHINE() level at which it became
available. Source would be HLASM OPTABLE(LIST).

2. Every model number and the corresponding HLASM MACHINE() and C/C++ ARCH()
level. The information is available in the manuals, but it is not organized
in a way that works well for me (FWIW).

The question I am repeatedly trying to answer is my customer has a model
xxx -- dare I use mnemonic ABC, and/or how do I set MACHINE() to make sure I
stay out of trouble?

Charles

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf
Of Farley, Peter x23353
Sent: Thursday, March 01, 2012 2:25 PM
To: IBM-MAIN@bama.ua.edu
Subject: Re: Good source for relationship of opcodes, models, MACHINE() and
ARCH()

Charles,

The Summary of Changes in xxx Edition sections in the Preface of the
z/Arch PoOP each list pretty comprehensively which facilities or
instruction enhancements were documented in each edition of the PoOP, and
each edition corresponds reasonably closely to a particular generation of
processor.

The descriptions of each of the added facilities documented elsewhere in
the PoOP usually also includes a table of which instructions were added or
enhanced, or at least a listing of those instructions.

Below I have pasted a list which I prepared for my own curiosity (admittedly
incomplete and possibly incorrect) of which edition of the PoOP corresponds
to which z/Arch machine.

HTH

Peter

Ninth Edition   SA22-7832-08z196 (2817)

Eighth Edition  SA22-7832-07z10 (2097)

Seventh Edition SA22-7832-06z10 (2097)

Sixth Edition   SA22-7832-05z9 BC (2096), z9 EC (2094)

Fifth Edition   SA22-7832-04z890 (2086), z990 (2084)

Fourth Edition  SA22-7832-03???

Third Edition   SA22-7832-02???

Second Edition  SA22-7832-01z800 (2066), z900 (2064)

First Edition   SA22-7832-00???

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-01 Thread Charles Mills
Is there a single good source for the relationship among specific
mnemonics/opcodes, model numbers, the HLASM option MACHINE(), and the C/C++
option ARCH()?

For example, STCKF is documented as The store-clock-fast facility may be
available on a model implementing z/Architecture a statement somewhat
wanting in actionable precision.

Charles 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN


Re: Good source for relationship of opcodes, models, MACHINE() and ARCH()

2012-03-01 Thread Farley, Peter x23353
Charles,

The Summary of Changes in xxx Edition sections in the Preface of the z/Arch 
PoOP each list pretty comprehensively which facilities or instruction 
enhancements were documented in each edition of the PoOP, and each edition 
corresponds reasonably closely to a particular generation of processor.

The descriptions of each of the added facilities documented elsewhere in the 
PoOP usually also includes a table of which instructions were added or 
enhanced, or at least a listing of those instructions.

Below I have pasted a list which I prepared for my own curiosity (admittedly 
incomplete and possibly incorrect) of which edition of the PoOP corresponds to 
which z/Arch machine.

HTH

Peter

Ninth Edition   SA22-7832-08z196 (2817)

Eighth Edition  SA22-7832-07z10 (2097)

Seventh Edition SA22-7832-06z10 (2097)

Sixth Edition   SA22-7832-05z9 BC (2096), z9 EC (2094)

Fifth Edition   SA22-7832-04z890 (2086), z990 (2084)

Fourth Edition  SA22-7832-03???

Third Edition   SA22-7832-02???

Second Edition  SA22-7832-01z800 (2066), z900 (2064)

First Edition   SA22-7832-00???

 -Original Message-
 From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On
 Behalf Of Charles Mills
 Sent: Thursday, March 01, 2012 5:03 PM
 To: IBM-MAIN@bama.ua.edu
 Subject: Good source for relationship of opcodes, models, MACHINE() and
 ARCH()
 
 Is there a single good source for the relationship among specific
 mnemonics/opcodes, model numbers, the HLASM option MACHINE(), and the
 C/C++
 option ARCH()?
 
 For example, STCKF is documented as The store-clock-fast facility may be
 available on a model implementing z/Architecture a statement somewhat
 wanting in actionable precision.
--


This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN