Re: IBM’s first tape drive turns 60 (makes you feel old!)

2012-05-22 Thread Don Higgins
All

It reminds me of when I saw my first tape sort running on what I think were IBM 
729 drives at Florida Power around 1970.  I knew I had to learn how that 
worked.  And now there is an open source sort merge utility included with z390. 
 It is written in structured mainframe macro assembler and runs on Windows, 
Linux, and Apple OSX using J2SE 6.0+ host.  But it is just no fun to watch 
anymore as it uses hard drive work areas!

Don Higgins
d...@higgins.net
www.z390.org 

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


Re: Macro Assembler Question

2012-04-01 Thread Don Higgins
Here short example of how to use conditional macro assembler to handle an 
arbitary number of macro parameters of the form X=Y where X is the variable 
name without  and Y is the character value.  The technique is to omit the 
variable names from the explicit keyword parameters for the macro and then 
process all the positional parms to find the ones of the form X=Y. The 
technigue also uses created macro variables support of of the form (...) to 
create the macro variables from the positional parms.  Here is z390 source 
assembler TESTPN.MLC assembled with command ASM TESTPN:

 MACRO
 TESTPN 
 :I SETA 1
 AWHILE (I LE N'SYSLIST)
 :PNV SETC 'SYSLIST(I)'
 :J SETA ('PNV' FIND '=')
 AIF (J GT 0)
 :PN SETC 'PNV'(1,J-1)
 :PV SETC 'PNV'(J+1,*)
 :(PN) SETC 'PV'
 AEND
 :I SETA I+1
 AEND
 MNOTE 'P1=P1'
 MNOTE 'P10=P10'
 MNOTE 'P1000=P1000'
 MEND
 TESTPN P1=V1,P10=V10,P1000=V1000
 END

Here is the z390 TESTPN.PRN output assembler listing for the avove source code:

 00(1/1)1  MACRO
00(1/2)2  TESTPN
00(1/3)3 I SETA 1
00(1/4)4 .AWH_1_T ANOP
00(1/4)5  AIF (NOT(I LE 
N'SYSLIST)).AWH_1_E
00(1/5)6 PNV SETC 'SYSLIST(I)'
00(1/6)7 J SETA ('PNV' FIND '=')
00(1/7)8  AIF (NOT(J GT 0)).AIF_1_1
00(1/8)9 PN SETC 'PNV'(1,J-1)
00   (1/9)10 PV SETC 'PNV'(J+1,*)
00  (1/10)11 (PN) SETC 'PV'
00  (1/11)12 .AIF_1_1 ANOP
00  (1/12)13 I SETA I+1
00  (1/13)14  AGO .AWH_1_T
00  (1/13)15 .AWH_1_E ANOP
00  (1/14)16  MNOTE 'P1=P1'
00  (1/15)17  MNOTE 'P10=P10'
00  (1/16)18  MNOTE 
'P1000=P1000'
00  (1/17)19  MEND
00  (1/18)20  TESTPN 
P1=V1,P10=V10,P1000=V1000
00  (1/14)21+ MNOTE 'P1=V1'
00  (1/15)22+ MNOTE 'P10=V10'
00  (1/16)23+ MNOTE 
'P1000=V1000'
00  (1/19)25  END 

Note the z390 structured conditional macro assembler code used to make the 
example more readable is expanded into standard HLASM macro assembler which is 
listed as inline macro in the output.

Hope this helps.  This discussion probably does belong on the ASM390 list.

Don Higgins
d...@higgins.net 

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


Re: Grace Hopper Stories!! (was RE: Pre-Friday fun: Halon dumps and POK Resets)

2012-03-24 Thread Don Higgins
Your question brings back fond memories.  I once was president of the Tampa Bay 
Florida Chapter of Association of Computing Machinery and my wife Charlotte and 
I picked up Grace Hopper at the Tampa airport and brought her to the dinner 
meeting to speak.  She did talk about the nano-second wire but more importantly 
talked about the need for industry standard languages such as COBOL and 
standard communications protocols such as TCP/IP and HTML which evolved out of 
the DARPA military network.  Hopper was a leader with vision:

http://en.wikipedia.org/wiki/Grace_Hopper 

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


Re: Facebook for professional usage (was Re: Recent maintenance for z/XDC)

2011-05-28 Thread Don Higgins
Martin, all

I am pleased to hear that IBM is embracing social networks including 
Facebook, LinkedIn, and Twitter.  Companies that want to connect with their 
customers and attract bright young college grads need to get onboard.  
College grads today assume everyone is on Facebook.  When asked they will 
tell you that it is better than email because it supports multiple channels of 
communication with multi-media including not only text but also pictures, 
video, sound, etc.  

I joined Facebook in 2009 at the request of my daughters.  It is a great way 
to get and stay in touch with family, friends, neighbors, work associates, 
customers, etc.  All you need to give Facebook is an email to verify plus a 
password.  You can change settings to turn off as much of the email 
notifications as you want.  I get a lot more email scam posts per week than I 
do Facebook scam posts.  You can choose how much you want to share and 
with whom you share it.  I usally update my own status only once a week or 
so, I share events I think other friends and associates might be interested 
like 
a new www.z390.org release or Rotary or family event.  I scan wall postings 
from friends once a day and make a few comments if appropriate, and that is 
part of the magic of Facebook where you get to know friends better.  At least 
600 million people think so.  You can find me here:

http://www.facebook.com/don.higgins

This week I returned from Rotary International convention in New Orleans 
where one of the highlights was a speech by Bill Gates on the eradication of 
polio.  Bill has made that the number one priority of his foundation and has 
contributed over $350 million dollars to it.  Rotary has contribled over a 
billion 
dollars and we are now down to a few hundred remaining cases on only 4 
countries in the world.  Rotary and its 1.2 million business leaders have 
adopted social networks and a useful tool for building friendships and 
promoting service above self.  You can find more on Bill Gates talk here:

www.rotary.org/en/MediaAndNews/News/Pages/110524_IC11_plenthree.aspx

And you can find over 120,000 fans of Rotary International here on Facebook:

http://www.facebook.com/rotary

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: Hercules, friend or foe?

2011-04-29 Thread Don Higgins
All

Another tool you might consider is the z390 Portable Mainframe Assembler 
which is open source and runs on Windows and Linux.  It provides an HLASM 
compatible mainframe assembler, linker, and emulator including problem state 
support for 64 bit registers, HFP, BFP, DFP, BSAM, QSAM, and VSAM.  It also 
includes a zCOBOL compiler that generates HLASM source code with data 
labels and paragraph labels and supports HFP, BFP, and DFP.  It also includes 
zCICS transaction processor that runs on any TCP/IP network with local and 
remote TN3270 terminals.  The entire package is written in J2SE Java which is 
open source and does not require any other software.  Visit www.z390.org to 
learn more and download InstallShield executable for Windows for all of the 
above including GUI and command line interfaces.  There is also file image 
download for Linux installs.

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-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: Retired

2011-04-04 Thread Don Higgins
All

Best wishes on retirement!  Old habits are hard to break, but their are so 
many new and exciting opportunities to learn new skills.  At 66 I've retired 
from 25 years at Florida Power and 9 years at Micro Focus rolling IBM 
mainframe assembler solutions.  Now I still have consulting company and still 
enjoy supporting open source free z390 Portable Mainframe Assembler and 
Emulator that you can install on Windows or Linux so you can continue to roll 
HLASM compatible mainframe assembler.  You don't ever want to forget those 
1200+ opcodes including new z196 opcodes. G

But I find myself spending more time on new exciting opportunities like reading 
WSJ on my Kindle any time anywhere, keeping up with family and friends on 
Facebook, LinkedIn, and Twitter social networks, enjoying new Rotarians On 
Social Networks Fellowship (ROSNF www.rosnf.net).  I am blessed with 2 
daughters and 4 grandchildren which I say YES to all the time.  This week my 
granddaughter Lily showed me how to use new app to make cupcakes on her 
mom's iPhone.  And my daughter showed me new iPhone app to identify all the 
stars and constalations by just pointing iPhone at region of night sky.  It's 
really exciting to think about what my grandchildren will be doing with 
technology by the time they get to college.  My first college computer course 
was FORTRAN using punched cards on an IBM 1410.  When I got back my first 
compile and execution listing, I knew I had to learn what it all meant.

Don Higgins
d...@higgins.net
www.don-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: ASSIST assembler language

2011-03-18 Thread Don Higgins
John

At the request of NIU, I added the ASSIST extended instructions to the z390
portable mainframe assembler and emulator which runs on Windows and Linux. 
There is online documentation summary of the ASSIST instructions added here:

http://www.z390.org/z390_ASSIST_Support.htm 

The z390 package is open source written in J2SE Java for portability.  The
mainframe assembler support is designed to be HLASM compatible.  z390 can be
downloaded and installed using InstallShield for Windows 7, Vista, or XP. 
There is also flat file zip download for installation on Linux systems.

I am planning to present another update on z390, zCOBOL, and zCICS support
at the SHARE conference in Orlando, August 7-12, 2011.

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: History of Hard-coded Offsets

2010-07-22 Thread Don Higgins
I think the first stored program computer was programmed in binary with hard 
coded offsets, and programmers have continued doing it ever since. 

There was a book called Psychology of Computer Programming that talked 
about Magic numbers which almost all programs have where the reader or 
maintenance programmer must study the context to try and determine the 
intent of the original programmer and then determine the side affects of any 
changes.  Popular magic numbers include 0, 1, 10, 16, 72, 80, 100, 256, etc.

One interesting story in the book was about researching why a file maintenace 
COBOL program has code like  IF RECORD(43:1) = 'C' THEN MOVE '1' TO 
RECORD(43:1).  This statement immediately followed read of 80 byte record.  
Upon further research with older staff members, it turns out there was an IBM 
026 keypunch in the data entry department that had a sticky key in column 
43 causing 1 to end up as A character.  Rather than repunch hundreds of 
cards, the programmer called in to help resolve the file maintenance edit 
errors, decided the quick and dirty solution was to add the above statment to 
the file maintenace program.

Quick and dirty programming is a good thing when it gets a required job with a 
fixed deadline done ontime.  The bad part comes later when the dirty code is 
not adequately documented or simply thrown away.  I've seen a lot of quick 
and dirty code that would have been a lot cheaper to throw away and rewrite 
in proper form with adequate documentation than to try and maintain over the 
years.

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: A good Mainframe(ZOS) oriented JAVA discussion group

2010-06-28 Thread Don Higgins
Kenneth
I would also be interested in any other z/OS Java discussion groups.
The one group I can refer you to is the z...@yahoogroups.com here:

http://tech.groups.yahoo.com/group/z390/

This group has over 400 IBM mainframe system programmers on it following 
evolution of z390 Portable Mainframe Assembler and Emulator which is 
written entirely in J2SE Java.  It has been tested on Windows and Linux 
and requires J2SE runtime 1.6+.  I am currently running it on J2SE 1.6.0_20
on both Windows Vista and Ubuntu LTS Linux.

Most of the discussion is about HLASM and z/OS emulation support of 
services such as VSAM, CICS, DB2 etc, but occasionally we jump into
discussions about the Java code in pz390.java which emulates all the 
problem state instructions in the POP manual.  The mz390.java and 
az390.java macro assembler supports all the instructions in the POP 
including supervisor state instructions plus a set of commonly used MVS/zOS
system service macros which map to z390 svc calls to java svc routines 
such as TIME, GETMAIN, FREEMAIN, OPEN, CLOSE, READ, WRITE, GET, PUT, etc.

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: 360 programs on a z/10

2009-12-19 Thread Don Higgins
All

ISAM was used at Florida Power for the customer master file before VSAM 
before DB2.  Assembler subroutines were called by COBOL to access the file 
either sequentially or randomly and with or without update.  The initial reason 
for using assembler was lack of variable length in COBOL initially, but it was 
a 
useful choice as it isolated the applicaiton from both software and hardware 
changes such as moving from data cell to pizza ovens etc.  Interestingly the 
DB2 version implemented in 1995 used assembler compression/decompression 
to reduce network traffic by 50%

Anyway I remember studying the channel programs used by ISAM and 
although they were designed to maximize I/O speed, they were severely 
hampered by the lack of VSAM CA/CI indexing which resulted in exceedly long 
sequential chains of overflow records which could runs for hours if the file 
was 
not unloaded and reloaded to restore evenly distributed overflow track space.

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: Antwort: How to access FIELDS in a RECORD using Java? (was:RE: How do __you__ read non-DB non-XML files in Java?)

2009-11-21 Thread Don Higgins
I think the simplest answer to the question is that you can use the NIO 
random access file methods to read or write any file using 64 bit XRBA 
addressing with any length you want.  Once you have read a block of data 
from a file such as an SMF record you can wrap the block in a buffer and then 
use methods to retrieve any particular field you want addressed by offset and 
field type such as byte, short, integer, long, BFP floating point, text string, 
etc.

For lots of examples including emulation of QSAM, BSAM, BDAM, and VSAM file 
access you can check out open source z390 HLASM compatible assembler, 
linker, and emulator written entirely in J2SE Java on www.z390.org.  All the 
VSAM java code is in vz390.java source module and all the other access 
method code is in sz390.java.  You will find code that maps DCB's and ACB's 
and fetches byte flags, full word addresses, and text fields for DDNAME's etc.

For more examples of heavy duty field manipulation on data fetched from load 
module file (executable z9/z10 mainframe instructions) and memory data fields 
see pz390.java which handles all the instructions including HFP, BFP, and DFP 
short, long, and extended among other things.  

Once you download and install z390 v1.5.01 using InstallShield for Windows or 
flat file zip for Linux, you will find all the java sources including the above 
in 
the z390\src directory.  The executable class files are all included in 
z390.jar 
which can be invoked from GUI or command line. For example you can 
assemble, link, and execute simple WTO 'Hello World' demo with the command:

asmlg demo\DEMO

which reads demo\DEMO.MLC and generates and executes demo\DEMO.390 
with display of the WTO message on console and on the log file 
demo.DEMO.LOG.  There are also lots of file access regression tests included 
in the optional RT.ZIP download file.  Another example is the z390
\linklib\REPRO.MLC utility to load and unload VSAM ESDS, RRDS, or KSDS files.

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: COBOL is an obvious cash cow to be milked to death was Re: Does Ent. COBOL 4.1 generate 64-bit binary arithmetic

2009-10-13 Thread Don Higgins
Tom

If you and your IBM management really believe COBOL is the language of the 
future, it seems to me that your development and support team, needs to 
find a way to allocate some finite portion of your available resources to 
constantly work on making your COBOL compiler more efficient using latest 
available technology.  If you advertised at SHARE what you have done with 
those resrouces and that you are constantly working on performance 
improvement as well as functional improvement.  Then I think you would get 
more feedback on what the performance improvement priorities are, and 
the cash cow perspective would deminish. 

It is easy to allow new function development to soak up 100% of the resouces 
and it may maximize current earnings, but over time I believe that approach 
will have negative long term effects.

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: Does Ent. COBOL 4.1 generate 64-bit binary arithmetic instructions?

2009-10-09 Thread Don Higgins
Here is example of what is possible as far as generating 64 z9/z10 
instructions, extended HFP, BFP, and DFP floating point, and 31 digit packed 
and zoned decimal.  With NOTRUNC, a 64 bit add for 1 byte literals can be 
done with single AGSI instruction as shown below.  The use of 64 bit 
arithmetic instructions is a separate issue from 64 bit addressing.  The 
example below was run in 31 bit address mode. 


The following COBOL program was compiled using open source zcobol compiler 
which generates HLASM source assembler with labels.  Then the zcobol source 
execution trace was run to show both the instruction operand hex values and 
the corresponding source code:

   IDENTIFICATION DIVISION.
   PROGRAM-ID.TESTZC1.
   AUTHOR.DON HIGGINS.
   ENVIRONMENT DIVISION.
   DATA DIVISION.
   WORKING-STORAGE SECTION.
   77  INT64  PIC S9(18) COMP   
  VALUE 123456789012345678
   77  INT128 PIC S9(39) COMP  
  VALUE 123456789012345678901234567890123456789.
   77  HFP-EXT FLOAT-HEX-30 
   VALUE 123456789012345678901234567890.
   77  BFP-EXT FLOAT-BINARY-34
   VALUE 12345678901234567890123456789012301234.
   77  DFP-EXT FLOAT-DECIMAL-34
   VALUE 12345678901234567890123456789012301234.
   77 PD31COMP-3 PIC S9(31) 
  VALUE 1234567890123456789012345678901.
   77 ZD31   PIC S9(31) 
  VALUE 1234567890123456789012345678901.
   PROCEDURE DIVISION.
   ADD 1 TO INT64
   ADD 1 TO INT128
   ADD 1 TO HFP-EXT
   ADD 1 TO BFP-EXT
   ADD 1 TO DFP-EXT
   ADD 1 TO PD31   
   ADD 1 TO ZD31
   STOP RUN.

Here is the resulting ZPARTRS source execution trace:

 CBL=TESTZC1PROCEDURE DIVISION ; ADD   1,TO,INT64

 800FFDAC 2 EB01D058007A  AGSI  S2(000FFF28)=01B69B4BA630F34E I2=01
 TESTZC1  DC TESTZC1  AGSI  INT64,1

 CBL=TESTZC1  23 ADD   1,TO,INT128

 800FFDB2 2 EB01D064  LMG   R0=F4F4F4F40130 
R1=F4F4F4F4000FFED0 S2(000FFF30)=5CE0E9A56015FEC5
 TESTZC1  E2  LMG  ZC_R0,ZC_R1,INT128
 800FFDB8 2 C0E00068  LARL  RE=800FFD48 S2(000FFE88)
 TESTZC1  E8  LARL ZC_R14,=FL16'1'
 800FFDBE 2 E31E0008000A  ALG   R1=AADFA328AE398115 S2(000FFE90)
=0001
 TESTZC1  EE  ALG  ZC_R1,8(ZC_R14)
 800FFDC4 1 E30E0088  ALCG  R0=5CE0E9A56015FEC5 S2(000FFE88)
=
 TESTZC1  F4  ALCG ZC_R0,0(ZC_R14)
 800FFDCA 1 EB01D0600024  STMG  R0=5CE0E9A56015FEC5 
R1=AADFA328AE398116 S2(000FFF30)=5CE0E9A56015FEC5
 TESTZC1  FA  STMG ZC_R0,ZC_R1,INT128

 CBL=TESTZC1  24 ADD   1,TO,HFP_EXT

 800FFDD0 1 6800D070  LDF0=F4F4F4F4F4F4F4F4 S2(000FFF40)
=5918EE90FF6C373E
 TESTZC1  000100  LDZC_F0,HFP_EXT
 800FFDD4 1 6820D078  LDF2=F4F4F4F4F4F4F4F4 S2(000FFF48)
=4B0EE4E3F0AD2000
 TESTZC1  000104  LDZC_F2,8+HFP_EXT
 800FFDD8 1 C0E00060  LARL  RE=000FFE88 S2(000FFE98)
 TESTZC1  000108  LARL  ZC_R14,=LH'1'
 800FFDDE 1 681E  LDF1=F4F4F4F4F4F4F4F4 S2(000FFE98)
=4110
 TESTZC1  00010E  LDZC_F1,0(ZC_R14)
 800FFDE2 1 683E0008  LDF3=F4F4F4F4F4F4F4F4 S2(000FFEA0)
=3300
 TESTZC1  000112  LDZC_F3,8(ZC_R14)
 800FFDE6 1 3601  AXR   F0=5918EE90FF6C373E F1=4110
 TESTZC1  000116  AXR   ZC_F0,ZC_F1
 800FFDE8 2 6000D070  STD   F0=5918EE90FF6C373E S2(000FFF40)
=5918EE90FF6C373E
 TESTZC1  000118  STD   ZC_F0,HFP_EXT
 800FFDEC 2 6020D078  STD   F2=4B0EE4E3F0AD3000 S2(000FFF48)
=4B0EE4E3F0AD2000
 TESTZC1  00011C  STD   ZC_F2,8+HFP_EXT

 CBL=TESTZC1  25 ADD   1,TO,BFP_EXT

 800FFDF0 2 6800D080  LDF0=5918EE90FF6C373E S2(000FFF50)
=407A29361EDE0046
 TESTZC1  000120  LDZC_F0,BFP_EXT
 800FFDF4 2 6820D088  LDF2=4B0EE4E3F0AD3000 S2(000FFF58)
=627889320A1BC709
 TESTZC1  000124  LDZC_F2,8+BFP_EXT
 800FFDF8 2 C0E00058  LARL  RE=000FFE98 S2(000FFEA8)
 TESTZC1  000128  LARL  ZC_R14,=LB'1'
 800FFDFE 2 681E  LDF1=4110 S2(000FFEA8)
=3FFF
 TESTZC1  00012E  LDZC_F1,0(ZC_R14)
 800FFE02 2 683E0008  LDF3=3300 S2(000FFEB0)
=
 TESTZC1  000132  LDZC_F3,8(ZC_R14)
 800FFE06 2 B34A0001  AXBR  F0=407A29361EDE0046 
F1=3FFF
 TESTZC1  000136  AXBR  ZC_F0,ZC_F1
 800FFE0A 2 6000D080  STD   F0=407A29361EDE0046 S2(000FFF50)
=407A29361EDE0046
 TESTZC1  00013A  STD   ZC_F0,BFP_EXT
 800FFE0E 2 6020D088  STD   F2=627889320A1BC708 S2(000FFF58)
=627889320A1BC709
 TESTZC1  00013E  STD   ZC_F2,8+BFP_EXT

 CBL=TESTZC1  26 ADD   1,TO,DFP_EXT

 800FFE12 2 6800D090  LDF0=407A29361EDE0046 S2(000FFF60)
=2609134B9C1E28E5
 TESTZC1  000142  LDZC_F0,DFP_EXT

new z390 web page to display J2SE java version on any system

2009-09-24 Thread Don Higgins
The open source java based portable mainframe assembler z390 and COBOL 
compiler zcobol are designed to run on any system with J2SE java runtime 1.6 
or higher as the only pre-requisite.  To that end a new webpage has been 
developed designed to run on any operating system and web browser that 
supports J2SE:

http://www.z390.org/java/index.html

Test results to date are available here:

http://www.z390.org/java/index.html#test_results

Please try the above display page on your system and send updates for the 
above test results page.  Any other suggestions for improvement welcome.

Thanks

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: COBOL programmers can learn Java using z390 and zcobol

2009-09-16 Thread Don Higgins
Actually you just must be willing to learn.  After 35+ years of mainframe 
assembler and COBOL work for Florida Power and then Micro Focus, I started 
my own company and decided to learn Java on my own just using the 
Interent, J2SE, and Eclipse.  The first 6 months was painful constantly looking 
up library class methods in the online J2SE docs.  But after that Java became 
a very powerful new tool and I love the Exclipse interactive source debugger.  
The best part is that it is all free open source and just keeps getting better.

Next I decided to replace my ancient 1985 shareware PC/370 tool with a new 
open source java based z390 Portable Mainframe Assembler Tool which now 
after 5 years has matured and is HLASM compatible supporting all the latest 
z9/z10 problem state instructions including HFP, BFP, DFP, 64 bit instructions 
etc.  z390 also now includes structured programming extensions built into the 
macro processor supporting structured conditional macro code which in turn 
has allowed me to develop the following zcobol compiler.  

Note PC/370 was originally written in 1982 for z80 chip running CP/M using a 
package called EDIT-80 from a startup company in Redmond called Microsoft. 
(I still have the brown manual and 8 floppy it came on which might be worth 
something on Ebay someday - I also have a manual for Microsoft OS/2 before 
they sold it to IBM).  Later it was ported to 8086 using MASM and became 
PC/370.  The z80 was a cool chip with index registers and I loved learning how 
to program it in very basic assembler.

Almost 2 years ago now I came up with an idea of how to translate COBOL 
source into HLASM compatible assembler macro call source program source 
using a relatively simple Java class program zc390.java/class which uses the 
very powerful Java regular expression parser library class and methods.  Since 
then zcobol has evelved into an actual COBOL compiler that is structured 
conditional macro assembler based and generates HLASM assembler source 
with all the data field labels and paragraph names for readability.  There are 
now demo and regression test programs plus 13 EXEC CICS COBOL transaction 
programs which you can compile and execute on Windows or Linux using z390 
and zcobol for free.  All you need is the latest z390 download from 
www.z390.org.  There is InstallShield version for windows and flat file version 
for Linux both in zip files.  Visit www.zcobol.org for more documentation and 
NIST test results.  Also check out www.zpar.org for some new utilities.

The zcobol compiler now compiles 408 of the NIST COBOL 1985 test suite 
programs with no assembler errors and MNOTE messages for as yet 
unsupported features.  The data division translation is beginning to stabilize 
so 
you are welcome to try compiling any of your COBOL programs and send me 
any that are still generating unexpected assembler errors or MNOTES from the 
WS or GEN_WS conditional macros which support the data division.  There is 
still much to be done, but it has come a long way.

You can use z390 and zcobol to simply compile and run COBOL programs on 
WIndows or Linux.  If you want to learn Java you can also dive into the open 
source for all the java programs in the z390.jar including:

1.  z390.java - swing GUI interface for running z390 and zcobol
2.  mz390.java - macro processor which calls az390 assembler
3.  az390.java - assembler
4.  lz390.java - linker
5.  ez390.java - execution monitor
6.  pz390.java - execution processor with all z9/z10 problem state opcodes
7.  sz390.java - execution runtime with all svc support for I/O, GETMAIN, etc.
8.  zc390.java - reguluar expression bases CBL to MLC translator

If you are not learning, you are dying.

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


z390 and zcobol v1.5.01 with CODEPAGE and more new zcobol NIST COBOL test suite results

2009-09-15 Thread Don Higgins
All

z390 and zcobol full release v.1.5.01 is now available for download and install 
using InstallShield for Windows from www.z390.org. This release includes new 
Unicode codepage support for ASCII and EBCDIC codepages compatible with 
z/OS. The zcobol compiler now compiles 408 of the NIST COBOL 1985 COBOL 
test suite programs with no hard assembler errors and MNOTE level 8 
messages for those features not yet supported. See the latest NIST test 
statistics here:

http://www.zcobol.org/zcobol_NIST_COBOL_1985_Test_Results.htm

The above page also contains new ZPAR frequency distribution report 
examples showing the COBOL macro calls generated by the zcobol zc390 
translation program and also another frequency distribution report showing the 
generated 390 opcodes in the generated HLASM source code produced by the 
zcobol compiler.

This release also includes zCICS v8 support which includes 13 EXEC CICS 
COBOL programs you can compile and execute on Windows or Linux using z390 
and zcobol.

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


zcobol - the first COBOL compiler supporting Decimal Floating Point (DFP)

2009-04-14 Thread Don Higgins
zcobol v1.5.00b now supports ANSI/ISO 754 Decimal Floating Point (DFP) plus 
ANSI/ISO 754 Binary Floating Point (BFP) .

zcobol supports the new explicit COBOL USAGE types defined in the draft 
COBOL 2008 standard: FLOAT-DECIMAL-7, FLOAT-DECIMAL-16, FLOAT-
DECIMAL-34, FLOAT-BINARY-7, FLOAT-BINARY-16, FLOAT-BINARY-34.  In 
addition the IBM mainframe default standard Hexadecimal Floating Point (HFP) 
is supported using FLOAT-HEX-7, FLOAT-HEX-15, and FLOAT-HEX-30.  The 
COBOL 2002 standard generic floating point usage types FLOAT-SHORT, 
FLOAT-LONG, and FLOAT-EXTENDED default to DFP, but can be reassigned to 
any of the 3 types using zcobol option FLOAT(HEX), FLOAT(BINARY), or the 
default FLOAT(DECIMAL).  The default for COMP-1 and COMP-2 in zcobol is 
HFP for IBM mainframe compatibility.

In addition to the floating point extended data types, zcobol now also 
supports the following COMP fields: half word S9(4), full word S9(9), double 
word S9(18), and quad word S9(39) and also packed decimal and zoned 
decimal up to S9(31).  

The zcobol verbs MOVE, ADD, SUBTRACT, MULTIPLY, DIVIDE, IF, and DISPLAY 
support the above data types in any combination.  zcobol generates HLASM 
IBM mainframe compatible code which can be run at native speed on IBM 
z9/z10 mainframes or the code can be compiled, linked, and executed on any 
J2SE platform including Windows and Linux using z390.  The InstallShield 
download for z390 and zcobol which is open source is available on 
www.z390.org.  For more information on zcobol visit www.zcobol.org.  The 
download includes demos and new regression tests for the new data types.  
The demo zcobol\demo\powers.cbl displays powers of 2 up to 126 using the 
new COMP S9(39) 128 bit integer support.  The 3 regression tests 
zcobol\test\TESTHFP1.CBL, TESTBFP1, and TESTDFP1 using FLOAT(HEX), 
FLOAT(BINARY), and the default FLOAT(DECIMAL) respectively illustrate the 
new floating point code generation and execution capabilities.

Finally you can define a decimal floating point fraction such as 0.1 in COBOL 
and have it result in exactly 0.100 using DFP short versus 0.0999 for 
HFP or BFP short due to irrational result in base 2 versus base 10.

Don Higgins
d...@higgins.net
Don-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


z390 v1.5.00 with zcobol portable mainframe compiler now available for download

2009-02-22 Thread Don Higgins
On 02/21/09 the first release of zcobol was published as part of z390 release 
v1.5.00 which you can download from www.z390.org.  All the documentation 
for zcobol is now on www.zcobol.org.  

This first release includes demos, regression tests, and EXEC CICS COBOL 
programs which you can compile, link, and execution on any J2SE platform 
including Windows and Linux.  The generated HLASM compatible source and 
object code can also be ported to run at native speed on mainframe a9/z10 
processors.  The generated HLASM compatible source code includes all data 
labels and paragraph labels and utilizes the latest z9/z10 instruction set to 
optimize generated code including support for 64 bit register instructions such 
as LG and DSG plus baseless procedure division code using relative branch 
instructions.

Try it out this week and then come to SHARE session 8194 on Tuesday, March 
3, 2009 at 8 AM in Austin TX to learn more.  Melvyn Maltz, the zcobol EXEC 
CICS support developer and I will be there to present z390 and zcobol and 
answer questions.  If there is enough interest, we could try and schedule a 
BOF Tuesday evening.

Don Higgins
d...@higgins.net
Don-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: SHARE Session 8194: z390 and zcobol Portable Mainframe COBOL Compiler written in structured macro assembler

2009-01-07 Thread Don Higgins
Hi Tim

We've met at several of your COBOL SHARE sessions in the past, and I hope 
to see you in Austin.

You are correct, zcobol first release will have FLOAT-SHORT, FLOAT-LONG, 
and FLOAT-EXTENDED usage options with global option to choose between 
HFP, BFP, or DFP with DFP as the default.  Some might want HFP for 
compatibility with older COBOL compiler results.  Some might want BFP for 
IEEE compatibility with floating point in other target execution language 
environments.  I think DFP is the preferred choice barring other constraints 
since it gives precise decimal results up to 34 digits.

Don Higgins
d...@higgins.net
www.zcobol.org

--
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: SHARE Session 8194: z390 and zcobol Portable Mainframe COBOL Compiler written in structured macro assembler

2009-01-03 Thread Don Higgins
John, all

Well its flattering to think that IBM, Micro Focus, or Variant all of which 
have 
taken an interest in z390, might be interested in trying to buy rights to 
zcobol.  But no offers so far.  The plan is still to release zcobol as part of 
z390 
under GPL in time for SHARE presentation on March 3.  At the suggestion of 
Bill Klein, I've started work this week on testing zcobol with the NIST ANSII 
COBOL 85 tests available here:  

http://www.itl.nist.gov/div897/ctg/cobol_form.htm

It comes in 2 GB z type zip (I used Winzip on Windows) which expands to 28 
GB single ascii source file with the first program being EXEC85.CBL (2256 
lines) 
which extracts all the other COBOL test programs.  I'll have a report on 
results 
for zcobol initial release at SHARE.  It doesn't test things like EXEC CICS or 
Enterprise COBOL extensions such as EXTENDED-FLOAT, but it sure looks like 
a great test of basic COBOL syntax options such as OPTIONAL on SELECT, 
comment phases in INSTALLATION, and use of double versus single quotes 
(now all supported).

Don Higgins
d...@higgins.net
www.zcobol.org

--
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: SHARE Session 8194: z390 and zcobol Portable Mainframe COBOL Compiler written in structured macro assembler

2009-01-01 Thread Don Higgins
Does this mean that it might be possible to use zcobol to compile some of 
our current z/OS COBOL programs into Java classes and run them on a zAAP?
3.  C++ for Windows platforms
4.  HLA/MASM assembler for Intel platforms

John

Yes, the zcobol framework provides for alternate code generation macro 
libraries for HLASM, Java, C++, and HLA.  And we may add PL/I as well based 
on request on ASLIST earlier.  But understand that the initial release is 
focused primarily on HLASM code generation and only a few demo COBOL 
programs will be included which have all the necessary code generation 
macros to compile the same COBOL program to any of the target language 
environments.  The good news is that when the HLASM support is done, you 
can copy all the HLASM code generation macros to another target language 
library and just change the generated code model statements in the 
structured conditional macro code without having to chanage higher lavel 
shared COBOL language macros or any logic (Well I'm sure that's an 
exerageration as the different languages will required some different logic as 
well but it beats replicating the whole compiler).

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: SHARE Session 8194: z390 and zcobol Portable Mainframe COBOL Compiler written in structured macro assembler

2009-01-01 Thread Don Higgins
All of the specialty engines types except zAAP have technological and 
contractual means of restricting their use to the IBM-desired new
workloads. But an engine that runs Java by design in order to attract new 
work (hopefully from Sun or HP boxes) can't really look at your JVM 
bytecodes and say this looks like something that was originally written 
in COBOL so we won't run it, any more than an airline can say you look 
like a business traveller, so we'll charge you five times the rate your 
seatmates are paying for this flight.

My wild guess is that if zcobol looks like a real threat, IBM will just buy 
it. 
And maybe that wouldn't be such a bad thing from its developer's point of 
view...


Tony, all

Thanks for the vote of support for zcobol as a tool potentially worth buying.  
There are no plans to sell it and once it is released under open source GPL 
license as part of z390 starting March 3, 2009 coinciding with the official 
announcement and demo at SHARE sesssion 8194, it will be available to 
everyone including all existing COBOL language tool providers to add to their 
set of COBOL modernization tools.  Of course it helps to know how the tool 
works, so Melvyn Maltz and I might entertain some contract work going 
forward to help users and vendors utilize the tool.  Right now it is a really 
exciting and challenging development effort that I look forward to sharing at 
SHARE.

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


SHARE Session 8194: z390 and zcobol Portable Mainframe COBOL Compiler written in structured macro assembler

2008-12-30 Thread Don Higgins
Here is something new and something old for 2009.  Come to SHARE session 
8194 in Austin TX on March 3, 2009 at 8 AM for the first live demonstration of 
zcobol portable mainframe COBOL compiler which is written in z390 structured 
conditional macro assembler.  zcobol supports multiple dialects of mainframe 
COBOL with the option to generate source and executable program code in 
any one of the following target languages:

1.  HLASM compatible mainframe assembler for z390/z9/z10
2.  Java for any J2SE platform
3.  C++ for Windows platforms
4.  HLA/MASM assembler for Intel platforms

The intermediate source code generated by the zcobol compiler includes all 
data labels and paragraph labels for use in debugging when required.  The 
initial release of zcobol is focused primarily on generating HLASM compatible 
assembler source and executable programs.  The first release includes support 
for static and dynamic linking of both COBOL and assembler programs, EXEC 
CICS, and extensions for SOA messaging support to run called programs on 
remote servers.  There are demo programs which can be compiled and 
executed in all 4 target language environments.  And there are a rapidly 
growing number of regression tests.  There is a dynamically loaded zcobol 
runtime module for complex functions and all the source code is included.

Starting March 3, 2009, zcobol will be included in z390 releases and can be 
downloaded via www.z390.org.  For more information on zcobol, visit 
www.zcobol.org and join the user discussion group:

zcobol-subscr...@yahoogroups.com

zcobol is an open source project on sourceforge.net and volunteer developers 
interested in expanding zcobol support include code generation, code 
optimization, regression testing, documentation, demos, training materials, 
etc. are all welcome.

Melvyn Maltz and I will be at SHARE for the presentation and demo and look 
forward to seeing you there.

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: Query: Mainframers look forward and back

2008-11-07 Thread Don Higgins
Gabe, all

I look forward to the article, and hope you make lots of money with it!  Alas I 
was born in 1945 instead of 1946 so you will have to take my input with a 
grain of salt.  I planned to be a power plant engineer and did my master's 
theses on power plant steam cycle process control optimization using a 
FORTRAN model on an IBM 1410 in 1969 at USF.  When I got my first FORTRAN 
class program listing in about 1966 including the linkage editor map from the 
overnight batch runs for the class, I knew right then I had to learn what all 
that stuff was, and I've ended up following a career in computer science 
ever since.

I spent 2 years with ECI (later E-Systems and later Rayethon) working on 
AWACS with secret clearance.  Then I spent 25 years with Florida Power and 
managed their computer department for over 15.  During the FPC years, I 
moved through the system programming career path, and made a number of 
contributions to the SHARE SPLA library including a structured FORTRAN 
translator and strucutred programming macros.  I also develped PC/370 and 
released it as shareware in 1985 all done as a hobby while teaching evening 
classes in computer science at USF.  I left FPC in 1995 after helping to 
implementing CSS by far my most exciting and challenging project up to that 
point in my career:

http://don-higgins.net/css.htm 

I worked for Micro Focus for 9 years telecommuting from home and developed 
HLASM compatible assembler written entirely in COBOL which is part of Micro 
Focus Mainframe Express for Windows.  I left in 2004 and started my own 
consulting company Automated Software Tools Corporation and have been 
doing some consulting and really having a lot of fun developing open source 
Java bases z390 protable mainframe assembler and emulator www.z390.org.

Right now I consider myself a baby boomer who is simi-retired as I collect a 
pension and I don't have to work when I don't feel like it or when I have an 
opportunity to visit with the grandchildren or go touring.

But, I still love system software development!  It is what gets me up at 4 or 5 
am 7 days a week to work on z390 related projects.  I do it because it's fun 
and very self satisfying to me, and I hope to still be doing it on a laptop (or 
mainframe class cell phone) from my room in an assisted living facility when 
I'm 
90 if I make it until then.  My mother is 91 now in assisted living, but she 
doesn't want to have anything to do with computers.  We play scrable or 
crokinole twice a week when I visit her.

In the last 4 years since leaving full time employment in the mainframe 
industry, I've been busy learning Java, Linux, Perle, Eclipse, and more.  There 
is always a new tool and a new language waiting to be put to good use.  At 
the Orlando SHARE in February, I got a request from Michael Stack and John 
Erhman to add the ASSIST extended instructions for use by students at NIU. I 
don't see any end in sight for new opportunities.  Come to the March 2009 
SHARE z390 session in Austin to hear about a new tool under development.

Don Higgins
[EMAIL PROTECTED] 

On Thu, 6 Nov 2008 16:00:03 -0500, Gabe Goldberg [EMAIL PROTECTED] 
wrote:

(Sorry for cross-posting...)

I'm writing an article for CA about baby-boom mainframers (that's me
too, my first job out of college in 1968 was with IBM in Poughkeepsie)
about what we're all doing and seeing and facing in our careers.

Do people plan to work as long as they're able? Because of enjoyable
jobs? From necessity? For other reasons?

Are folks being downsized/outsourced?

Retiring voluntarily or otherwise? When projects finish or ... certain
ages are reached? Or companies migrate off the mainframe? Or youngsters
are available for lower salaries?

Regarding dump the mainframe projects -- have you stayed with a
company after migrating to another platform? How has that worked out?
Have you seen dump projects fail or simply continue forever with
mainframes chugging along productively?

Has the skill set required for mainframe work changed during your
career? How have tools evolved to support skills required?

What are boomer mainframers doing in retirement? Are you taking new jobs
and double dipping? Becoming consultants? Trainers? Writers? With
former employers? In locations you've worked or moving?

Or starting new careers in other fields?

With decades of experience and perspective -- and considering
contradictory trends of organizations migrating to other platforms AND
the general resurgence of the mainframe -- what recommendations are
offered for the mainframe's future?

Are younger-generation mainframe staffers joining your companies? Have
you helped recruit any (including family members!)? How are they
integrated into your data centers? Are there inter-generational issues
(training, collaboration, communication, work habits, whatever)? What
should employers do to smooth the process?

Have you worked for younger bosses/managers? What's that been like? Are
there challenges

Re: Need someone to fix a free HTTP Server written in Assembler

2008-11-05 Thread Don Higgins
All

Thanks for tips on handling xmit within xmit. I missed that.
I did get zip of the sources  and here is what I did as test:

1.   Unzip
2.  Rename all maclib to *.MAC
3.  Rename all srclib to *.MLC
4.  Run z390 command: ASM SRCLIB\HTTPSUB SYSMAC(MACLIB+MAC) 
SYSCPY(MACLIB)  failed with 100+ errors due to REGEQU not found.
5.  Rename maclib REGEQU.MAC to REGEQU.CPY
6.  Rerun z390 ASM command with following results:
a.  Z390 missing macros – EZASMI, IEFZB4D0 and IEFZB4D2
b.  Z390 assembly errors -  38 (most due to EZASMI calls and a few 
missing field def.

Don Higgins
[EMAIL PROTECTED]

On Tue, 4 Nov 2008 10:41:34 -0500, J R [EMAIL PROTECTED] wrote:

Yes, I noticed the XMIT within XMIT format.  
 
Unfortunately, this confounds XmitManager because the top level 
invocation converts the second level members to ASCII which the 
second level invocation can't make sense of.  
 
This makes it difficult to work with on a PC.  
 
 
 Date: Tue, 4 Nov 2008 10:21:16 -0500
 From: [EMAIL PROTECTED]
 Subject: Re: Need someone to fix a free HTTP Server written in Assembler
 To: IBM-MAIN@BAMA.UA.EDU
 
 ...  
 
 Don, the sources, maclib, etc. in the XMI file inside of the ZIP are
 themselves XMIT files. I was able to RECEIVE the FILE795.XMI file on
 the mainframe (after binary FTP of course) into a PDS, the used RECEIVE
 with the members of that PDS as the INDSNAME for RECEIVE.
 
 So cbt795 is largely an XMIT of XMIT's. The main XMIT (FILE795.XMI) is
 a PDS with BLKSIZE=5600. The members in that PDS (SRC/MAC/JCL/HTML) 
are
 XMIT's of BLKSIZE=4000 PDS's. The GIF member is an XMIT of a
 VB/256/6333 PDS.
 
 HTH
 
 Peter
 
 
 
_
Store, manage and share up to 5GB with Windows Live SkyDrive.
http://skydrive.live.com/welcome.aspx?provision=1?
ocid=TXT_TAGLM_WL_skydrive_102008
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Need someone to fix a free HTTP Server written in Assembler

2008-11-04 Thread Don Higgins
Hi Sam, all

I like the idea!  I downloaded CBT tape file #795 and took a look at it with 
XMIT Manager on Windows Vista.  It appears the sources are in mainframe 
IEBCOPY type FB format.  What is the easiest way to get all the source 
programs, macros, and copybooks into separate ascii files so I can take a 
closer look at this project using z390 portable mainframe assembler.

By the way the open source z390 code and z390.jar executables are stored 
on sourceforge.net under project name z390.  This provides redundent server 
backup for downloads.  Direct links to the downloads are on www.z390.org as 
well on sourceforge.net.  I have put a copy of the z390 sources on the 
sourceforge.net CVS server so you can directly browse the z390 sources.  For 
example, here is link to the z390 pz390.java runtime mainframe emulator for 
that version (its out of date now):

http://z390.cvs.sourceforge.net/viewvc/z390/z390/src/pz390.java?
view=markup

For the very latest version of any z390 source program, download the zip for 
the latest z390 release or PTF from the www.z390.org site and look in z390
\src directory.

I don't keep the sourceforge.net z390 project CVS sources corrent since 
currently only Melvyn Maltz and I are actively developing new source code.  
Melvyn is doing EXEC CICS support and I'm doing the rest. It's just easier to 
swap zip files with all the sources which are also included in every z390 
release and PTF.  I would suspect that just trading zips will be easier for 
most 
CBT utilities as well. 

I'm interested in this HTTP server project as z390 includes an SOA COBOL and 
assembler application generator to support COBOL or assembler applicaitons 
calling services running on a server anywhere on the TCP/IP network.  The 
client and server generated code uses z390 svc calls to J2SE Socket client 
and server support.  The server supports mulitple client connections and the 
clients and servers can run on any J2SE supported platform.  I'm curious if the 
HTTP server code could be adapted to also run in a similar way suing z390 and 
J2SE?

Don Higgins
[EMAIL PROTECTED]

On Sun, 2 Nov 2008 15:48:43 -0500, Sam Golob [EMAIL PROTECTED] 
wrote:

Hi Folks,

   Here at www.cbttape.org we've started a new process.  Sometimes a
good software writer wants to write a package in an area where either:

1.  He/she is not too familiar, but wants to learn the subject better.

2.  He/she does not have the facility at his/her home installation, to
properly test a given product that he/she has written.  An example would
be if the installation has a back-level release of something running,
and a version of the user-written package has to be tested at a later
release level of the system it's supposed to be running under.  Like an
addon to SDF (Spool Browser for JES3) that is written for the latest
version of JES3, but their installation isn't running the latest version
of JES3.

   We are doing something to remedy these problems.  We are putting a
preliminary version of such packages on the UPDATES page of
www.cbttape.org and ASKING ANYONE WHO IS ABLE, to please FIX IT, GET 
IT
TO WORK, and SEND IT BACK IN, so everybody will be able to properly use
the new package.  We will always mark such packages as ALPHA
versions.  For example:

   A new HTTP Server was written in Assembler, and promises to be a good
product eventually, but it needs fixing by an expert, because the author
can only go so far, in his own testing and debugging.  File 795 on the
UPDATES page of www.cbttape.org needs fixing.  PLEASE FIX THIS PACKAGE,
if you have the expertise and willingness to contribute a really useful
tool for the public good!  THANK YOU IN ADVANCE.

   Please also write to me about this idea, of putting tools that need
some completion out on the Updates Page, and which are marked as being
incomplete.  ALL THE OTHER STUFF on the Updates Page, IF NOT SO 
MARKED,
is considered by me to be Production Grade Quality.  Of course the CBT
disclaimers always apply!

   I'd like to hear feedback from you all.

   All the best of everything to everybody.

Sincerely,   Sam Golob

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] 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 [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html



Re: Emulators

2008-10-09 Thread Don Higgins
Ram Balaji wrote:
 Is there any free?Mainframe(JCL,CICS) simulators available for desktop PC? 

The z390 Portable Mainframe Assembler and Emulator open source J2SE java 
based tool includes TN3270 client server emulation over TCP/IP sockets and 
there is support for EXEC CICS assembler applications including SEND, 
RECEIVE, BMS mapping etc. which can be run on Windows or Linux with 
multiple clients on same or different processors on the same TCP/IP network.   
There are demo and regression tests plus an SOA type client server 
application generator which includes support for assembler and COBOL 
applications via EZSOKET interface.

Visit www.z390.org for download in Windows InstallShield or Linux file image 
format plus documentation.  

Come to the next SHARE conference in Austin TX for session on z390 
Tuesday, March 3, 2009 8:00 with update on what's new including support for 
open source Structured Programming Extensions (SPE's) for conditional macro 
code and Structured Programming Macros (SPM's) all written using SPE so 
there are no explicit AIF or AGO macro labels!  There will be live demo of new 
tool which has over 100 new structured macros all using SPE's and SPM's to 
provide a very powerful and easily extendable tool.  Come see what it is?

Don Higgins
[EMAIL PROTECTED]

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



Austin SHARE Update on z390 SOA for COBOL/ASM using EZSOKET, ZSTRMAC, more

2008-09-10 Thread Don Higgins
All

I am looking forward to attending the Austin TX SHARE March 1-6, 2009 as I 
missed the San Jose SHARE.  I am tentatively scheduled to present session on 
Tuesday at 8 AM.  It will be an overview and update on what's new with the 
z390 Portable Mainframe Assembler and Emulator since the February SHARE 
session in Orlando.  The two main topics will be SOA support for COBOL and 
assembler plus ZSTRMAC structured programming extensions.

The z390 SOA support has been extended to include support for COBOL clients 
calling z390 assembler services via EZASOKET interface.  z390 SOA client and 
server services can run on any platform supporting J2SE and TCP/IP such as 
Windows and Linux.  The z390 SOA macro based application generator now 
supports generating COBOL as well as assembler client interfaces to assembler 
services  For more details including example using Micro Focus COBOL on 
Windows calling z390 service running on a Linux or Windows Laptop visit:

z390.sourceforge.net/z390_SOA_Support_for_COBOL_and_Assembler.htm

ZSTRMAC is a set of new structured programming extensions for mainframe 
conditional macro code including AIF, AELSE, AELSEIF, AEND, AENTRY, AEXIT, 
APM, ASELECT, AUNTIL, AWHEN, and AWHILE.  Using these z390 extensions 
conditional macro code in open code or macros can now be structured without 
the use of any AGO or macro labels.  The extensions are built into z390 
v1.4.03.  An optional translator written in ZSTRMAC is included which can be 
used to translate structured code to standard HLASM for portability.  For more 
details and examples visit:

z390.sourceforge.net/z390_ZSTRMAC_Structured_Macro_Support.htm 

Other z390 enhancements since February SHARE include addition of ASSIST 
extensions for use by students taking mainframe assembler courses at NIU and 
elsewhere.  Also the open source z390 EXEC CICS assembler support by 
Melvyn Maltz now includes BMS mapping support.

Plan to come to Austin and put Tuesday morning 8 AM on your schedule.

Don Higgins
[EMAIL PROTECTED]

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



Re: IBM THINK original equipment sign

2008-08-28 Thread Don Higgins
All

Thanks for feedback.  I think my IBM oem sign is probably worth more than 
the current one shown on eBay with bid for $13.  As my first attempt at using 
eBay, I think I'll try signing up and offerring the sign to the highest bidder.

If it goes well, I have some other interesting stuff like the Microsoft version 
of 
OS/2 with Microsoft Manual published just before IBM bought all the rights.  
Then there is the original Microsoft M80 manual for CP/M that I used to 
develop MMS/370 the predecessor to PC/370 on a TRS-80 using Lifeboat CP/M.
Oh how I loved that z80 chip.  I don't think I'll ever sell the worn out z80 
POP 
ref. manual with the ragged pages.  Most of the instructions were 8 bit, and a 
few 16 bit so doing 370 multiply/divide with 32/64 bit words was a fun math 
exercise.

Don Higgins
[EMAIL PROTECTED]

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



IBM THINK original equipment sign

2008-08-27 Thread Don Higgins
All

I was cleaning out this week, and found an IBM THINK original equipment sign 
that was given to me by a retiring COBOL programmer in 1968 when I worked 
for Electronics Communications Inc. (Later E-Systems and now Raytheon).  

The sign is laminated black letters on white background on a wooden plaque 
aobut 12 long and 5 high.  Under the THINK in small letters is Compliments 
of IBM Corporation and in the lower right corner is Printed in USA.

Is there a market for such relics?  If you are interested, email me.

Don Higgins
[EMAIL PROTECTED]

PS:  I'm not ready to give up my IBM coffee mugs which I use every day.

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



Decimal Floating Point for Java and COBOL using z390

2008-06-24 Thread Don Higgins
All

Java does not have Decimal Floating Point yet, and COBOL already plays 
very nicely with automatic conversion from Java float to COBOL float 
and back again with direct calls. 

Java and COBOL can now use open source J2SE Java based z390 Portable 
Assembler to execute all the HFP, BFP, and DFP instructions for short, long, 
and extended precision.  Visit www.z390.org for more information.  z390 
v1.4.02 due out in the next week will package all the recent enhancements 
which include addition of HFP un-normaliazed instruction compatibility 
(previosuly they were producing normalized results); SOA application 
generator now supports COBOL clients using EZASOKET calls to z390 services 
running on any platform including mainframes, Windows, or Linux; plus 
numerious other improvements for compatibility with HLASM and z9/z10 
mainframes.

The Java support uses for DFP uses BigDecimal class which is a superset of 
decimal floating point with arbitrary precision, exponent, and all types of 
rounding.  It also has built in methods specifically for IEEE compatibility 
such 
as context DECIMAL128 and DECIMAL64.  You can check out the source code 
in pz390.java all available for download from the z390 project on 
sourceforge.net.

Don Higgins
[EMAIL PROTECTED]

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



1RE: Enhanced JCL processor - Jol - Open Source

2008-06-08 Thread Don Higgins
Clement

It's been a while.  I suggest you use standard GPL license and put the source 
for JOL on www.sourceforge.net like I have done with z390.sourceforge.net.

I've added new z390 enhancement RPI 858 to add JOL.  Currently z390 uses 
simple BAT command processor behind the scenes for both Windows and Linux 
GUI interface as well as command line interface.  DDNAME processing is done 
using enviroment variables on both Windows and Linux.  All the pending RPI's 
for z390 are listed here and its updated almost every day:

http://z390.sourceforge.net/z390_Support_Request_Log.htm 

Once you have released JOL and time permits I';; try assembling it on z390 
and see how it goes. IT sounds very useful.

Don Higgins
[EMAIL PROTECTED]


 The JCL Enhancement/Replacement language Jol is now Open Source. You 
 can find details, documentation and so on at
 www.ozemail.com.au/~oscarptyltd
 Clement Clarke
 June 7, 2008.
 Clement V. Clarke - Author Jol, EASYJCL, EASYPANEL, 370TO486
 Oz  \ Web: http://www.ozemail.com.au/~oscarptyltd
 16/38 Kings Park Road, West Perth, AUSTRALIA, 6005.
 Tel (+61)-8-9324-1119, Mob +61401-054-155.
 Email: [EMAIL PROTECTED]

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



COBOL calling z390 Assembler using SOA EZASOKET Interface

2008-05-27 Thread Don Higgins
All

z390 Portable Mainframe Assembler now supports COBOL calling z390 
assembler using IBM standard EZASOKET interface without requiring any other 
framework or language such as XML or C.  For demo with source code and 
screen capture using Micro Focus Mainframe Express COBOL and z390 running 
on Windows XP/Vista:

http://z390.sourceforge.net/z390_SOA_Support_for_COBOL_and_Assembler.ht
m

In theory this same EZASOKET interface could be used with COBOL running on 
any platform and operating system with EZASOKET support connected to z390 
SOA server running on any platform supported by J2SE Java on the same 
TCP/IP network.  The next question I have is whether anyone has experience 
or knows of EZASOKET implementation for Linux?

Don Higgins
[EMAIL PROTECTED]

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



o Re: Fixed-Point and Scientific Notation

2008-04-28 Thread Don Higgins
JOhn, all

The issue is that we have three formats (binary, decimal, and hexadecimal) 
and three lengths (4, 8, and 16).
So we need to determine what characters should be used for the various 
formats and lengths.

Now that I better understand the question, there is a way to do just that 
defined in the IBM High Level Assembler Reference Manual plus PTF updates 
for DFP:

http://publibz.boulder.ibm.com/epubs/pdf/asmr1010.pdf

http://www-1.ibm.com/support/docview.wss?
rs=12context=SSENW6dc=DB550uid=isg1PK18170loc=en_UScs=utf-
8lang=en

Explicit definitions for the 9 floating point literal types and 3 fixed point 
types 
are shown below used in a conteXt where the explicit type and length is 
indeed required.  These sorts of tests are used in some of the regression tests 
for z390 found in rt\test\TESTFP1.MLC, rt\test\TESTDFP1.MLC, and 
rt\test\TESTINS1.MLC:

1.  CLC =EH'1E2',=EH'10E+1' HFP SHORT 32 BIT
2.  CLC =DH'100',=DH'1000E-1'  HFP LONG 64 BIT 
3.  CLC =LH'0.1E3',=LH'0.01E+4'HFP EXTENDED 128 BIT
4.  CLC =EB'1E2',=EB'10E+1' BFP SHORT 32 BIT
5.  CLC =DB'100',=DB'1000E-1'  BFP LONG 64 BIT
6.  CLC =LB'0.1E3',=LB'0.01E+4'BFP EXTENDED 128 BIT
7.  CLC =ED'1E2',=ED'10E+1' FP SHORT 32 BIT
8.  CLC =DD'100',=DD'1000E-1'  BDFP LONG 64 BIT
9.  CLC =LD'0.1E3',=LD'0.01E+4'BFP EXTENDED 128 BIT
10 CLC =F'1E9',=F'10E8'   FIXED SHORT 32 BIT
12.CLC =FD'1E15',=FD'10E14'FIXED LONG   64 BIT 
13.CLC =FL16'1E30',=FL16'10E29'  FIXED EXTENDED 128 BIT

Can you guess which of the above logical compares fail?  The DFP compares 
fail because DFP does not normalize all equivalent values to the same format. 
If the DFP equivalent values are loaded into FPR registers and compared using 
a DFP arithmetic compare such as CEDTR, then they do compare equal.  Also 
the FL16 128 bit integer format is an extension in z390 for use in testing 
instructions like DLGR which divides 128 bit dividend by 64 bit dvisor giving 
64 
bit quotent and 64 bit remainder.

Absent an international standard for explicit definition of BFP and DFP 
literals, I 
would use the IBM HLASM definitions as a defacto standard which also 
includes HFP which is an IBM unique format.  For fixed point I'd propose switch 
ing to EF, DF, and LF type prefix for consisency (The current HLASM use of F 
and FD does not allow addition of FL due to conflict with length submodifier L).

Don Higgins
[EMAIL PROTECTED]
www.z390.org

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



Re: Fixed-Point and Scientific Notation

2008-04-28 Thread Don Higgins
John, all

The issue is that we have three formats (binary, decimal, and hexadecimal) 
and three lengths (4, 8, and 16).
So we need to determine what characters should be used for the various 
formats and lengths.

Now that I better understand the question, there is a way to do just that 
defined in the IBM High Level Assembler Reference Manual plus PTF updates 
for DFP:

http://publibz.boulder.ibm.com/epubs/pdf/asmr1010.pdf

http://www-1.ibm.com/support/docview.wss?
rs=12context=SSENW6dc=DB550uid=isg1PK18170loc=en_UScs=utf-
8lang=en

Explicit definitions for the 9 floating point literal types and 3 fixed point 
types 
are shown below used in a conteXt where the explicit type and length is 
indeed required.  These sorts of tests are used in some of the regression tests 
for z390 found in rt\test\TESTFP1.MLC, rt\test\TESTDFP1.MLC, and 
rt\test\TESTINS1.MLC:

1.  CLC =EH'1E2',=EH'10E+1' HFP SHORT 32 BIT
2.  CLC =DH'100',=DH'1000E-1'  HFP LONG 64 BIT 
3.  CLC =LH'0.1E3',=LH'0.01E+4'HFP EXTENDED 128 BIT
4.  CLC =EB'1E2',=EB'10E+1' BFP SHORT 32 BIT
5.  CLC =DB'100',=DB'1000E-1'  BFP LONG 64 BIT
6.  CLC =LB'0.1E3',=LB'0.01E+4'BFP EXTENDED 128 BIT
7.  CLC =ED'1E2',=ED'10E+1' FP SHORT 32 BIT
8.  CLC =DD'100',=DD'1000E-1'  BDFP LONG 64 BIT
9.  CLC =LD'0.1E3',=LD'0.01E+4'BFP EXTENDED 128 BIT
10 CLC =F'1E9',=F'10E8'   FIXED SHORT 32 BIT
12.CLC =FD'1E15',=FD'10E14'FIXED LONG   64 BIT 
13.CLC =FL16'1E30',=FL16'10E29'  FIXED EXTENDED 128 BIT

Can you guess which of the above logical compares fail?  The DFP compares 
fail because DFP does not normalize all equivalent values to the same format. 
If the DFP equivalent values are loaded into FPR registers and compared using 
a DFP arithmetic compare such as CEDTR, then they do compare equal.  Also 
the FL16 128 bit integer format is an extension in z390 for use in testing 
instructions like DLGR which divides 128 bit dividend by 64 bit dvisor giving 
64 
bit quotent and 64 bit remainder.

Absent an international standard for explicit definition of BFP and DFP 
literals, I 
would use the IBM HLASM definitions as a defacto standard which also 
includes HFP which is an IBM unique format.  For fixed point I'd propose switch 
ing to EF, DF, and LF type prefix for consisency (The current HLASM use of F 
and FD does not allow addition of FL due to conflict with length submodifier L).

Don Higgins
[EMAIL PROTECTED]
www.z390.org

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



Re: Fixed-Point and Scientific Notation

2008-04-27 Thread Don Higgins
John, all

Has IBM established a standard in any of the various high-level languages 
for the representation of the various floating-point formats and 
precisions?
I am specifically looking at both fixed-point and scientific notation.
  John P. Baker

Here are some references and summary info I've collected:

Standard Scientific Notation:
  General description and references:
http://en.wikipedia.org/wiki/Scientific_notation
  IBM Hursley generalized description of scientific notation conversion:
http://www2.hursley.ibm.com/decimal/daconvs.html#reftonum
  Arithmetic Model:
http://www2.hursley.ibm.com/decimal/damodel.html

Note this model is based on IEEE 854, ANSI X3-274 standards.  
Unfortunately these standards are only available in published form for a 
fee.  (Commentary:  It would be a tremendous service to the world if a  
non-profit organization could be started to move all standards 
publications to the public domain to help promote understanding and use of 
non-proprietary standards.  Charging for them makes them all proprietary!)

So in summary the standard form would appear to be:

  1.  Sign (+optional)

  2.  Mantissa (decimal digits with optional period up to maximum 
significant digits for binary format)

  3.  Exponent (optional)
 a.  E (E or e optional if sign included)
 b.  Sign (+optional if E or e)
 c.  Power of ten (exponent digits with no decimal up to maximum 
exponent) 

The maximum limits for each IBM fixed and floating point HFP, BFP, and DFP 
format can be found in the latest Principles of Operations Manual here:

http://publibfp.boulder.ibm.com/epubs/pdf/dz9zr006.pdf

In summary the significant decimal digits and base 10 exponents are as 
follows:

Summary of IBM Fixed and Floating Point Scientific Notation Limits
Type of number  32 bit  64 bit  128 bit

Fixed Point Integers
Significant digits  10  19  39

HFP Hexadecimal FP  
Significant digits  7   15  34
   Maximum exponent 75  75  75


BFP Binary IEEE 754 FP  
Significant digits  7   16  34
   Maximum exponent 38  308 4932

DFP Decimal IEEE 754r FP
Significant digits  7   16  34
Maximum exponent96  384 6144

All of these formats are supported by z390 on Windows and Linux with CTD 
and CFD conversion routine macros and supervisor calls for converting 
between EBCDIC/ASCII character scientific notation and any of the above 
binary formats.  All corrections and comments welcome.

Don Higgins
[EMAIL PROTECTED]
www.z390.org

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



Optimizing COBOL generated assembler

2008-04-01 Thread Don Higgins
Optimizing COBOL generated assembler

Consider the cobol statements:

3402  R-CNTR  PIC S99 COMP SYNC VALUE +0.
...
072  ADD 1 to R-CNTR

Which generated the following assembler code:

 000620  4830 A012   LH   3,18(0,10)  PGMLIT AT 
+6
 000624  4A30 9028   AH   3,40(0,9)   R-CNTR
 000628  1823LR   2,3
 00062A  8E20 0020   SRDA 2,32(0)
 00062E  5D20 C000   D2,0(0,12)   SYSLIT AT 
+0
 000632  4020 9028   STH  2,40(0,9)   R-CNTR

This snippet of code is from the following COBOL/370 generated assembler 
LIST option:

http://www.cs.niu.edu/~t90jfl1/class/job2.htm

I think the LR, SRDA, and D instructions could be surpressed by specifying the 
option NOTRUNC to allow values greater than the PIC digits 99.  

With the new z10 instruction ADD LOGICAL WITH SIGNED IMMEDIATE, the 
entire 6 instruction sequence could be reduced to a single instruction:

  ALSI  R-CNTR,1

Of course this would require that the COBOL compile have such a z10
optimization option.  For compute intensive applications, such optimizations 
along with the new z10 compare and branch instructions could be significant.

To aid in analyzing mainframe COBOL programs a new z390 COBOL Portable 
Assembler option has been added in z390 PTF v1.4.01b.  With this option 
installed, you can convert Enterprise COBOL or COBOL for OS/390 generated 
assembler listings into z390 assembler source programs which can be 
assembled, linked, and executed specifying starting and ending line numbers in
order to unit test or benchmark specific generated code or supported COBOL 
statments with called functions.  In this initial release only DISPLAY and STOP 
RUN function calls are supported, but requests for additional functions are 
welcome.  Support for COBOL/370, COBOL for MVS, and VS COBOL II are also 
in development. For example generation and execution of DISPLAY and STOP 
RUN demo, install z390 v1.4.01, v1.4.01b PTF, and then enter the command 
cobol\paos\OSDEMO1.

Don Higgins
[EMAIL PROTECTED] 

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



ZMFACC Mainframe Assembler Coding Contest Update 03/2108 Solution to #18 and new #19

2008-03-21 Thread Don Higgins
All

Following the release of z390 v1.4.01a with new date and time callable routine 
named DAT that can be used for benchmark testing, I’ve published a first 
solution to problem #18.  The solution shows that the MIP rate dropped 15% 
when using the new z10 compare and branch code, but the elapsed time in 
nano-seconds also reduced by 8%.  Visit the web site to see source code 
including copy of the new DAT routine and the execution log showing results:

http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm 

I’ve also posted a new problem #19 to write code to find the last non-blank 
character in an 80 byte text line using the least number of instructions.  Hint 
there is a z10 instruction that might be the fastest, but I could also be wrong.

Enjoy the weekend!

Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


Re: Assembler to C or C++ Conversion

2008-03-18 Thread Don Higgins
Has anyone run across a software package that will successfully convert 
Assembler code to working C or C++ code or, alternatively, allow Assembler 
code to run in a server-based environment more or less as is (much like 
MicroFocus does for COBOL code)?

Thanks in advance - John Bachiochi

John, all

If you need the speed of native code and portability, then check out 
http://www.smltd.com/.  They offer mainframe assembler to C and COBOL.  
However any such conversion requires extensive testing and both the initial 
conversion and the support of the generated code my be expensive 
particularly if you are going to continue to maintain the origianl code also.

Another option to consider is to use the z390 portable mainframe assembler 
and emulator SOA approach.  The latest z390 v1.4.01 with z9 and z10 opcode 
support can run SOA services on any Windows or Linux server.  Client 
applications in any language running on a TCP/IP connected network can then 
invoke those z390 mainframe assembler services via TCP/IP sockets messaging.

There is a demo that installs with z390 that does the following:

1.  First the demo main program which calls two separate subroutines to 
perform 2 different integer and decimal floating point numeric calculation 
services can be assembled, linked, and executed using z390 standard static 
linking.  Run soa\demo\DEMOSTD.BAT on Windows or Linux.

2.  Second the same 3 demo source code programs can be automatically 
assembled and linked into an SOA application with the following generated 
executable components:

a.  DEMOMAIN.390 - executable application main client program linked with 
generated stub CSECT for each called service which dynamically links to client 
soa manager.

b.  DEMOCMGR.390 - generated client SOA manager for this application which 
packages service requests into TCP/IP socket messages, sends them to SOA 
service manager, waits for response, moves updated parameter field results 
back to original parameter areas, and returns to caller.

c.  DEMOSMGR.390 - generated service SOA manager for this application 
which can run on any Windows or Linux server on the TCP/IP netowrk and 
waits for TCP/IP socket connections, receives requests, loads service modules 
if not already loaded, calls service module, returns updated paramters to 
caller.

d.  DEMOSUB1.390 - subroutine 1 linked as separate loadable service.

e.  DEMOSUB2.390 - subroutine 2 linked as separate loadable service. 

3.  You can generate this demo SOA applicaton from the 3 source programs 
and a single SOA generator definition macro call which drives the macro driven 
generation process.   Once generated, you can run this demo on any 
combination of Windows and/or Linux client and server processors.  For 
example, you can start the DEMOSMGR.390 server program running on your 
Windows XP/Vista desktop and then run one or more copies of the client 
appication DEMOCMGR.390 on your wireless laptop on the same wireless router 
as your desktop to provide TCP/IP connectivity.  You can pick the port 
number you want to use at generation time.  Of course, you also can run both 
the server and the client on the same PC as well. 

For more details on this z390 SOA option visit the following page:

http://z390.sourceforge.net/z390_Service_Oriented_Architecture_Support.htm

Don Higgins
[EMAIL PROTECTED]
 

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


z390 v1.4.01 with 11 new ASSIST and 226 new z10 mainframe instructions

2008-03-14 Thread Don Higgins
 
class in order to prevent loss of 4 bits of mantissa precision since double has 
52 bit mantissa versus the required 56 bits.  It will be a bit slower but it 
will be 
correct and will also support pending RPI 767 to fully support HFP un-
normalized instructions (all results are currently normalized).
f.   A side benefit of implementing the new z10 rotate and select bits 
instructions is that the existing RLL and RLLG rotate left instructions have 
been updated to use new faster rotate functions which simply perform a left 
shift, right shift, and an OR to accomplish the rotate for int or long java 
variable.  The result should be a significant improvement in speed for RLLG. 

7.  Finally this version has been built and tested on J2SE 1.6.0 update 5.  
For new users please remove all prior versions of J2SE and all previous z390 
releases including deleting the install directory which may have generated 
files 
not deleted by the InstallShield uninstall process.  Then install J2SE 1.6.0_05 
runtime and z390 v1.4.01.  The J2SE JDK is only required if you want to 
recompile java sources and rebuild the single z390.jar executable file.
 
Many thanks to all those who have contributed to this release by testing PTF 
releases and reporting any bugs found.  There will no doubt be some additional 
bugs resulting from all the new code in this release which has increased the 
z390.jar file from 328k for v1.4.00e  to 340k for v1.4.01.  Please send any RPI 
bug reports using the online form: 
http://z390.sourceforge.net/z390_VSAM_Compatible_Assembler_Support.htm
If you would like to view the actual Java code for any of these new 
instructions, you can use notepad or your favorite editor to open the z390 
emulator source directory file src\pz390.java and search for the name of any 
instruction such as “TRTE” etc.
 
As always any and all comments and feedback are welcome.  
 
Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


z10 Decimal Floating Point Support - come to SHARE and SHARE

2008-02-23 Thread Don Higgins
Interesting article on the z10 with the quote, an integrated hardware decimal 
floating-point processor to aid with financial and enterprise resource planning 
applications.  I hope there will be sessions at SHARE in Orlando expanding on 
the z10 announcement.  The article is here:

http://searchdatacenter.techtarget.com/news/article/0,289142,sid80_gci1301
967,00.html

On Friday I published 2 new solutions to the ZMFACC z390 Mainframe 
Assembler Coding Contest.  Now there is a BFP, HFP, and DFP solution to the 
calculation of standard deviation using extended precision.  All 3 solutions 
produce the same result to 33+ decimal digits of precision.

The DFP solution proved more challenging that expected because at the 
moment the POP does not include the SQXTR DFP square root insturction 
comparable tothe SQXBR and SQXR BFP and HFP instructions used in other 
solutions.  In order to only use DFP instructions, I coded a SQXTR macro 
which calls a standalone SQXTR CSECT which uses Newton Raphson method 
to caculate the extended precision square root of a number.  The code solved 
the problem to 33+ digit precision in 7 iterations.  But the code needs work on 
initial guess and better yet the SQXTR instruction needs to be supported with 
hardware and software emulation since financial applications often include 
statistics as well as currency fields etc.  To see the source code and results 
find links for problem #12 on this site:

http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm

If you have the answer to the SQXTR question, come to the SHARE Session 
8194 - z390 Portable Mainframe Assembler on Monday at 4:30.  Melvyn Maltz 
and I will be presenting on z390, SOA, VSAM, and CICS support.  Maybe there 
will be more z10 related leaks before Tuesday morning.  I hope so.

Don Higgins
[EMAIL PROTECTED]
www.z390.org

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


z390 VSAM KSDS AVL balanced tree insert support and SHARE

2008-02-18 Thread Don Higgins
z390 PTF v1.4.00e now available for download from www.z390.org has new 
VSAM KSDS AVL balanced tree insert support.  For details and download link 
with InstallShield support for Windows visit:

http://z390.sourceforge.net/z390_Download_Archive.htm

This PTF contains single RPI 806 enhancement to z390 VSAM support to add 
AVL balanced tree insertion for KSDS records.  It includes new regression test 
program vsam\test\KSF2TST4.MLC which adds 1000 records in pseudo random 
sequence and then retrieves and lists them in ascending sequence using key 
access.  This process creates a balanced tree with 10 levels (2**10 = 1024).  
The I/O required is about 10 writes per record.  With the z390 VSAM VCB 
cache buffering option on, most rereads are avoided  With this new support 
VSAM can now be used as a record sorting tool with the performance 
characteristics of a shell sort with I/O proportional to N *
log2 N.  VSAM has been updated to include AVL tree statistics on the STATS 
optional STA statistics file.  The TRACEV option has been updated to include 
tracing of AVL height updates and rotations.  The new support also includes 
verification of all KSIR record double links and branch height values to catch 
any file integrity problems.  To run the new regression program, install z390 
v1.4.00, then v1.4.00e, double click on z390 GUI icon, and enter the command 
vsam\test\KSF2TST4 STATS.  See the following web page for high level 
explanation of AVL trees and the required rotations to maintain balanced tree 
after each insert:

http://sky.fit.qut.edu.au/~maire/avl/System/AVLTree.html

This AVL support was an intensive 10 day effort starting from scratch as all I 
knew 10 days ago was that trees could be balanced but I didn’t know
what an AVL tree was.   Thanks to Google and the Queensland University of
Technology web page, I’ve had a quick on the job learning experience.
There is much the rotation diagrams don’t say about the implementation 
details.  Check out the vz390.java source for details on how it works.
Also many thanks to the name sake G.M. Adelson-Velsky and E.M. Landis, who 
published it in their 1962 paper An algorithm for the organization of 
information.

Be sure and attend the SHARE Conference session 8194 next Monday, 
February 25, 2008 at 4:30 in Orlando Florida if you would like to learn more 
about z390 VSAM and CICS support.  Both Melvyn Maltz and I will be speaking 
and perhaps we can organize a BOF on the subject for those interested.

All feedback welcome!  Hope to meet you at SHARE.

Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


Re: Java Demos (02/02)

2008-02-03 Thread Don Higgins
For more Java demos along with their evivalent forms written in HLASM 
mainframe assembler, HLA Intel assembler, C++, and COBOL visit:

www.mfatc.org

Also you could choose to classify the z390 portable assembler and emulator 
written entirely in J2SE open source Java as a demo.  All the classes are 
packaged into a single z390.jar which supports a Swing GUI interface, macro 
assembler, linker, and emulator that runs on Windows Vista, XP, or Linux.  To 
download and install on Windows using InstallShield visit here:

www.z390.org

There are hundreds of Demo regression test programs as defined here:

http://z390.sourceforge.net/z390_Regression_Tests.htm

More recently there is an ongoing z390 Mainframe Assembler Coding Contest 
(ZMFACC) which now includes a number of intereseting Demo solutions 
submitted in a portable source program form which can now be run run on 
z390 using J2SE Java plus Hercules 3.8 MVS, z/OS, z/VM with CMS, and VSE.  
Some of the Demos include some intersting things like swapping 2 fields in 
memory with 2 instructions (no not 3 XC), hash table lookup in 5 instructions, 
calculating standard deviation to 34 decimal places, calculating Pi to 34 
decimal places, calculating recursive Ackerman function values.  Check the 
contest Demos out here:

http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm

Don Higgins
[EMAIL PROTECTED]

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


ZMFACC Assembler Coding Contest - new PD problem #15 and open question about applications/categories

2008-01-29 Thread Don Higgins
All
 
Problem #15 has been posted.  Neither #14 or #15 have any solutions posted 
yet.  Visit website for details:
 
http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm 
 
A friend asked me about the potential application of techniques used in 
the contest problems.  In response here is an initial list of applications 
by category with my first thoughts:
 
1.  Swapping fields (#1,#2) – used in sorting, file buffering

2.  Conversion to display characters (#3,#6,#9,#10) – used in dump, error 
display, or report formatting

3.  Sorting records (#4) – used in preparing for sequential processing and 
reporting

4.  Conversion of display characters to binary (#5) – used in decoding 
input data for processing

5.  Floating point calculations (#7,#8,#12) – used to calculate statistics 
with required precision

6.  Table lookup (#11) – used to access data tables required for processes 
such as validating records

7.  Decimal calculations (#13,#15) – used to calculate currency 
precisely in base 10

8.  Recursive functions (#14) – used in sorting routines such as 
Quicksort, compiling languages
 
Going forward, I’d like to build a list of categories for future 
problems.  My initial list of possible additions include:
 
1.  Boolean logic 

2.  Branch logic

3.  Comparisons

4.  Compression and de-compression (someone just asked me if z390 supports 
CMPSC yet.  The answer was not yet but I did go read the 9 page 
description in the latest POP which includes 3 page diagram)

5.  Encryption and decryption

6.  File access methods

7.  Heuristics

8.  Totally useless just for fun
 
Do you have some categories or specific questions you would like to see 
added.  All feedback welcome.
 
Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


z390 Mainframe Assembler Coding Contest - new problem #10 and another solution for problem #8

2007-12-27 Thread Don Higgins
All

A new problem #10 and another solution for problem #9 have been posted on 
the contest web site here:

http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm 

This new problem should not be too hard (no floating point required) so you 
can work on it while watching bowl games etc.  First solution submitted gets 
first place unless it gets bumped by a significantly faster simpler solution.  
Next week’s problem involving hash tables will be more challenging, but also 
more useful.

Congratulations to Lindy Mayfield for the second solution to problem #8.  This 
solution uses a series from a Rexx program that has all positive terms and only 
requires 3 floating point (multiply, divide, and add) instructions per 
iteration.  
However, it requires 39 iterations to reach 33 significant digits of precision 
compared to 7 for Melvyn’s first place entry.  Lindy and I jointly worked on 
debugging the assembler version of the Rexx program.  I also added z390 CTD 
services to display value of Pi and the difference from known value of Pi on 
each iteration.  This solution also uses inline version of LX and STX macros to 
simplify loading and storing of extended floating point values in storage.

Any  and all feedback, comments, suggestions, new problems, and solutions 
welcome.  And Happy New Year!

Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


z390 Mainframe Assembler Coding Contest - Update #5

2007-12-14 Thread Don Higgins
All 
Update #5 - All z390 mainframe assembler coding contest solutions have been 
reformatted using new ZMFACC macro for portability across multiple OS and 
new problem and solution submission email methods.  The source and 
generated log files for each of the ranked solutions are now directly 
accessible 
from the contest web page here:
 
http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm 
 
These changes are intended to make the contest more accessible to all 
mainframe assembler programmers regardless of the particular mainframe 
platform and operating system they are using.   Also the use of the contest 
email discussion group is now optional.  Once all the customized versions of 
the ZMFACC macro are available for download, then everyone should be able 
to assemble, link, and execute solutions in their own environment and test any 
new solutions they would like to submit.  To get the contest going I’ve been 
taking solutions in all forms and have tested and posted what I consider the 
best solutions in the new standard form.  For example, I think the best 
solution to John Erhman’s problem #6 is the one submitted by Raymond Wong 
using exactly 5 instructions to covert from 1 to 32 bytes into the 
corresponding 8 to 256 zero and one bytes for display.  The contest web page 
now has direct links to display both the source and the generated z390 
execution log for each ranked solution. The links for Raymond Wong’s solution 
is here:
 
http://z390.sourceforge.net/contest/p6/P6RW1.TXT 
 
http://z390.sourceforge.net/contest/p6/P6RW1.LOG  
 
I think second place goes to Bob Rutledge for his solution with single byte 
fetch, 6 instruction register only loop, plus single 8 byte store from 64 bit 
register and no tables required.  It’s neat but I don’t think it will beat the 
5 
instruction solution to convert up to 32 bytes:
 
http://z390.sourceforge.net/contest/p6/P6BR1.TXT 
 
http://z390.sourceforge.net/contest/p6/P6BR1.LOG 
 
The contest staff (me) is still looking for a few good programmers to volunteer 
to be moderators and judges.  If you would like to volunteer, let me know.  I’m 
also looking for customized versions of the ZMFACC macro along with sample 
JCL, CLIST, REXX, Perl, or other control scripts used to run the solutions in 
different mainframe operating system environments which can be posted on 
the contest website for new participants to download.
 
All feedback and suggestions welcome.
 
Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


Mainframe Assembler Coding Contest

2007-12-12 Thread Don Higgins
There is a new Mainframe Assembler Coding Contest underway here:

http://z390.sourceforge.net/z390_Mainframe_Assemble_Coding_Contest.htm

I've just added direct link to Powerpoint presentation by Khristine Harper on 
Asembler in the 21 Century.  There is also a new link to upcoming SHARE 
session search page where if you select search by topic, you will find 22 
sessions on mainframe assembler.  There are also now links to the online POP, 
HLASM, and z390 references.

This contest is intended to help new assembly language programmers to learn 
the language and for old timers to share some of their knowledge.
you are welcome to submit as many new problems and solutions as you like.
I'm also still looking for a few volunteer judges to help rank solutions.
Even the simplest problems may have numerious solutions with different 
performance and or results on different machines.  Joining the contest email 
group using Yahoo ID provides access to the submitted programs for 
download, assembly, and execution.  The email group is used for posting 
updates on problems and solution rankings along with contributor names and 
school affiliations.  The email group is also for discussion of the submitted 
solutions.

Currently there are 8 problems posted and proposed solutions have been 
posted on the contest group email site for most but not all of them.  Solutions 
consist of ASCII mainframe assembler source programs which can be 
assembled, linked, and executed using www.z390.org open source portable 
mainframe assembler and emulator on Windows or Linux systems.  Check out 
problem #6 submitted by John Erhman for which no solutions have been 
posted yet.

Don Higgins
[EMAIL PROTECTED]

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


Re: Is there any way that i can practice mainframe related subject without having access to one?

2007-08-02 Thread Don Higgins
 Sorry, Dave, I meant for the Java z390 assembler emulator.  (-:  Or maybe 
 it could be done in Eclipse, that would be cool.  That would be really cool, 
 to write an assembler program in Eclipse like you write Java and have the 
 z390 emulate, show errors, and debug.  

Lindy, all

The open source z390 project has been developed, debugged, and maintained  
using Eclipse on both Windows and Ubuntu Linux.  When I can't figure out 
what is causing a Java error processing assembler source in the macro 
assembler, I run the test program using Eclipse and set break-points at the 
processing methods in question.  For large progams it is sometimes necessary 
to add Java code to test for specific condition and then put the breakpoint in 
that code to stop exactly where I want.  Then you can step through Java 
code looking at variable values etc to see what went wrong.  With the z390 
trace options on you can also see the trace info generated for expression 
parsing etc. on the Eclipse console log which is helpful keeping track of where 
I am in the macro processor logic vs the lower level Java code.  The same 
applies to the linker and emulator for debugging.  I can use Eclipse to set 
breakpoint on the method for emulating any instruction such as MVC, MVCL, 
MVCLE, MVCOS and exec z390 load module program with TRACE and/or TEST 
options on to stop at a specific instruciton and step through the Java code 
watching the instruction register and memory fetches and the caculations and 
store operations performed.

However, such Eclipse debugging is not for the faint of heart and unless one 
learns mainframe assembler and Java it could be very confusing dealing with 
multiple levels of abstraction and emulation.  I do have the development of a 
z390 GUI interactive source level mainframe assembler debugger on my 
development list (RPI 104 opened 11/18/05) coming after VSAM and SQL 
support.  See z390 open RPI list here:
 
http://www.automatedsoftwaretools.com/z390/z390_Support_Request_Log.ht
m

Don Higgins
[EMAIL PROTECTED]

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


Re: Is there any way that i can practice mainframe related subject without having access to one?

2007-08-01 Thread Don Higgins
Mohammad

1)  EXEC CICS support?

The z390 macro processor has built in parser to convert EXEC CICS space 
delimited commands into standard macro comma delimited calls to EXEC macro 
which in turn routes macro call to macro for each supported EXEC CICS 
command such as SEND, RECEIVE, LOAD, LINK, XCTL, GETMAIN, FREEMAIN, 
PUSH, POP, RETURN.  All the EXEC CICS support macros are in z390\cics 
directory.  For more doc info link visit:

http://www.automatedsoftwaretools.com/z390/z390_EXEC_CICS_Compatible_A
ssembler_Support.htm 

2)  COBOL compiler support?

There is no COBOL support as a part of z390.  However the z390 SOA TCP/IP 
sockets messaging could be used to connect z390 client programs with server 
programs supporting mainframe COBOL and other languages on the same or 
different processors on TCP/IP network. 

3)  VSAM LDS support?

I will add LDS option as it is really one of the easier options since all the 
J2SE 
NIO file support is linear based to start with. I'm interested in your DB2 
comment as the next project after z390 VSAM is to add SQL support for new 
JDB built into J2SE 6.0 plus other SQL data bases such as DB2, MS-SQL, 
Oracle, etc.

Don Higgins
mailto:[EMAIL PROTECTED]
http://don.higgins.net

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


Re: Is there any way that i can practice mainframe related subject without having access to one?

2007-07-31 Thread Don Higgins
In addition to Hercules for emulation of MVS 3.8 on a PC, there is also the 
z390 portable mianframe assembler and emulator open source Java J2SE tool.  
You can download z390 from www.z390.org for installation on Windows XP or 
Vista using InstallShield.  There is also a file image download for Linux which 
has been tested on Ubuntu Linux.  

Once z390 is installed, you can double click on the GUI desktop icon, then 
enter the command ASMLG demo\DEMO to assemble, link, and execute the 
HLASM compatible source for a HELLO WORLD demo that issues WTO 'HELLO 
WORLD' message via SVC 35.

In addition to GUI interface, z390 can also be run from Windows command 
line.  z390 includes common OS macros such as WTO, TIME, GETMAIN, 
FREEMAIN, OPEN, CLOSE, GET, PUT, READ, WRITE, CHECK plus structured 
programming macros including IF, ELSE, ENDIF, DO, ENDO, PERFORM, PEXIT, 
etc.  z390 support all the problem state instructions in the latest POP 
including DFP, HFP, and BFH floating point instructions.  z390 supports 
AMODE/RMODE 24 and 31 for up to 2 GB memory access.  z390 maps QSAM, 
BSAM, and BDAM I/O onto the host OS file system using J2SE runtime NIO so 
z390 programs can access any files on the host and share them with other 
non z390 applications.  z390 downloads include all Java source plus lots of 
demos and regression tests which make it a useful learning tool.  For example, 
there is source for SUPERZAP.MLC structured assembler utility to dump, 
search, and/or patch any file on the host operating system.

z390 supports TCP/IP network communications and SOA type applications 
using TCPIO SVC for client and server sockets messaging.  z390 now has a 
new CICS compatible transaction manager contributed by Melvyn Maltz 
supporting multiple TN3270 local and remote clients. 

Currently z390 support for VSAM is under development to support ESDS, 
RRDS, and KSDS files with fixed or variable length records up to 2 GB with any 
number of alternate indexes and file sizes up to 2**63.

Don Higgins
[EMAIL PROTECTED]

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


Re: Cross-assembler : HLASM -- 8086

2007-06-04 Thread Don Higgins
It is possible to write code that runs on both the mainframe and a PC.

If you want to run mainframe assembler (alias HLASM, ASMH, ASMG, ASMF 
etc) on the PC including privaledged operating system dependent instructions 
then you will need an OS emulator like Hercules which emulates down to the 
channel program level using virtual OS files on virtual OS volumes etc.

If you just want to use the power of the mainframe assembler macro 
processor and the rich capabilities of the problem state instruction set 
including all the data formats such as packed decimal, hex and binary floating 
point up to 128 bit precision plus the new decimal floating point, then you can 
use the www.z390.org open source J2SE based portable mainframe 
assembler.  z390 assembles and links mainframe assembler code into 
mainframe compatible object code.  The object code can be executed on 
Windows Vista, XP, or Linux or any J2SE compatible computer OS platform.

z390 is targeted to be compatible at the macro interface for the most common 
MVS type macros such as OPEN, CLOSE, GET, PUT, READ, WRITE, CHECK, 
GETMAIN, FREEMAIN, TIME, WTO, etc.  Different SVC's are generated which 
pass arguments to native J2SE Java svc routines which can perform I/O and 
other operating system functions using any J2SE supported files etc.

The most recent z390 version v1.3.04 can execute a BCT mainframe 
instruction loop at over 1.6 MIPS on an Intel 2.1 GHZ Duo Core Processor 
running Vista.  The most recent version also includes an EXEC CICS compatible 
subset tranaction processor allowing a CICS tranaction server on a TCP/IP 
network to support multiple remote CICS terminal clients on the network.  This 
was contributed by Melvyn Maltz with open source and demos included.

Don Higgins
[EMAIL PROTECTED]

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


Re: Inquiry Web Services using simple cobol programs

2007-02-24 Thread Don Higgins
Romain, all

There is an assembler demo SOA application that is installed
with z390 which illustrates how a main program calling to service
routines can be run as statically linked program or can automatically
regenerated as an SOA client server application just using
TCP/IP sockets.  The generated client and server programs can
be run on any two processors that share access to a TCP/IP
network and support J2RE Java runtime 1.5.0+.  

Download and install z390 with Installshield for Windows or file
zip for Linux and look in the readme z390\soa directory.
All the sources for the demo application and the macro based 
generator are in the z390\soa demo and maclib directories.  There is a
z390 SOA User Gudie on the www.z390.org website here:

http://www.automatedsoftwaretools.com/z390/z390_Service_Oriented_Architectu
re_Support.htm

z390 is an open source Java J2RE based tool so you can view
all the Java code that supports the TCPIO svc for TCP/IP client
and server sockets in the z390\src\sz390.java support module.

To use such a TCP/IP sockets solution, your COBOL client could call
a z390 assembler client via JNI or other existing interface or it could
use an existing sockets interface following similiar approach.  Note the 
current v1.3.01 version of z390 from www.z390.org only supports single 
connection to z390 server application, but the next release with PTF 554 
will support multiple client connections to z390 server.

Following the recent SHARE session 2845 on z390 portable mainframe 
assembler and emulator, there was interest in running z390 on
Linux/390 for similar purpose of connecting applications in COBOL and 
assembler across different OS's and platforms using open source standard
interfaces.

Don Higgins
Automated Software Tools - home of www.z390.org
[EMAIL PROTECTED]


Date: Fri, 23 Feb 2007 10:03:12 +0100
Reply-To: IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU
Sender:   IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU
From: CAPRON Romain [EMAIL PROTECTED]
Subject:  Inquiry Web Services using simple cobol programs
Content-Type: text/plain; charset=us-ascii

Hello to everyone,

I'm just posting this message in order to know if someone knows a
solution to query a Web Services hosted on a distant open server with
a cobol program running a z/OS LPAR ?

Does we need Websphere softwares or not...

Thanks a lot in advance for your advices,

Romain.

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


Re: SHARE Forcast

2007-02-09 Thread Don Higgins
Wayne, all

Well living in the Tampa Bay area, I can report that it has been a mild 
winter with typical 70-80 degree afternoons and absolutely no snow since 
we had a few flurries back in 1977 or so.

Bring your bathing suits and head over to the gulf beaches on Sunday.  The 
water might be a bit cool in the 60's but you can get some great pictures 
to take home to your snow bound friends.

Don Higgins
[EMAIL PROTECTED]
www.z390.org

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


Another free open source TN3270 client alternative from www.z390.org

2007-02-05 Thread Don Higgins
 From: John D. Slayton [EMAIL PROTECTED]
 Sent: Sunday, February 04, 2007 1:21 PM
 
  Is there any free (NOT SHAREWARE) TN3270 client that I can download 
  off the net please? Can anyone list some good free ones that there I 
  can find?

John, all

The z390 Portable Mainframe Assembler open source project www.z390.org 
offers another alternative for supporting TN3270 client.  if you download 
and install the latest z390 v1.3.00 for Windows or Linux, you will find it 
has a Graphical User Access Method (GUAM) option which includes basic 
TN3270 client supporting full screen TGET and TPUT macro svc interface.  
There are demos including DEMOGUI6 which illustrate support of multiple 
tabbed fields, numeric fields, color, PF keys, etc.  

The z390 GUAM TN3270 support written in J2SE Swing GUI Java could easily 
be combined with the new z390 Service Oriented Architecture (SOA) client 
server messaging support which uses J2SE Java TCP/IP sockets support.  The 
result would be a functioning TN3270 client on a TCP/IP network.  I will  
add a demo z390 TN3270 client driven by another z390 server running on the 
same TCP/IP network in the near future.  All that is required to start 
testing this new z390 option is to pair up the existing TGET and TPUT 
interfaces to the GUAM TN3270 client interface with the existing TCPIO 
SEND and TCPIO RECEIVE interfaces.  There is also an existing SOA client 
server demo using the TCP/IP support for messaging.  It may well take a 
little work on the part of interested z390 project members, but the result 
will be a portable open ended TN3270 solution.  

On a related note, prolific z390 project developer Melvyn Maltz has a 
brand new proto-type CICS transaction processor up and running using z390 
with some very interesting initial transaction rate statistics with z390  
transaction manager using CMDPROC multi-tasking support to drive multiple 
transaction processing tasks.

z390 is written entirely in J2SE Java and supports the assembly and 
execution of mainframe assembler on any platform supporting J2SE.  z390 
includes extensive demos and regression tests and has been fully tested on 
Windows XP/2000 and Ubuntu 6.06 LTS Linux.  To learn more stop by the SHARE
presentation in Tampa, Florida on Monday Februrary 12, 2007 at 3:00 PM, 
visit www.z390.org, and join the z390 user email group discussion.

Don Higgins
[EMAIL PROTECTED]

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


Re: COBOL and Java interoperabitiliy

2007-01-25 Thread Don Higgins
I would like to throw out another alternative for COBOL and Java
interoperability that can be implemented on any platform or multiple 
client server platforms supporting TCP/IP sockets.  All that is required 
on the COBOL client side is a callable TCP/IP sockets client interface.  
On the server side all that is required is a J2RE server sockets 
interface.  For an example of a mainframe assembler client running on one 
processor (a PC Windows XP or Ubuntu Linux client) calling a mainframe 
assember SOA type service running on another processor on the same host or 
different processor on the same TCP/IP netowrk (a PC Windows XP or Ubuntu 
Linux server), visit www.z390.org.  The latest z390 release v1.3 includes 
an open source SOA application generator to enable any client assembler 
application to call assembler service routines running on the same or 
differnt processor.  The demo uses J2RE sockets interfaces on both sides 
since both the demo client and the demo server application code is running 
under J2RE emulation.  However, either side can be replaced with COBOL or 
any other language that has callable access to a TCP/IP sockets 
interface.  All the source code required to download and execute the demo 
client server application is on the www.z390.org website.  There is also a 
PDF user guide here:

http://www.automatedsoftwaretools.com/z390/z390_Service_Oriented_Architectu
re_User_Guide.pdf

Don Higgins
[EMAIL PROTECTED]

Jan MOEYERSONS wrote:

The fact is that JMS is a Java interface for accessing Message-Oriented- 
Middleware. JMS requires something else (the MOM) to implement the actual 
messaging for it. Typically, on mainframe, that MOM will be MQ-Series 
(sorry, WebSphere MQ...)

The point I wanted to make is: on the Linux side, you may very well have a 
Java program talking JMS, underpinned by MQ-Series for Linux. Connect the 
latter to MQ-Series on mainframe and have regular COBOL programs talk 
regular MQI verbs to get and put messages natively to the queues. That 
way, 
you are not necessarily obliged to run Java on the mainframe.

You will need to read up on JMS. There is a bit of work to do in order to 
format a message from a native program such that JMS can indeed deliver it 
to the Java application. Google is your friend.

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


Java Packed Decimal

2006-08-01 Thread Don Higgins
Benjamin, all

Yes there are Java J2SE compatible open source routines available as part 
of the www.z390.org portable mainframe assembler and emulator project 
which provide standard operations plus conversion between all the 
mainframe data types including: 31 digit packed decimal; floating point 
HFP and BFP short, long, and extended; fixed point 32, 64, and 128 bit 
integers; plus conversion to and from decimal character fields containing 
sign, digits, decimal point, and exponent when required to fit within 45 
character maximum field width.  These formats support numbers in the range 
1E-4932 to 1E+4932 with precision up to 34 decimal digits for floating 
point and 39 decimal digits for 128 bit integers.

The pz390.java emulator uses the Java primitive data types int, long, 
float, and double to support 32 bit integers, 64 bit integers, 32 bit BFP 
and 64 bit BFP floating point wherever possible.  For the data types 
including packed decimal which do not fit within these primitive types, 
the Java classes BigInteger and BigDecimal are used to support arbitrary 
precision numerical values.  The floating point operations are performed 
with extra guard digits and then rounded to the required HFP or BFP 
precision and bit formats.  

With the latest z390 PTF v1.1.01b due out this week, two new macros are 
being included called CTD and CFD to convert between 128 bit integer or 
any of the 6 floating point types and a decimal display character field.  
The default for these macros is to use LINKAGE=SVC for z390 svc 170 and 
171 implemented in Java for speed.  However, LINKAGE=MF for mainframe can 
be specified to call mainframe assembler routines to perform the 
conversions so the macros and routines can be ported to the mainframe as 
required.  Many thanks to Dave Bond with www.Tachyonsoft.com for 
contributing the FPCONVRT floating point mainframe compatible routines.  
These routines have option for z architecture support level with level 5 
indicating use of all the latest instructions.  The routines use many of 
the HLASM more advanced features such as LOCTR and EQU operands 4 and 5 
plus they use new processor features such as 20 bit signed displacements 
so it has been a great compatibility test case for the z390 assembler and 
emulator.  It was also a great test case for compatibility between the 
Java and mainframe floating point support. Two new regression test 
programs TESTFPC1 and TESTFPC2 test conversions covering the entire range 
of floating point values from LB'(MIN)' to LB'(MAX)' using both the SVC 
and MF options.

Don Higgins
[EMAIL PROTECTED]

 from Benjamin While 
A primative data type in a programming language is one that is explicitly 
supportd in the language. A data type that is not made up of other data 
types.  I was referring to the programming language not the hardware 
support

I want to use Java on our Z/Series mainframe.  The Java programs will need 
to read records and databases that have packed decimal data.

Java does not have a packed decimal data type.  I am looking for classes 
or routines that will allow the Java programs to process the paced decimal 
data.

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


COBOL floating-point revisited

2006-02-23 Thread Don Higgins
John

If you need a way to support all the IBM HFP and BFP formats including
short, long, and extended formats using just COBOL and Java, then you may
find the open source z390 Portable Mainframe Assembler and emulator tool
useful.  It is written entirely in J2SE Java and supports all the problem
state instructions including floating point and the new z9 opcode
additions which include a few new floating point instructions.

z390 uses the Java native float, double, and BigDecimal class to perform
single (32 bit), double (64 bit), and Extended (128) floating point
operations.  There are also many useful instructions for converting
between the floating point types and integer, packed decimal, and zoned
decimal.  z390 includes a regression test source program TESTFP1 which
performs tests of each floating point instruction.   For more information
visit www.z390.org.

Don Higgins
[EMAIL PROTECTED]

Message from John W. Gilmore

As many of you know, IBM Enterprise COBOL supports only single- and
double-precision IBM hexadecimal floating-point (HFP) data types.  In
particular, it does not support extended-precision HFP or any of single-,
double-, or extended-precision IEEE binary floating-point (BFP) values.

Moreover, it would be fair to say that this support is scarcely missed:
Few
COBOL programmers would make spontaneous use of it if it were available.

Java, on the other hand, makes heavy, very heavy, use of BFP, often in
situations in which it is not even apparent to a naif Java programmer that
it is doing so.  My experience in trying to interface a  new Java
subsystem
with some existing COBOL routines was thus discouraging.

It was not possible to avoid the use of HLASM interfacing/transmitter
routines, which are not maintainable by COBOL or Java programmers, in
order
to do so.

In the upshot I have had to recommend to my client that it avoid any
future
use of COBOL in many situations; and, while this does not greatly distress
me personally, it does suggest that that the issue of what COBOL should
support is more complicated than many discussions of this issue here have
suggested.

John Gilmore
Ashland, MA 01721-1817
USA

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