z390 Portable Mainframe Assembler and Emulator

z390 Project Download Archive

Automated Software Tools Corporation
The Project Download Archive shows link and details on fixes for latest z390 release plus any and interim fixes for severity 1 RPI's.  For RPI details on prior z390 releases, see z390 Download Archive History.  For pending RPI requests visit RPI Support Request Log.
Version RPI  Date OS PRI   Description Requestor
v1501e   07/28/10       PTF with cumulative changes for release v1.5.01  
  865 06/20/08 VA E 1 Add VSAM alternate index support:
1)  Update linklib\REPRO.MLC to support creation of alternate indexes in addition to primary index during load.  Set INFILE to base cluster, and set OUTFILE to selected alternate index defined in catalog.  Correct vz390.java, mac\ZDEFINE.MAC.
2) Add svc x'a1' for zsort internal sort.  See mac\ZSORT.MAC
3)See vsam\test\KSF1AIX?.BAT for regression tests where (? = A,C,S,Z) for address, city, state, and zip alternate indexes.  The alternate indexes are created in current directory since the catalog does not have specific path.  The test includes using new utility KSF1COMP to read path defined for each alternate index in catalog and compare records to expected test comparison file.
DSH
  1122 05/31/10 VA E 1 Change DISPLAY %HEX option to only apply to next field in DISPLAY statement. JG
  1123 05/31/10 VA E 1 Correction to RPI 1027 to change option CDF to EDF with default EDF and &SYSCDF to &SYSEDF for use by macros. MM
  1124 06/14/10 VA P 2 Increase floating point guard digits from 3 to 4 during emulation of HFP to prevent 1 bit difference in least significant bit of DC D'1.123456789'. RM
  1126 07/25/10 VA P 1 Correct zcobol zc390 parser to support floating point constants with E+n or E-n exponents in zcobol\WS.MAC. DSH
  1127 07/28/10 VA E 1 Add option PRINTALL to suppress PRINT OFF/NOGEN commands.  Default is NOPRINTALL to accept PRINT OFF/NOGEN commands. MW
v1501d   05/26/10       PTF with cumulative changes for release v1.5.01  
  1109 02/17/10 LX P 1 Correct IVP.BAT to include periods required when parm not specified. AK
  1111 02/25/10 VA P 1 Correct PR instruction to only restore 2-14.  It was restoring more. FS
  1112 03/26/10 VA P 2 Correct trace support to show both registers for MVCLE and CLCLE and correct display of  second operand pad character from low 8 bits of address. MM
  1113 04/25/10 VA P 1 Correct runtime CMDPROC error 76 occurring while waiting for command subtask to startup and return I/O messages.  Also change CMDPROC wait processing to wait indefinitely if set to 4095. JC
  1114 05/20/10 VA P 2 Regression test using J2SE 1.6.0_20.  Note after installing 1.6.0_20 JDK, IE8 browser would no longer run J2SE java until I removed 1.5.0_14 JRE.  This conflict did not occur with 1.6.0_18. DSH
  1116 05/20/10 VA P 1 Correct mac/ZSORT.MAC to generate 2 byte field type and order codes.  Correct default to maximum available when memory option is 0. MM
  1117 05/20/10 VA P 1 Correct zcobol ACCEPT from DAY-OF-WEEK to return correct value 1-7 for 2010. JG
  1118 05/20/10 VA P 2 Add option MAXDISPLAY(80) to set default DISPLAY line length up to 256 with default of 80. JG
  1120 05/22/10 VA P 1 Correct error EZ114E on DISPLAY due to reply address not correctly set in WTOR.MAC. JG
  1121 05/23/10 VA P 1 Correct zcobol ACCEPT FROM CONSOLE display of field name (previsously runcated to 6 due to LA versus LR in zcobol\z390\ACCEPT.MLC). JG
v1501c   02/16/10       PTF with cumulative changes for release v1.5.01  
  800 01/26/08 VA E 1 Develop SORT utility using structured mainframe assembler:
