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.
v1.5.06 05/21/12 W7 Final Release
1217 05/17/12 W7 P 1 zcobol corrections and enhancements:
1) Correct zcobol\z390\ZC_PACK31 to correctly handle fields where z and p are shorter or longer than required.  Additional regression tests have been added to zcobol\test\TESTCMP4.CBL to test different code paths.
2) Correct additional errors and use G to handle F and H type field scaling to avoid overflow.  Add 4 additional regression tests TESTADD2, TESTSUB2, TESTMPY2, and TESTDIV2 to zcobol\test for additional code coverage.
3) Update zcobol\demo\U2.CBL and U6B.CBL with expanded array size for zcobol debugging.
4) A new zcobol demo has been added in zcobol\demo\callcomp consisting of assembler main program CALLCOMP.MLC which calls zcobol statically linked subroutine COMPSUM.CBL to caculate sum of 15 different data type fields passed in linkage section and return packed decimal result for editing and displaying.  The two demo programs can be compiled, linked, and executed with the command zcobol\demo\callcomp\CLG.BAT.  This demo illustrates the power of a single zcobol COMPUTE statement to generate over 300 assembler statements using matching data field labels.
RC4 V1.5.06 05/16/12 W7 Release Candidate 4
1215 05/12/12 W7 P 1 Correct zcobol errors:
1) Correct zcobol\ZC_CALC.MAC to set implied decimal scale for all  moves to floating point fields to 0.  It was incorrrectly using scale of source field causing scale errors in some cases.  Additional tests have been added to zcobol\test\TESTCMP4.CBL.
2) Correct zcobol\z390\GEN_COMP to set correct length on CP field after scaling for decimal alignment and correct setup for CVBG using 16 byte packed fields.
3) Correct zcobol\z390\ZC_PACK31.MAC to correctly handle padding packed field with zeros on left when larger than source zoned field.
4) See updated zcobol\test\TESTCMP4.CBL plus TESTCMP5 and TESTCMP6 with additional regression tests.
1216 05/12/12 W7 P 1 Install patch to cmd.pl for Linux submitted by Martin Ward requested by Paul Gilmartin to correctly handle spaces before "EXIT" command for batch process running on Linux. The Perl statement "+ s/^\s+//;" was added just before chomp; statement at line 81.  This change was successfully tested on Ubuntu Linux system. MW/PG
RC3 V1.5.06 05/10/12 W7 Release Candidate 3
1210 04/19/12 W7 P 1 Correct support for periods in path names.added via RPI 1191 in RC1.  Several generated files end up with no file type in directory with periods in path name. PG
1211 04/19/12 W7 P 1 Correct zcobol handling of implied decimal in the following cases:
1) zcobol\z390\GEN_MOVE.MAC scale value during move when implied decimal is different.  See new regression test zcobol\test\TESTMOV3.CBL.
2) zcobol\z390\GEN_ADD.MAC, GEN_SUB.MAC, GEN_MPY.MAC, and GEN_DIV.MAC scale result as required when implied decimal points are different.  See new regression tests TESTADD1, TESTSUB1, TESTMPY1, and TESTDIV1 in zcobol\test.
3) Correct GEN_OPEN and GEN_CLOSE to set base for DCB's and update GEN_BASE to insure that base has at least 256 byte range for access to any part of field or control block.
4) Correct zcobol\ZC_CALC.MAC to support single literal or variable move plus literals anywhere in expressions.  Add new &DEBUG option variable to display MNOTE's with each expression and generated calls for move, add, subtract, multiply, and divide showing field names, type, length, and implied decimals.  See new zcobol\test\TESTCMP4.CBL regression test.
1212 05/05/12 W7 E 2 Add TRACEM display showing operands and result for expression operators such as SLA, SLL, SRA, SRL etc. RM
1213 05/06/12 W7 P 1 Correct support for &SYSECT, &SYSLOC, and &SYSSTYP.  See new regression test rt\test\TESTSYS3.MLC RM
1214 05/10/12 W7 P 1 Correct DXTR to prevent S0C5 instead of S0C7  on  divide  by 0 DSH
RC2 V1.5.06 04/17/12 W7 Release Candidate 2
1200 04/02/12 W7 P 1 Correct LRVGR and LRVR to load register with reverse bytes when source and target register are the same. RM
1201 04/05/12 W7 P 1 Correct erroneous AZ390 error 112 on LARL 1,=(30)C' '. JH
1202 04/08/12 W7 P 1 Correct the following zcobol macros:
1) zcobol\IF.MAC - support literal '(' and ')' by distinguishing from conditional test (...) based on context.
2) zcobol\z390\SIX.MAC - correct &&sym_name on PACK for Z type subscript field.
3) zcobol\IF.MAC - correct OR logic for (....) OR (...) tests.
4) zcobol\z390\GEN_COMP.MAC reset field1 length for CLCL prior to loading register addresses.
5) zcobol\z390\GEN_COMP.MAC force use of CLC versus CLCI when literal length is greater than 1
6) zcobol\z390\GEN_ADD.MAC, GEN_SUB.MAC, GEN_MPY.MAC, GEN_MOVE.MAC, and GEN_RMD.MAC use D2A to retrieve negative index parm in NOALLOW mode as a result of RPI 1204.
7) zcobol\z390\GEN_COMP.MAC add scaling when comparing 2 fields when implied decimal point is different.
1204 04/12/12 W7 P 1 Add the following restriction to NOALLOW default option:
1) Do not support converting parameter with leading sign when setting SETA macro variable to macro parameter.  When non-numeric charater is found first, the result is 0.
1205 04/13/12 W7 P 1 Correct az390 to issue error for self defining term greater than 32 bits such as C'12345'.. RM
1206 04/13/12 W7 P 1 Correct az390 to drop dependent USING when register is used in new USING. OS
1207 04/14/12 W7 E 1 Correct pz390 E2xx() to E3xx() as it was incorrectly named. AK
1208 04/17/12 W7 P 1 Correct az390 to not generate RLD object code within a DSECT. JC
RC1 V1.5.06 03/30/12 W7 Release Candidate 1
1177 08/03/11 W7 P 2 Correct mz390 macro assembler to not issue warning for missing END when running with option NOASM.  This was causing ZPAR source trace utility to issue warnings. MM
1178 08/03/11 W7 P 1 Correct zcobol move of two fields with same type but different assumed decimal point to correctly align value to receiving field. AA
1179 09/23/11 W7 P 1 Correct ASSIST instruction XDECI to handle leading minus sign GD
1180 09/27/11 W7  P 1 Correct zcobol conversion from floating point to packed decimal to round to integer - zcobol\z390\ZC390NUC.MLC.  Correct trace format for SRXT/SLXT etc. HS
1181 01/24/12 W7 P 1 Correct zcobol bugs:
1) Handle 'INSPECT. REPLACING ALL lit1 by lit2' without test where lit1 and lit2 can be literal symbols such as LOW-VALUES and SPACES.  See zcobol\INSPECT.MAC.
2) Prevent duplicate allocation error for DFHRESP.  See zcobol\ZCDFHLIT.CPY.
3) Handle character field initial value of symbolic literals such as  LOW-VALUES.  See zcobol\z390\GEN_WS.MAC
4) Handle multiple character MOVE  with explicit offset and length such as MOVE F1 TO F2(2:2).  See zcobol\z390\GEN_MOVE.MAC.
5) Support EVALUATE TRUE/FALSE WHEN condition syntax.  See zcobol\DATA.MAC and zcobol\WHEN.MAC.
6) Correct PIC X(8) followed by period in zcobol\WS.MAC
7) Correct error when WS items start with 05 instead of 01 by forcing 01 FILLER level at start in zcobol\z390\GEN_ID.MAC.
8) Correct error when referencing field with subscript 1 and occurs of 1.  See change in zcobol\ZCGETFLD.CPY.
9) Replace LAY for loading length of DSA in CICS with IILF to handle WS sizes greater than 20 bit displacement limit cics\DFHEIENT.MAC
10) Correct zcobol\z390\GEN_BASE.MAC to set using when new base address is outside LAY displacement range.
11) Correct zcobol\z390\GEN_INIT_WS.MAC to set base for each WS item being initialized in case multiple bases required.
12) Correct cics\CICS_READ.MAC to use LARL to handle large DSA without requiring additional base register.
1182 01/26/12 W7 P 1 Correct zcobol bugs
1) Correct ACCEPT to display ENTER field-name.
2) Correct GO TO to handle short form GO label and not assume it is a model statement for ALTER.
3) Correct GEN_PERFORM and GEN_LABEL to call GEN_BASE_RESET to prevent base corruption.
4) Remove base reset and DROP from zcobol\PERIOD.MAC
5) Correct zcobol\IF.MAC to use separate R2 and R3 for subscriped field comparisons (it was using R2 for both).
6) Add ZC_WS_END data field at end of WS before linkage section to force multiple level occurs item completion.
7) Correct zcobol\z390\GEN_MOVE to use IILF instead of LHI to handle moves over 32767.
8) Correct truncated move of type P, Z, or 9 to right align versus left align for X and other types.
9) Correct zcobol parser to not allow commas embedded in open linterals in proc div like they are in data div for pics.
10) Correct zcobol\z390\GEN_MOVE to put offset in front of source to handle subscripts.
11) Correct zcobol\ZCGETFLD.CPY and new zcobol\z390\GEN_RMD.MAC to support variable offset in RMOD (off:len).
12) Correct zcobol\z390\GEN_BASE.MAC to reset LRU pointer whenever a base is reused so true LRU is used first.
13) Correct zcobol\WHEN.MAC to generate base for index variable after each WHEN label.
14) Correct zcobol\z390\GEN_SIX and zcobol\z390\GEN_RMD to not use GEN_BASE and use SIX_REG and RMD_REG 15.
15) Correct zcobol\z390\GEN_MOVE to specify length of source temp field for ZAP in complex compute expression using PD fields.
16) Correct zcobol\MOVE to issue repeat GEN_BASE for source to handle multiple move target fields.
17) Correct zcobol\z390\GEN_MOVE fo add length for source temp storage field in ZAP.
18) Correct zcobol\z390\GEN_MOVE to add missing conversion from type Q to Z.
19) Correct zcobol\IF.MAC to allow '(' or ')' as literal after = in IF tests.
20) Correct zcobol\ZCGETFLD.CPY and zcobol\z390\GEN_RMD.MAC to set RMD field length override used in DISPLAY statements.
1183 01/26/12 W7 E 1 Regression test on J2SE 7u2 on Vista as I cannot install it on Windows 7.  Build final z390.jar using J2SE JDK 6u30 so it will run on both J2SE 6+ and 7+ platforms. DSH
1184 01/26/12 W7 E 1 zCICS V11 by Melvyn Maltz MM
1185 01/28/12 W7 P 1 Correct z390 macro assembler bugs:
1) Correct AIF expression failing when literal in quotes is erroneously treated as self defining term with matching ending quote found further on in expresion or continued AIF expression.  See z390\src\mz390.java and updated z390\z390.jar.
1186 02/15/12 W7 E 2 Add new option THREAD with default on for continuous location counter on PRN listing across CSECT's. OS
1189 02/17/12 W7 P 2 Correct mac\SUBENTRY.MAC to not issue DROP 13 when 13 is not specifed as base register. MM
1191 02/17/12 W7 P 1 Correct z390 to allow periods in path names. PB
1192 02/19/12 W7 P 2 Correct mz390 and zstrmac translator errors on structured conditional assembler:
1) Duplicate )) at end of AIF before macro label.
2) Comma preceding first macro label on AGO
3) Use D2A function to prevent SETA string error in rt\test\zstrmac2.zsm structured translator utility.
4) Correct mac\ENDSEL.MAC to remove dup )).
1193 02/23/12 W7 P 1 Correct day of week function to return 1 for Jan 1, 2012. JC
1194 03/04/12 W7 P Correct LINK macro to support single parm without (,,,). IC
1195 03/04/12 W7 P 1 Correct ez390 execution errors:
1) Issue specification error if CUSE registers odd.
1196 03/04/12 W7 P 1 Correct mz390 to correctly assemble any 20 bit displacement instruction such as LAY with self defining term up to 20 bits in length.  Previously x'7777'(0) worked but x'7777' did not. MM
1197 03/05/12 W7 E 1 Add support for entry point label on END statement which is included in OBJ text record.  Note linker will use last entry label found in INCLUDE modules unless there is an overriding linker ENTRY statement.  If no END label and ENTRY command found, load module will start execution at offset 0 in first CSECT loaded. OS
1198 03/24/12 W7 P 1 Correct AZ390 expression calculation to prevent possible complex relocation result due to coding error in routine used to reduce differences to self defining terms if in same section.. DSH
1199 03/30/12 OSX P 1 Correct all Java programs to recognize latest versions of Apple OSX operation system compatible of MJ
v1.5.05a 07/31/11 Cumulative PTF for current z390 release v1.5.05
1175 07/30/11 W7 P 1 Update to support J2SE java vendors "Sun Microsystems", "Apple Inc.", and "Oracle Corporation" 1.7.0.  This PTF updates files:
z390\z390.jar and linklib\zc390lib.390 plus addition of build file BLDJAR7.BAT.  Note this PTF build was done with J2SE 1.6.0_26 in order to enable it to run with 1.6.0+ and 1.7.0.  All J2SE vendor and version verification code has been moved to tz390.java and is called from other class initialization routines to verify J2SE compatible version else issue error message. Notes:

