Re: Floating point assembler code

2011-04-07 Thread Don Higgins
All

Here is another alternative for coding and testing all 3 flavors of IBM
mainframe floating point including HFP, BFP, and DFP.  The free open source
zcobol compiler written in structured z390 portable mainframe assembler
supports all the floating point formats using the latest COBOL draft
standard for defining each of the 9 different floating point types in the
data division.  In the procedure division you can code compute statements to
perform any floating point calculations you like mixing and matching any of
the floating point types along with traditional data types.  

You can use if statements to test results, and you can use display
statements to display results of compute statements.  The zcobol compiler
generates HLASM compatible assembler source code with data labels and
paragraph labels so the generated code can be run using z390 emulator on
Windows or Linux or you can take the generated assembler source to mainframe
and assemble and execute it using HLASM.

The zcobol code generator supports the latest z9, z10, and z196 instructions
and uses the very powerful PFPO for conversions between floating point data
types as required.  When you download and install z390 via www.z390.org, it
includes zcobol plus a number of demo and regression test programs such as
the following:

1.  z390\zcobol\test\TESTHFP1.CBL - test hex HFP data type calculations
2.  z390\zcobol\test\TESTBFP1.CBL - test binary BFP data type calculations
3.  z390\zcobol\test\TESTDFP1.CBL - test decimal DFP data type caculations

Once z390 is installed on Windows or Linux, you can run zcobol demos with
the command ZCRT390.BAT from GUI or command line.  You can also run all the
zcobol regression tests including the above 3 with the command ZCRTTEST.BAT.

Note z390 v1.5.03 has new z196 instructions added, but the next release
v1.5.04 will add some missing extended opcodes which are documented in SHARE
presentation but are not in the latest POP.

Don Higgins
d...@higgins.net

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-06 Thread Don Poitras
I gave up TSO TEST for ASMIDF years ago. Give it try.


In article  you wrote:
> On Tue, 5 Apr 2011 15:36:24 -0400, Tony Harminc  
> wrote:

> >
> >I too continue to use TSO TEST for certain things, and indeed it would
> >be a very good thing if they would add just a few little updates:
> >
> >Better floating point support, as you suggest
> >
> >Access register support
> >
> >64-bit GPR support
> >
> >64-bit indirection (the IPCS syntax would be consistent)
> >
> >TEST (and other TSO components) are extra frustrating because however
> >dead-ended TSO may be, there *are* updates going on, but they never
> >seem to take the opportunity to make minor enhancements while they
> >have a module open for other purposes. Yeah, I know - internal
> >politics, time & budget allocation, and so on. But most development
> >labs manage to sneak in a few enhancements under the RADAR from time
> >to time.
> >

> Yes, I've discussed some of those with the TSO guy. The basic problem with 
> all of them seems to be that they hit the TSO TEST register save and restore 
> processing and that is non-trivial to upgrade plus its hard to do piecemeal.

> I've done a fair amount of AMODE(64) testing on TEST and it seems to run 
> AMODE(64) stuff just fine; its just that you can't see the addresses when 
> they're in registers...  :-(

> Writing the code is the easy part; its getting the resources to thoroughly 
> test 
> what you've written that stops you dead in your tracks.

> W. Kevin Kelley -- IBM POK Lab -- z/OS Core Technical Development
>  

> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
sas...@sas.com   (919) 531-5637Cary, NC 27513

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-05 Thread W. Kevin Kelley
On Tue, 5 Apr 2011 15:36:24 -0400, Tony Harminc  
wrote:

>
>I too continue to use TSO TEST for certain things, and indeed it would
>be a very good thing if they would add just a few little updates:
>
>Better floating point support, as you suggest
>
>Access register support
>
>64-bit GPR support
>
>64-bit indirection (the IPCS syntax would be consistent)
>
>TEST (and other TSO components) are extra frustrating because however
>dead-ended TSO may be, there *are* updates going on, but they never
>seem to take the opportunity to make minor enhancements while they
>have a module open for other purposes. Yeah, I know - internal
>politics, time & budget allocation, and so on. But most development
>labs manage to sneak in a few enhancements under the RADAR from time
>to time.
>