1)  Support SORTIN, SORTOUT, SYSIN, SORTWK01 and SORTWK02 DDNAME file definitions.
2)  Support subset of standard mainframe sort SYSIN commands including fixed or variable length records with multiple key fields defined via command SORT FIELDS=(offset,length,type,A/D,,,,).  The supported types are AC, BI, CH, FI, FL, PD, and ZD.
3) Support any size file performing phase 1 sort into sorted strings and phase 2 merge if required with 1 or more merge passes using dynamically allocated SORTWK01 and SORTWK02 until single sorted file is output.
4)  See new regression tests in rt\RTSORT.BAT
See ZSORT documentation page.
DSH
  1092 10/09/09 VA E 1 Add internal sort support via open source module zsort.java which is called via SVC X'A1' and macro mac\ZSORT.MAC.   This interface is used by linklib\SORT.MLC utility (see RPI 800), by linklib\REPRO.MLC for alternate index creation (see ROI 865), and by zcobol internal SORT verb support (see RPI  1102)
See ZSORT documentation page.
 
DSH
  1093 10/11/09 VA P 1 Correct zcobol PERFORM error in zcobol\PERFORM.MAC.  See new regression tests zcobol\test\TESTPM3.CBL. JC
  1094 10/11/09 VA P 1 Correct TN3270 positioning error on TAB key so it correctly skips protected input fields.  Also correct hang in GUAM window if timeont occurs by aborting with message and rc = 16. MM
  1097 12/13/09 VA E 1 Add support to handle file paths containing:
1) ending with "\." or "/."
2) including "./" or ".\"
2) Starting with "..\" or "../" indicating parent of current directory
DW
  1098 12/13/09 VA P 1 Correct zcobol data definition support for comp with pic s9(nn) and value x'hhhh'.   See new regression test zcobol\test\TESTPIC1.CBL. JC
  1099 12/13/09 VA P 1 Correct erroneous error on 32 bit self defining term B'10...'.  See updated regression test zcobol\test\TESTDC1.MLC. SB
  1100 12/13/09 VA E 1 Regression test using J2SE 1.6.0 update 18. DSH
  1101 12/13/09 VA P 1 Correct DC A, F, H, and Y constants and macro SETA calculations to not issue overflow error and use updated truncated value per HLASM.  Division by 0 returns 0.  See updated regression tests rt\test\TESTERR1.MLC and TESTERR2.MLC.  Also fix A2X negative values and C2X variable length errors.  See updated rt\test\TESTDC1 and rt\test\TESTOPR1. JV/EB
  1103 12/14/09 VA P 2 Correct trace display for EX instruction to show R versus F register designation.  Enhance trace display for BCTR to drop R2 if 0 else show R2 target branch instruction. MM
  1104 12/15/09 VA E 1 Add extension to DISPLAY supporting explicit type %HEX operand to force following fields to hex display instead of default type field display.  For example DISPLAY 'MYFIELD=' %HEX MYFIELD. JC
  1105 12/25/09 VA P 1 Correct conditional macro function A2B to return 32 character string of 0 and 1 representing binary value of SETA expression.  See updated rt\test\TESTOPR1.MLC.  Correct SETB statement to limit value to 0 or 1 instead of allowing 0 to 255 with 1 to 255 treated as 1 in AIF expressions.  See updated regression test rt\test\TESTSET1,NKC. JV
  1106 01/01/10 VA P 1 Correct MOVE macro to use different index register for source and target subscripted fields (it was using R2 for both resulting in move from source to source for double subscriped move). JV
  1107 01/22/10 VA P 1 Correct DEQUOTE function to remove single quote from front and or back of string for consistency with HLASM.  A string with 1 or 2 single quotes results in null string. EC
  1108 02/16/10 XP E 1 Add az390 support for 16 byte alignment for LQ (LB, LD, and L remain 8 byte aligned).  See pending RPI 594 for requested support of 16 by alignment of load modules and CSECT's by linker and loader. MM