1.  Oracle 1.7.0 support all Windows OSs including Win 7 x64

2.  Oracle 1.7.0 IE browser support requires x32 version of J2SE

3.  Oracle 1.7.0 does not support all Linux versions yet.  See List:

4.  This version also fixes coding error in RPI 1174 addition of Apple Inc as supported vendor prior to this RPI adding Oracle.
v1505   07/27/11       z390 full release with zCICS V10 plus fixes and enhancements
(This release built and tested with JDK 1.6.0_26 x64)
  1165 05/31/11 W7 P 1 Correct zsort dynamic memory allocation to avoid overlap of 1 record beyond allocated area. JR
  1166 07/12/11 W7 P 2 Correct mz390 parser to not try and substitute &var in comment fields and not issue error if &var not defined. RM
  1167 07/12/11 W7 E 1 zCICS V10 with CEDF stage 2 redisplay mode plus updated documentation MM
  1168 07/20/11 W7 E 1 Add additional response codes required for zCICS version 10:
3) TOKENERR =F'112'
  1169 07/20/11 W7 E 1 Change error for missing END statement to warning for HLASM compatibility RS
  1171 97/20/11 W7 P 1 Correct misc. zCOBOL systax errors found testing zCICS MM
  1173 07/25/11 W7 P 1 Correct GUI interface to support long spacey name paths such as "...z390\test lsn\demo.mlc" RM
  1174 07/25/11 W7 E 1 Add Java Version "Apple Inc." to enable OSX support using Linux file system type versus Windows. PG
