[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] Another (other) "Open" COBOL

From: Bill Klein
Subject: [open-cobol-list] Another (other) "Open" COBOL
Date: Sun, 22 Feb 2009 06:11:22 -0600

For any of you who might be interested and who didn't see yesterday's announcement regarding zCOBOL, see below.
  Unlike COBOL-IT, this is NOT a "derivative" from OpenCOBOL and actually is targeted at a (basically) different audience than OpenCOBOL.
If you come from and/or are familiar with the IBM mainframe (especially IBM mainframe assembler) environment, I think you may find the SHARE presentation foils interesting. From the links provided below, see:
NOTE:  If you do NOT know the IBM mainframe or assembler environment, you will probably find much of that presentation as "baffling" as I do snippets of C/C++ and UNIX/Linux stuff in OpenCOBOL discussions<G>

From: address@hidden [mailto:address@hidden On Behalf Of Don Higgins
Sent: Saturday, February 21, 2009 3:19 PM
To: address@hidden; address@hidden
Subject: [zcobol] z390 and zcobol full release v1.5.00 now available for download from with zcobol and z/CICS V7



z390 and zcobol full release v1.5.00 now available for download via with zcobol and z/CICS V7.  For details on RPI fixes and enhancements in this full release visit:


The major enhancements in this release which have been in development for almost a year now include:


1.       zcobol open source portable mainframe COBOL compiler which produces HLASM compatible executable source and object code which can be run on z9, z10, or z390 on any J2SE platform including Windows and Linux.  For documentation on zcobol including demos, regression tests, and initial NIST ANSI 1985 COBOL test suite results visit

2.      z/CICS V7 EXEC CICS support for COBOL and assembler contributed by Melvyn Maltz.  For the latest documentation on this release which includes EXEC CICS COBOL demo programs visit:


Additional fixes and enhancements in this full release include:

1.      Correct mz390 _expression_ parser to convert substring _expression_ with single SETA variable to SETC string.

2.      Correct mz390 and az390 to set &SYSLOC to private CSECT name when EQU or USING is used prior to first CSECT.

3.      Correct az390 to use higher numbered base register when 2 base registers coincide.

4.      Correct az390 to handle negative displacements for LA instruction when there is a depending USING register with displacement large enough.

5.      Correct SAVE macro to use 13 instead of 0 when ending register higher than starting register.

6.      Correct az390 to handle mixed case labels on labeled USING and DROP.

7.      Correct az390 _expression_ parser to allow unary minus before length operator and allow labeled using for absolute symbols even though they are not required.

8.      Allow az390 to resolve relative offsets across CSECT’s if option ALLOW specified.

9.      Increase MZ390.BAT macro processor minimum memory allocation to 150 MB to reduce garbage collection cycles and increase speed of zcobol macro processing (the minimum memory required is about 80 MB.  With this setting over 300 NIST compiles completed in 25 minutes).

10.  Optimize the XC instruction when used to zero area of memory to avoid multiple fetch and store loop.

11.  Add the following new options COMMENT, EXTEND, R64, TRUNC, and WARN for use by zcobol.  For an interesting read compare the zcobol\test\TESTTRC3.CBL code generated and executed when using TRUNC which generates LG and DSG versus TRUNC NOR64 which calls zcobol\z390\ZC390NUC.MLC runtime library routine to perform truncation using DXR to avoid changing 64 bit GPR registers (I think it’s faster than Enterprise COBOL’s routine using multiple CVD, DP, CVB, etc.)

12.  Add support for the following DCBD fields DCBEODA, DCBRECF, DCBRECBR, and DCBRECU even though undefined record format is not currently supported by z390.

13.  Support list and execute forms of WTOR in addition to standard form.

14.  Add new CPOOL macro to support BUILD and GET functions for fast access to memory quick cells avoiding GETMAIN overhead on every request.


This release has been regression tested using J2SE 1.6 update 12.  I hope those of you interested in the new zcobol addition will join the zcobol user group for discussion of COBOL bugs, fixes, enhancements, and future direction.  This first release of zcobol should be considered a beta test version as more work is needed to get zcobol to pass all the NIST ANSI COBOL 85 tests. But it does run the demos, regression tests, and the EXEC CICS COBOL programs included.


The current plan is to continue publishing z390 and zcobol as single releases and PTF’s and the support log will contain both types of RPI’s.  For the pending zcobol RPI’s which start with 1001, visit:


I am really glad to get this release out the door in time for SHARE although it’s a little painful not having time to get as much of the basic functions done as required to get most of the NIST tests running yet.  The next z390 v1500a PTF should be better.  I hope this tool catches on as an educational tool and as a useful legacy modernization tool.  If any of you all would like to join in the development effort let me know.  In addition to the COBOL to HLASM option, there is also a zcobol option to generate native java, C, or Intel assembler and there are commands included to run the zcobol\demo\HELLO.CBL demo on all 4 target language environments.  But there is a lot of work to do to develop these options further and my current priority is focused on the COBOL to HLASM option.


All suggestions, comments, bug reports, and enhancement requests are welcome. 


Don Higgins





Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]