v1501b   10/28/09       PTF with cumulative changes for release v1.5.01  
  1089 10/05/09 VA P 2 Changes to zpar|ZPARTRS.MLC and assocated BAT files:
1)  Support TRS file without any path by adding SYSDAT(.) and SYSPCH(.) to zpar|ZPARTRS.OPT options file to override default program directory.  The OPT file is now included in the 3 command files zpar\ZPARTRA.BAT for assembler, zpar\ZPARTRC.BAT for COBOL, and zpar\ZPARTTRS.BAT for mixed COBOL and  assembler.
2)  Generate copy of all error messages on TRS output file with prefix ERR= and include display of total errors at the end of report.  Any errors currently only appear on zpar\ZPARTRS.ERR log.
3) Force all module names to uppercase for compares.
4) Eliminate MAIN parameter and extract main program name from first LOAD in TRE file.
5) Display total CBL, ECC, ASM, and ECA source lines loaded from PRN source file and totals included in source trace output.  Note the same line can be listed multiple times when switching between runtime code and inline code or when looping. 
6) Display total skipped TRE assembler lines and messages.
7) Issue error if no source lines loaded from an included PRN file.  This could be due to PRINT NOGEN or compile prior to v1.5.01a.
8) Display total LST files loaded and the total number of PRN source module files INCLUDE'd and EXCLUDE'd.
9) Issue error at end for any INCLUDE source module PRN file not found.
10) Reset LST/PRN AREAD file to force open at beginning when file is loaded more than once.
11)  Add new LOADLIB(path) parameter to specify path for all LST and PRN files otherwise use path in TRE trace file for LST files and use path in LST files for PRN files.
12) Display total ZPARTRS MNOTE errors and maximum return code setting.  Correct mz390 to set return code to maximum MNOTE level when running with NOASM and there are no hard errors.
MM/DSH
  1090 10/12/09 VA P 1 Correct WS.MAC to correctly treat COMP-4 and COMP-5 as COMP. It was defaulting to COMP-3 due to use of - versus _ in one of 2 tests. DSH
  1091 10/23/09 VA E 1 Correct TN3270 GUAM support errors:
1)  Correct SFE command with color and/or highlight attributes to not advance field start by 1 extra position.
2) Correct RA command to set color and highlight attributes and position to end of field for next command.
MM
v1501a   10/08/09       PTF with cumulative changes for release v1.5.01  
  1049 06/04/09 VA E 1 Add optional first option TRON/tron for the following z390/zcobol BAT commands: ASM, ASML, ASMLG, LINK, EXEC, ZC390C, ZC390CL, ZC390CLG, ZCJAVCLG, ZCVCECLG, ZC586CLG.  The default is ECHO OFF.  Specifying TRON or tron sets ECHO ON.  This option not yet supported on Linux via cmd.pl processor so all the BAT files test for Linux and skip over TRON/TROFF tests. AK
  1063 06/27/09 VA E 1 Add user interface to retrieve CDE entries:
1)  CVTD.MAC updated with CVTCDE pointer for first CDE
2)  CDED.MAC added to define IHACDE DSECT
3)  sz390 updated to populate CVTCDE and update CDE entries
Add PSA update of the following fields for program check and abend for easy of access by program exits and viewing with dump option:
1)  PSA PGM OLD PSW at x'28' with +2=00CCMMMM, +3=interrupt code, and +4=psw address with amode bit
2) PSA interrupt instruction length of 2, 4, or 6 at PSA+x'8d'
This is the same information that is already stored in EPIED block for ESPIE.  See updated PSAD  DSECT macro.
3)  See new regression test rt\test\TESTCDE1.MLC
MM
  1074 08/02/09 VA P 2 Correct zc390 and mz390 to correctly handle long spacey program name paths and library directory paths in double quotes for Windows hosts.  With these corrections you can now place z390 or zcobol program in a long spacey name directory such as "test lsn" and then use command such as:
  ZC390CLG "test lsn\DEMO" syscopy(+"test lsn")