v1504 05/19/11 Full release with maintenance and enhancements
1139 12/07/10 W7 P 2 Additional restrictions on z390 when using NOALLOW in order to be compatible with HLASM:
1) All functions with character type operands such as DOUBLE, DEQUOTE, UPPER, LOWER, and INDEX require quotes
2) Duplication factor must be in (..)
3) Sequence symbol with extraneous ) not accepted
4) Subscript expression with missing ) not accepted
5) Array declarations with variables in expression not accepted
6) Extraneous comma in substring expression not accepted
7) Substring starting beyond end not allowed
8) Quoted strings not allowed in SETA expressions
9) PUNCH string length must be > 0
10) Report &nn as invalid macro variable
11) Report &var as undefined if not found during substitution
12) Report duplicate GBL/LCL variable definitions

The following source changes were required to complete regression tests using NOALLOW after this fix:  mac\SAVE.MAC, mac\RESTORE.MAC, linklib\RTGENDIR.MLC, cics\CICS_GETMAIN.MAC,cics\CICS_DEQ.MAC, cics\CICS_ENQ.MAC, cics\DFHMDI.MAC, cics\DFHMDF.MAC, cics\CICS_RETURN.MAC, cics\CICS_LINK.MAC, cics\CICS_DUMP.MAC, cics\CICS_READ.MAC, cics\STARTBR.MAC, cics\CICS_START.MAC, cics\CICS_WRITEQ.MAC, zcobol\ZC_WS.CPY, zcobol\WS.CPY, zcobol\z390\GEN_WS.MAC, zcobol\IF.MAC, zcobol\ZC_CALC.MAC, zcobol\z390\GEN_MOVE.MAC, zcobol\INSPECT.MAC, zcobol\z390\GEN_EDIT.MAC, mac\ZGENOPTD.MAC, rt\test\TESTPC1.MLC, rt\test\TESTSET1.MLC, cics\CICS_INQUIRE.MAC, cics\CICS+ADDRESS.MAC, zpar\ZPARTRS.MLC
1143 01/16/11 W7 P 2 Macro changes:
1) Correct all macros in z390\mac, z390\zcobol, and z390\cics to remove comments beyond 80 characters to prevent errors when using CHCSRC(3). 
2) Correct old bug in FREEMAIN by changing 0777 offset to 0.
3) Add option to SNAP to only dump storage and nothing else by coding PDATA= instead of new default PDATA=ALL
1144 01/16/11 W7 E 2 Document known differences between HLASM and z390 not handled by NOALLOW option including:
     a)  && reduced to & during assignment
     b)  AREAD extebded operands not allowed by HLASM
     c)  PUNCH output file and object code file are separate
     See current limitations documentation here:
     http://www.z390.org/z390_Statistics.htm#z390 Java Program Limitations