Yes, I've discussed some of those with the TSO guy. The basic problem with 
all of them seems to be that they hit the TSO TEST register save and restore 
processing and that is non-trivial to upgrade plus its hard to do piecemeal.

I've done a fair amount of AMODE(64) testing on TEST and it seems to run 
AMODE(64) stuff just fine; its just that you can't see the addresses when 
they're in registers...  :-(

Writing the code is the easy part; its getting the resources to thoroughly test 
what you've written that stops you dead in your tracks.

W. Kevin Kelley -- IBM POK Lab -- z/OS Core Technical Development
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-05 Thread Tony Harminc
On 4 April 2011 21:53, W. Kevin Kelley  wrote:

> The floating point instructions in some ways are easier to use than the 
> integer
> instructions because you don't have to worry about scaling and implied
> decimal points and all of that. The biggest problem with floating point is
> converting numbers to floating point and from floating point (any of the 3
> formats). Until the conversion instructions came along to assist in the 
> effort,
> doing the conversions was pretty arcane. Now its easier, but still work. The
> book "IBM Assembler Language Programming" by Sharon Tuggle (long out of
> print I imagine) does discuss the hexadecimal floating instructions and does
> provide sample programs for converting into and out of hexadecimal floating
> point. I was the reviewer for the floating point section.

Another implementation of conversion routines that makes an
interesting reference is from Cornell University, available in the
VMSHARE archives at
http://vm.marist.edu/~vmshare/read?fn=CONVASM&ft=NOTE&line=1

> I still find TSO TEST useful for testing short segments of Assembler code, and
> one of my frustrations is that it only formats the original 4 floating point
> registers (0, 2, 4 and 6). It hasn't a clue that there are now 16 floating 
> point
> registers or that there are now 3 floating point formats. In general, most
> testing environments give "lip service" to floating point.

I too continue to use TSO TEST for certain things, and indeed it would
be a very good thing if they would add just a few little updates:

Better floating point support, as you suggest

Access register support

64-bit GPR support

64-bit indirection (the IPCS syntax would be consistent)

TEST (and other TSO components) are extra frustrating because however
dead-ended TSO may be, there *are* updates going on, but they never
seem to take the opportunity to make minor enhancements while they
have a module open for other purposes. Yeah, I know - internal
politics, time & budget allocation, and so on. But most development
labs manage to sneak in a few enhancements under the RADAR from time
to time.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-05 Thread Binyamin Dissen
On Mon, 4 Apr 2011 20:53:35 -0500 "W. Kevin Kelley" 
wrote:

:>On Mon, 4 Apr 2011 11:09:29 -0400, O'Brien, David W. (NIH/CIT) [C] 
:> wrote:

:>>Are there any tutorials/samples for writing floating point assembler code. 
We 
:>need to work with the z/VM Performance data and it is stored in short 
floating 
:>point. Been playing in the Principles of Operation but have a bit of a time 
:>wrapping my head around floating point manipulation.

:>The floating point instructions in some ways are easier to use than the 
integer 
:>instructions because you don't have to worry about scaling and implied 
:>decimal points and all of that. The biggest problem with floating point is 
:>converting numbers to floating point and from floating point (any of the 3 
:>formats). Until the conversion instructions came along to assist in the 
effort, 
:>doing the conversions was pretty arcane. Now its easier, but still work. The 
:>book "IBM Assembler Language Programming" by Sharon Tuggle (long out of 
:>print I imagine) does discuss the hexadecimal floating instructions and does 
:>provide sample programs for converting into and out of hexadecimal floating 
:>point. I was the reviewer for the floating point section.

:>I still find TSO TEST useful for testing short segments of Assembler code, 
and 
:>one of my frustrations is that it only formats the original 4 floating point 
:>registers (0, 2, 4 and 6). It hasn't a clue that there are now 16 floating 
point 
:>registers or that there are now 3 floating point formats. In general, most 
:>testing environments give "lip service" to floating point.