GD
  1080 09/02/09 VA E 1 Regression test v1.5.01a on Linux Ubuntu 8.04 LTS with J2SE 1.6.0_16 after following maintenance:
1)  Upgrade Ubuntu Linux from 6.06 LTS to 8.04 LTS
2)  Install J2SE 1.6.0_16 JDK
3)  Install Ecliplse 3.5
4)  Install z390 v1.5.01 from files zip
5)  Apply cmd.patch from v1.5.00 to support J2SEOPTIONS
6)  Correct conversion file separators (\ and /) for Windows and Linus so they can be used interchangeable.
7)  Remove path from generated COPY pgm_ZC_LABELS statement and use program path.
8)  Replace String replaceAll with pattern match replace functions to speed up conversions for \ to /,/ to \, - to _, ' to '', " to ', & to &&, && to &, '' to ', and "" to ").
9) Consolidate all tz390 required initializations into init_tz390.
10) Support user override of CBL suffix for zcobol programs.
11) Correct path on zpar commands to be lower case and remove UPPER in ZPARTRS for all parms.
DSH
  1083 09/04/09 VA P 1 Correct problem with AINSERT in complex application with AINSERT COPY from within nested macros.  See new regression test rt\test\TESTAIN3.MLC. AK
  1084 09/22/09 VA E 1 Add Java version check webpage using HTML V3 APPLET or HTML V4 OBJECT that can be run from www.z390.org/java.  This webpage should run on any host browser including IE8 for Windows Vista which no longer supports HTML V3 APPLET which have been depreciated in favor of HTML V4 OBJECT which allows specification of which java version to use to run java applet class.  See test results from different platforms. AK
  1085 09/23/09 VA E 1 Enhancements to ZPARTRS assembler source execution trace utility to support up to 9 options in SYSPARM(%1+%2..+%9):
1) TRE file name (must be first parm and is case sensiste for compatibility with both Windows and Linux)
2) ASM/NOASM - list assembler source lines executed (YEY)
3) CBL/NOCBL - list COBOL source lines executed (YES)
4) DETAIL/NODETAIL - list TRE line and ASM source (NO)
5) MAIN(pgm) - main program if different from TRE file name
6) INCLUDE(module list) - trace only listed modules
7) EXCLUDE(module list) - trace all but listed modules
8) MSG/NOMSG - list messages (WTO, traces, errors, etc)
9) TIME/NOTIME - exclude time-stamp if found
Two new zpar commands have been added:
1)  ZPARTRA - trace only assembler source (sets NOCBL)
2)  ZPARTRC - trace only COBOL source (sets NOASM)
3)  Correct X2A function in mz390 to return 0 value if hex invalid.
4)  Add regression test rt\RTZPAR.BAT.
See updated documentation and examples: http://www.zpar.org/#ZPARTRS.
MM
1086 10/01/09 VA E 1 Enhancements and fixes for zcobol:
1)  If default option COMMENT is on, then comment form of each zcobol verb call statement is generated for use by ZPARTRS to extract COBOL source from PRN file when generating COBOL and assembler source trace of execution.  Comments start with *ZC.
2) DISPLAY of single character literal optimized to generate inline WTO versus call to runtime display routine supporting multiple fields and multiple types (replaced over 50 executed instructions with 2).
2) Correct zcobol\z390\GEN_VAR ELSE to AELSE.
3) Correct zcobol\z390\GEN_PROC_START to save SYM_TOT locally for symbol scan to check for pointers to add.
4) Correct support for EXEC CICS COBOL when either or both DFHEIBLK or DFHCOMMAREA are omitted and must be automatically generated for linkage.
Add new regression test ZCRTCICS.BAT to verify EXEC CICS cobol programs.
DSH
v1501   09/14/09       Full release of z390 and zcobol  
  1044 05/27/09 VA P 1 Correct az390 to only resolve V(con) to A(con) if the symbol is defined as CSECT versus relative symbol.  See updated regression test programs:
