Thursday, October 08, 2009

New COBOL, Assembler, and EXEC CICS source code exectuion trace facility

With the release of z390 Portable Mainframe Assembler and zcobol Portable Mainframe COBOL PTF v1.5.01a, there is now a new utility named ZPARTRS which can be used to generate COBOL, Assembler and EXEC CICS source code execution traces. The utility is documented on and there are 4 examples with PDF source code, traces, and screen captures for COBOL, Assembler, smf EXEC CICS source code transaction traces. The utility includes options for including or excluding selected modules from trace plus option for including detail execution trace showing values for instruction operands as well as source code labels and comments. There are also options to include or exclude time stamps, messages such as WTO, traces, or errors.

For example see how a 1.5 MB EXEC CICS z390 exeution TRE trace file (similar to GTF trace) can be transformed into a 3 page COBOL and EXEC CICS source statement trace for specific COBOL transaction module TESTBEC1.CBL using ZPARTRS utility. Here is the EXEC CICS COBOL source transaction program:

Here is the source only trace with COBOL line numbers:

Here is alternate COBOL source and generated assembler source trace:

And here is the CICS TN3270 screen capture for the executed transaction BEC1:

These and similar links for 3 othere demos can be found on The COBOL source and assembler type traces provide excellent learning tool to see what kind of mainframe z9/z10 assembler code is generated for a specific COBOL statement. For example the COBOL Hello World demo program consisting of DISPLAY 'Hellow World" and STOP RUN, generates exactly 5 assembler instructions in the procedure division as shown here:

Of course this does not inlude the 29 initialization instructions generated for every zcobol
program to load the zcobol runtime load module and verify version. Hee is alternative trace of the same COBOL program with DETAIL option which forces COBOL and assembler source plus execution detail line showing values of instruction operands for all instructions including the standard initializtion instructions which were skipped in prior trace:

z390 v1.5.01a PTF can be downloaded from with InstallShield for Windows and file image for Linux. This PTF has been regression tested on Windows Vista, XP, and Ubuntu 8.o4 LTS Linux. The pre-requisites are z390 v1.5.01 base install and J2SE 1.6+. For more details on the enhancements and fixes in this PTF visit:

Don Higgins

Wednesday, September 23, 2009

new z390 webpage to display java version installed on Windows or Linux

A new z390 webpage has been published to display java version installed on Windows or Linux with any web browser.

Don Higgins

Tuesday, September 15, 2009

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

z390 and zcobol full release v.1.5.01 is now available for download and install using InstallShield for Windows from 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:

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

Saturday, August 22, 2009

zcobol updated summary and new opcode frequency reports

The website has been updated with new zcobol NIST Test Suite Results:

The upcoming z390/zcobol full release v1.5.01 successfully translates and assembles 409 NIST test suite COBOL programs with no hard assembly errors and just MNOTE's identifying as yet unsupported features. Two new reports have been added: The first shows the frequency distribution of translated macro call statements, and the second shows the frequency of all generated HLASM Basic Assembler Language (BAL) instructions.

Also included is a current pending priority list for future zcobol development. All users interested in participating should join the zcobol email group where you can submit your own priority list. In addition to the current HLASM target language enviroment, there are also plans to develop additional sets of zcobol code generation macros for Java, C, and Intel MASM.

Don Higgins

Monday, July 13, 2009

See current NIST COBOL test results for zcobol using ZPAR report

A new ZPAR report ZPARSUM2 now automatically generates summary of all NIST COBOL 1985 test programs translated, assembled, and executed using test version of zcobol v1.5.01.
The summary report is on the site here:

457 out of the total 459 translate cleanly from COBOL source to HLASM compatible source. But there is still much work to do to get all 457 assembled without errors and then executed cleanly.

Don Higgins

Thursday, June 25, 2009

z390 PTF v1500e now contains ZPAR utilities including source line execution trace

The latest z390 and zcobol PTF v1.5.00e contains new ZPAR utilities which are documented on and includes:

1. ZPARGEN for batch compile of COBOL and assembler programs

2. ZPARERR summary report of all errors from batch compiles and/or assemblies. See example of latest compile results for 430 of the COBOL 1985 ANSI NIST test suite on

3. ZPARTRS trace program source statement execution for zcobol or z390 assembler program.

The latest z390 PTF with zcobol and ZPAR utilities is available from

Don Higgins

Tuesday, April 14, 2009

z390 znd zcobol now support Decimal Floating Point (DFP)

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 For more information on zcobol visit 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.1000000 using DFP short versus 0.09999999 for HFP or BFP short due to irrational result in base 2 versus base 10.

Don Higgins

Sunday, February 22, 2009

z390 v1.5.00 with zcobol now available for download

On 02/21/09 the first release of zcobol was published as part of z390 release v1.5.00 which you can download from All the documentation for zcobol is now on

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.

I hope folks will 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