1146 01/17/11 W7 P 1 Correct az390 CIJ and CGIJ to check range of 8 bit signed integer operand.  Previously positive values > 127 were allowed in error. KW
1148 01/17/11 W7 P 1 Correct az390 assembler to support 31 bit absolute value base addresses in R1-R15. PG
1149 01/17/11 W7 P 2 Correct ez390 execution trace:
1) LAY shows 64 bit register instead of 32 bit.
2) BALR, BCR, BCTR, BASR should not show second register if R0.
3) Add svc x'ac' and mac\SYSTRACE.MAC to change execution trace options E, G, Q, T, V or null to turn off trace.
1151 01/17/11 W7 E 1 Correct CICS command x'2841xx' and x'2842xx' to override field attribute highlight or color with character color override. MM
1152 01/30/11 W7 P 1 Correct assembly opcode generation for C81 and C82 added for Z9/Z10 by RPI 1013 on 03/09/09.  Neither instruction is currently executable. MM
1153 02/25/11 W7 P 1 Change ez390 GETMAIN support to allocate storage from smallest free area equal to or greater than requested size to minimize fragmentation. MM
1154 03/05/11 W7 P 1 Correct DFP extended precision operations such as AXTR to use extended maximum limits versus long maximum limits for results. MM
1155 03/15/11 W7 P 2 Correct macro processor to not reset CHKMAC option to 0 when AINSERT found and correctly check macros loaded from files. AK
1156 03/23/11 W7 E 1 Add support for optional z390.OPT default options file in the z390 install directory which will set any options specified if found before applying any user overrides from command line and other option files specified.  This can be used to set ALLOW, CODEPAGE, and other installation preferrences if any. DSH
1157 03/29/11 W7 E 2 Add TRACEI option to trace AINSERT statements AK
1158 04/06/11 W7 P 1 Correct CXGTR, CDGTR, CGXTR, CGDTR alternate rounding which was accessing wrong operand byte. DSH
1159 04/18/11 W7 P 1 Correct LTORG to always align to double word boundary even if there are no literals to add to the current pool for compatibility with HLASM. WP
1160 04/25/11 W7 E 2 Add option PDSMEM8 to check that macro and copy names are <= 8 for mainframe PDS compatibility.  The default is NOPDSMEM8 since zCICS and zCOBOL both use names greater than 8. AK
1161 04/25/11 W7 P 1 Correct mz390 to issue error 288 when undefined macro variable is referenced in a model statement. Required corrections to mac\SQXTR.MAC to and linklib\FPCONMFC.MLC to remove undefined macro variables in source statements.  Note macro variables in comment field of source statements must have && to prevent substitution and avoid errors if undefined. AK
1162 04/26/11 W7 P 1 Correct mz390 macro assembler to correctly handle GBL/LCL array declarations with size of 1.  These were being treated as scalars in error. RM
1163 05/07/11 W7 P 1 Correct mz390 macro assembler to correctly support &SYSNDX values greater than 9999 rather than wrapping to 0. MM
1164 05/10/11 W7 P 1 Add macro assembler extended mnemonics for RNSBG, RXSBG, ROSBG, RISBHG, and RISBLG such as LHHR and LHLR.  See new regression tests in rt\test\TESTINS1.MLC and rt\test\TESTINS4.MLC. AK
v1503 12/23/10 W7 Full release with z196 instruction support
1125 07/24/10 W7 E 1 Add 135 new z196 processor instructions to z390 assembler and problem state instruction z390 emulator.   As part of adding ALSIH, also correct ALSI and ALGSI  to correctly indicate borrow condition using shared condition code setting functions.
1) See rt\test\TESTINS1.MLC for assembly test of all instructions including z9, z10, and z196.
2) See rt\test\TESTINS4.MLC for execution test of new z196 problem state instructions.
1132 10/13/10 W7 E 2 Add option MNOTE(n) to control MNOTE error/warning messages during macro expansion and assembly:
 0 - default generates MNOTE error/warning during mz390 and az390
 1 - suppress mz390 error/warning and only pass MNOTE to az390
 2 - generates MNOTE error/warning during mz390 and suppresses passing them on to az390