1) rt\test\TESTCAL2.MLC - add ENTRY for A(lab)=V(lab)
2) rt\test\TESTDC1.MLC - test A(lab) different from V(lab)
3) mvs\test\TESTMVS1.MLC - add ENTRY MYPGM
DSH
  1062 06/25/09 VA E 1 Changes to zc390 translator for CBL to MLC to compile 408 of the NIST COBOL 1985 test suite programs with no translator errors.  Major changes include:
1)  Support comment paragraphis.
2)  Correct split literal support to handle both " and ' quotes.
5)  Support COPY member OF/IN  ddname.
6)  Support COPY REPLACING lit1 BY lit2
7)  Change START verb to ZCSTART, END verb to ZCEND, and SD to ZCSD to avoid az390 assembler conflicts.
9)  Change zc390, mz390, az390, lz390 to set RC=12 for errors and RC=16 for abort.
10) If az390 aborts running in ASM mode, change abort id to MZ390.
11)  Correct initialization of tz390 pattern matching to support @file option file processing by zc390.
12) Change abort messages to say abort instead of error for zc390, mz390, az3290, lz390, and ez390.
13) Prefix COBOL data names starting with digit with #.
14) Ignore semicolons and commas.
15) DISPLAY is verb only in procedure division.
19) Replace & with && in literals.  Replace "" with " and ' with '' if original literal was in double quotes versus single quotes.
20) Add special names paragraph verbs ALPHABET, CLASS, CURRENCY, CURSOR, CRT, DECIMAL-POINT, LOCALE, ORDER.
21) Correct parser to generate LABEL name, SECTION for SECTION name definition in area A.
22) Generate pgm_ZC_LABELS.CPY file and generate COPY to include it after ZCOBOL call in MLC source to define duplicate paragraph names in sections for use in generating qualified labels only when required.
23) Only treat lines with * or / in position 7 as comment lines. Some NIST programs such as NC174A have other debug codes.
24) Use look-ahead to append text from continuations which are not split literals.  See NC205A.
DSH
  1064 06/29/09 VA P 1 ZPAR changes:
1)  Correct zpar\ZPARGEN.MLC to ignore period on first line of DIR on XP systems versus Vista.
2) Add ZPARSUM1 which is the same as ZPARERR with the addition of breaking down START/STOP statistics by first 2 characters of program name.
3)  Add ZPARSUM2 which reads output of ZPARSUM1 and produces summary report of program translation, assembly, and executions by first 2 characters of name along with total RC=0 and RC>0.  See NIST COBOL test suite summary for example.
4) Add ZPARMLC which reads one or more MLC or BAL source files and generates a frequency distribution report on the opcodes and macro call names used.  The report is in descending order by frequency followed by alphabetical order by opcode or macro name.  See the zcobol  NIST test program analysis of both the translated macro calls and generated BAL opcodes.
5)  Correct zpar\ZPARTRS.MLC to handle timestamp option in TRS file.  ZPARTRS can now be used to trace source for CICS v8 Z390CICS server and/or Z390KCP client.
DSH
  1065 07/01/09 VA E 1 Changes to zcobol  macros to compile 408 of the NIST COBOL 1985 test suite programs with no hard assembler errors and only MNOTE's for functions not yet supported.  Major changes include:
1) Correct WS, GEN_WS, and associated macros to correct data division errors including:
      a)  Resolve duplicate qualified names
      b)  Support floating $+- edit fields