Why not suggest to IBM that they enhance it?

:>W. Kevin Kelley -- IBM POK Lab -- z/OS Core Technical Development

Perhaps the office upstairs on the left?

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-04 Thread W. Kevin Kelley
On Mon, 4 Apr 2011 11:09:29 -0400, O'Brien, David W. (NIH/CIT) [C] 
 wrote:

>A colleague asked that the following query be posted:
>
>Are there any tutorials/samples for writing floating point assembler code. We 
need to work with the z/VM Performance data and it is stored in short floating 
point. Been playing in the Principles of Operation but have a bit of a time 
wrapping my head around floating point manipulation.
>

Dave,

The floating point instructions in some ways are easier to use than the integer 
instructions because you don't have to worry about scaling and implied 
decimal points and all of that. The biggest problem with floating point is 
converting numbers to floating point and from floating point (any of the 3 
formats). Until the conversion instructions came along to assist in the effort, 
doing the conversions was pretty arcane. Now its easier, but still work. The 
book "IBM Assembler Language Programming" by Sharon Tuggle (long out of 
print I imagine) does discuss the hexadecimal floating instructions and does 
provide sample programs for converting into and out of hexadecimal floating 
point. I was the reviewer for the floating point section.

I still find TSO TEST useful for testing short segments of Assembler code, and 
one of my frustrations is that it only formats the original 4 floating point 
registers (0, 2, 4 and 6). It hasn't a clue that there are now 16 floating 
point 
registers or that there are now 3 floating point formats. In general, most 
testing environments give "lip service" to floating point.

W. Kevin Kelley -- IBM POK Lab -- z/OS Core Technical Development
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-04 Thread Sam Siegel
On Mon, Apr 4, 2011 at 8:09 AM, O'Brien, David W. (NIH/CIT) [C]
 wrote:
> A colleague asked that the following query be posted:
>
> Are there any tutorials/samples for writing floating point assembler code. We 
> need to work with the z/VM Performance data and it is stored in short 
> floating point. Been playing in the Principles of Operation but have a bit of 
> a time wrapping my head around floating point manipulation.

You may want to try looking at compiler listings for unoptimized (or
optimized) COBOL code using COMP-1 (short float) or COMP-2 (long
float).

By using the various compiler options (to choose between the various
types of floating point numbers) and doing arithmetic and/or moving
floating point number to Binary and/or Packed number you will be able
to generate a quick tutorial for yourself.

The same can be done with the C/C++ compiler other other compilers on
your system.

Sam


>
> Thank You,
> Dave O'Brien
> NIH Contractor
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
> Search the archives at http://bama.ua.edu/archives/ibm-main.html
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: Floating point assembler code

2011-04-04 Thread Steve Comstock

On 4/4/2011 9:09 AM, O'Brien, David W. (NIH/CIT) [C] wrote:

A colleague asked that the following query be posted:

Are there any tutorials/samples for writing floating point assembler code. We 
need to work with the z/VM Performance data and it is stored in short floating 
point. Been playing in the Principles of Operation but have a bit of a time 
wrapping my head around floating point manipulation.

Thank You,
Dave O'Brien
NIH Contractor


You might have better luck posting this on the IBM
Assembler list:

  IBM Mainframe Assembler List 

Although I'm sure there are experienced people here, too.


--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-393-8716
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

* Try our new tool for calculating your Return On Investment
for training dollars at
  http://www.trainersfriend.com/ROI/roi.html

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Floating point assembler code

2011-04-04 Thread O'Brien, David W. (NIH/CIT) [C]
A colleague asked that the following query be posted:

Are there any tutorials/samples for writing floating point assembler code. We 
need to work with the z/VM Performance data and it is stored in short floating 
point. Been playing in the Principles of Operation but have a bit of a time 
wrapping my head around floating point manipulation. 

Thank You,
Dave O'Brien
NIH Contractor

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html