1135 11/22/10 W7 P 1 Correct AINSERT 'COPY ...' to expand copy dynamically at the time the AINSERT copy statement is inserted in source stream from AINSERT queue.  Previously it was being expanded in the queue incorrectly.  This correction also allows ainsert copy statement to be read by AREAD versus being expanded as copy. AK
1136 11/24/10 W7 P 1 Correct AINSERT to support '.*' which can be read by AREAD.  Source .* statements in open code and macros are omitted during loading. AK
1137 11/24/10 W7 P 1 Correct test entry to prevent trap for bad addresses. AK
1138 11/24/10 W7 P 1 Correct zcobol alignment of decimal point for fixed point and  decimal fields moved to display fields with pictures.  See update to zcobol\z390\GEN_MOVE.MAC and GEN_EDIT.MAC. SC
1140 12/08/10 W7 E 1 Add macro trace showing variable value set by AREAD. AK
1141 12/08/10 W7 E 2 Correct spelling errors in z390 GUI text descriptions AM
1142 12/22/10 W7 E 1 Regression test using J2SE 1.6.0_23
1)  Correct InstallShield build to include sort directory
with test programs for rt\RTSORT.BAT regression test.
10/27/10 W7 Full release with zCICS V9
1128 09/09/10 W7 E 1 Regression test using Windows 7, Intel Core i7 960, and J2SE 1.6.0_21 x64.  Also test Vista and XP with J2SE 1.6.0_21 x32.
1129 09/26/10 W7 P 1 Correct MZ390 error 191 on local macro variable allocation due to not correctly setting result of last search for variable in some cases. AK
1130 10/12/10 W7 P 1 Corrections to VSAM AIX support:
2) Correct doc PATHENTRY= to ENTRY=
3) Convert the following keyword parms to look for YES/NO values and also check for misspelled keyword parms by verifying that only 1 positional parm is defined: REUSE=NO, UNIQUEKEY=YES, UPGRADE=YES, UPDATE=YES. 