2)  Add new macro ZCSTART for START verb, ZCEND for END verb, and ZCSD for SD verb.
3) Add support for DISPLAY numeric literal
4) Add support for ACCEPT field with default DDNAME=pgm.DAT or SYSIN or console.
5) Correct subscripts, indexes, and reference modification.
6) Indicate FUNCTION not supported yet in IF, MOVE, CALC, and EVALUATE.
7) Support duplicate paragraph names within different sections and use qualifier to reference paragraphs in different sections.  Add statistics on total sections, paragraph names, and duplicates.
8) Use ZCNUMLIT.CPY to scale literal values in WS, GEN_MOVE, and GEN_COMP.
9) Correct IF to support omitted subject and relational test such as A EQ 4 OR 5 which reads A EQ 4 OR A EQ 5.
10) Support GO TO. as model for ALTER use branch to last PG causing loop if ALTER not set.  See NIST test OBNC1M.
11) Use CLCL in GEN_COMP to pad short X/A type fields in compare.
12) Add support for 88 level multiple values including ranges of the form n1 THRU n2.
13) Expand SELECT and FD to support clauses for sequential, random, indexed, and dynamic file access.   (OPEN, CLOSE, READ, WRITE, REWRITE expanded support beyond LINE SEQUENTIAL coming in next release)
DSH
  1066 07/01/09 VA E 1 Updated version of mainframe compatible conversion routine linklib\FPCONVRT.MAC contributed by David Bond with www.tachyonsoft.com.  This version uses DFP instructionf for ARCHLVL 6. DB
  1069 07/09/09 VA E 1 Add option CODEPAGE(ascii-charset-name+ebcdic-charset-name+LIST).  The default value is COPDEPAGE(ISO-8859-1+IBM1047) which is compatible with z/OS.  If the names are misspelled or omitted the list option is invoked and a list of the available ascii and ebcdic charset codepages will be listed and the previous z390 hardcoded tables will be used.  A user defined charset can be supplied for the EBCDIC codepage by specifying file such as IBM1047.HCP which is included as example and can be used on systems which do not have the IBM1047 or other codepages defined in system.  If +LIST is specified, the mapping between the ebcdic and ascii Unicode charset characters selected will be listed plus hex dump of the codeset and translate tables plus the available ascii and ebcdic codeset codepages.  If  NOCODEPAGE option is specified, the previous z390 hardcoded ascii/ebcdic mapping will be used.  New Unicode references have been added here.  Note Windows Vista with J2SE 1.6.0_16 lists 162 Charset codepages with 15 valid ebcdic charset codepages and  64 valid ascii charset codepages. AB/RM
  1073 07/30/09 VA P 2 Correct az390 to correctly honor NOALIGN option which will only align 0 length DS/DC fields. MW
  1075 08/02/09 VA E 1 Include zCICS V8 contributed by Melvyn Maltzwith reformatted documentation contributed by Walter Petras MM/WP
  1076 08/10/09 VA E 1 Regression test z390/zcobol v1.5.01 on J2SE 1.6.0_16.   This J2SE version also works fine with Eclipse 3.6 without the workaround that was required with J2SE 1.6.0_14. MW
  1077 08/11/09 VA P 2 Correct mz390 to prevent trap during loading of MLC file with invalid statement of the form DS CL.  An error identifying the line number is generated on the ERR file, but no PRN is generated.  The fix will remove the current trap error and show error as expected on the PRN file and ERR file. PK
  1078 08/15/09 VA P 2 Issue mz390 error if ACALL is issued to undefined AENTRY routine or ACALL is issue after AENTRY defined.  All higher level AENTRY blocks must precede lower level blocks they call due to single pass HLASM code generation requirement. DSH
  1079 08/28/09 VA E 1 Add EXEC CICS DFHRESP(NOTALLOC)=F'61' MM
  1081 09/02/09 VA E 1 Include new barcode utility in linklib\barcode contributed by Roger Williams with www.accessaba.com. RW
  1082 09/02/09 VA P 1 Correct sequencing of AINSERT copy statements.  Previously the first record ended up last.  See updated rt\test\TESTAIN2.MLC. AK
               
               

This page last updated Wednesday July 28, 2010.   Webmaster 
Copyright 2008 Automated Software Tools Corporation