Corrections to linklib\REPRO.MLC:
1) Remove debugging SNAP ID=123
2) Correct path for new AIX to match catalog.
3) Correct AIX record format and record length display
3) Correct problem with base record and AIX record being
corrupted in buffer intended to hold both separately.
1131 1013/10 W7 P 2 Corrections to  MZ390 macro processor:
1)  Fix instructions per second statistics to prevent overflow
2)  Ignore AINSERT of macro statement comments .*
3)  Allow * as part of option such as TRACE(*)
4)  Correct parsing of PUNCH statements to prevent Java trap when there is missing ending quote for text parameter.
5)  Add macro assembler trace TRM line for each ACTR statement executed showing the calculated value of the new limit.
6) Correct options typo allowing CDF option instead of EDT.
7) Correct stats STA file display of MAXDISPLAY option
1133 10/18/10 W7 E 1 zCICS V9 with the following enhancements:
1) CEDF Phase 1: Intercepts and Working Storage
2) BMS colour support
3) Non-terminal attach support
5) CEMT INQUIRE/SET FILE fully implemented
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.
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.
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.
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
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.
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.
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
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")
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.
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.
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.
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
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.
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.
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.
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)
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 Monday May 21, 2012.   Webmaster 
Copyright 2008 Automated Software Tools Corporation