z390 Portable Mainframe Assembler and Emulator

z390 Project Download
Archive History

Automated Software Tools Corporation
For the latest z390 full release download plus any PTF''s visit Download Archive.  Below are RPI's for z390 prior releases.  For pending RPI's visit RPI Support Request Log.
Release RPI Date OS P/E Sev Problem or Enhancement Description Req
v1.4.00f   02/22/08       PTF with cumulative fixes for v1.4.00  
  807 02/19/08 VA P 1 Publish updated macro KSIRD.MAC with 2 new fields for low and high branch height used in AVL balancing of KSIT tree with KSIR nodes. DSH
  808 02/20/08 VA P 1 Correct pz390 as follows:
1) Prevent trap on trace of LA when address higher than max memory and show value of -1 instead.
1) Prevent HFP and BFP underflow exception for multiply operations when one of the two operands is exactly zero or for divide when the divident is exactly zero.  See new contest problem mfacc\P12DSH2.MLC to calculate standard deviation in HFP and P11DSH3.MLC to calculate standard deviation using only DFP instruction.  All solutions correct to within 33+ decimal places.
DSH
v1.4.00e   02/18/08       PTF with cumulative fixes for v1.4.00  
  806 02/08/08 VA E 1 VSAM fixes and enhancements:
1) Add automatic balancing of insert KSIT tree using AVL balancing technique to maintain even tree depth after inserts.
2) Add verification of all double links between KSIT and KSIR's.
3) Add verification of all KSIR heights in KSIT balanced tree.
4) Add AVL statistics to VSAM statistics for STATS option
5) Improve VCB cache size for optimizing VSAM I/O
4) Add regression test vsam\test\KSF2TST4.BAT which tests inserting 1000 records in pseudo random sequence and then fetching them by key sequentially to test AVL rotations LL, LR, RR, RL and verify KSIT tree has only 10 levels (2**10=1024).  With cache on, the resulting file I/O to insert and then fetch 1000 records is about 10,000 or 10 I/O's per record.  VSAM KSDS insert can be used as a sorting tool with the efficiency comparable to shell sort where I/O is proportional to N * log2 N.
DSH
v1.4.00d   02/08/08       PTF with cumulative fixes for v1.4.00  
  723 10/20/07 VA E 1 Add insert support for KSDS VSAM.  See new regression tests:
1) KSF2TST1 - insert and retrieve by key.
2) KSF2TST2 - insert 3 in single KSIT and retrieve by key.
3) KSF2TST3 - retrieve inserted records by key and then sequentially forward and then backwards.
DSH
v1.4.00c   02/01/08       PTF with cumulative fixes for v1.4.00 built using J2SE 1.6.0_04 including v1.3.09b and v1.4.00a fixes DSH
  318 06/03/06 XP P 1 Synchronize processing to prevent buffer overrun between pz390 thread TPUT's and gz390 processing of buffer data.  Run rt\RTGUAM regression test for interactive GUI tests. GP
  803 01/31/08 VA P 1 Correct macro pseudo code for computed AGO.  First time is ok but repeated execution results in pseudo code error.  See updated rt\test\TESTMAC2.MLC regression test. DSH
  804 01/31/08 VA P 1 Change blinking cursor to ? instead of underline since underline is not visable on line 24.  Run EXEC guam\test\TESTGUI4 GUAM. MM
  805 01/31/08 VA E 1 Allow comments on EXEC CICS assembler source statements when preceded by comma or period following last space delimited operand.  See updated regression test rt\test\TESTCIC2.MLC. MM
v1.4.00a   02/26/08       PTF with cumulative fixes for v1.4.00 built using J2SE 1.6.0_03  
  798 01/25/08 VA P 1 Correct DFP instructions as follows:
1)  Correct RRDTR and RRXTR reround to specified significant digits to prevent system trap due to erroneous check for exact result. 
2)  Correct ESDTR and ESXTR extract significant digits to include trailing zero digits.
3)  Correct TRACE format for RRDTR, RRXTR, CSDTR, and CSXTR (was showing FP reg versus GP reg)
4)  Add mfacc\P13DSH1.MLC solution to ZMFACC problem #13 calculation of unit price rounded to 2 decimal places using DFP.
DSH
  801 01/26/08 VA E 1 Change cumulative PTF packaging to include InstallShield 2008 install of PTF files for Windows.  The PTF zip now contains the following:
1) README.TXT file describing the steps to install and verfiy PTF update to installed release of z390 on Windows or Linux.
2) setup.exe InstallShield executable file to automatically install cumulative PTF files for current z390 installed release on Windows.
3) z390 sub-directory with the changed files which can be copied to install directory for Linux adding or replacing updated files in each directory.
DSH
v1.4.00   01/25/08       Full release for Windows and Linux - first build on J2SE 1.6.0_03  
  710 10/01/07 VA E 1 Upgrade to InstallShield Express 2008 for build. DSH
  714 10/08/07 VA E 1 Upgrade to J2SE 1.6 upgrade 3 base for building z390.jar which means J2SE 1.5 runtime is no longer supported.  If you try to run z390 v1.4.00 on J2SE 1.5 runtime, an error loading class will occur.  Remove the J2SE 1.5 runtime and install J2SE 1.6.0_03+ runtime. DSH
v1.3.09b   01/30/08       PTF with cumulative fixes for v1.3.09 built using J2SE 1.5.0_14 including v1.4.00a fixes  
  792 01/17/08 LX P 1 Correct Linux support:
1) Add Linux Perl script cmd.pl support for new ECHO OFF/ON within BAT files.  Note Linux echo console command just echos text..
2) Add IF EXIST file ERASE file commands.
3) Correct regression test rt\RT1.BAT to use uppercase name for @rt\RT1 option file.  Note PTF must be applied after RT.ZIP is installed.  See updated Linux installation of PTF's
4) Correct z390 GUI interface to prevent spurious error during termination while closing error message log for started task.
DSH
v1.3.09   01/23/08       Full release for Windows and Linux - last build on J2SE 1.5.0_12  
  716 10/10/07 VA E 1 Move all save directories used for regression test verification to the rt optional install sub-directory to reduce size of the standard z390 install zips.  Also move all the rt command files from root directory.  After installing optional MVT.ZIP and RT.ZIP in z390 install directory, run rt\RT.BAT to run regression tests and compare to saved files in the rt sub-directories. DSH
  760 12/15/07 VA E 1 Move all options documentation from User Guide by program to new z390 Options web page which lists all options and which programs they affect.  This web page also includes java execution options, environment variable options, and file types. AK
  790 01/16/08 VA P 1 Correct az390  assembler as follows:
1) Set DFP constant exponent to match decimal point similar to P.
2) Correct exponent bias for ED and LD (was using DD bias in error)
3) Set scale factor for DFP based on digits to right of decimal if no explicit scale modifier specified.
4) Support scale factor S' and I' operators in assembler expressions.
See updated regression tests rt\test\TESTSYM1, rt\test\TESTDFP1 and rt\test\TESTDFP2.
BL
  791 01/17/08 VA P 1 Correct pz390 set CC3 for CGXTR and CGDTR when number too large for 64 bit register.  See updated rt\test\TESTDFP1. BL
  795 01/20/08 VA E 1 Add z390 CICS compatible support V4 by Melvyn Maltz with browse support for VSAM ESDS, RRDS< and KSDS.  See updated z390 CICS Compatible Support V4 online documentation. MM
  796 01/21/08 VA E 1 Add z390.man manifest file to z390\src directory for use in building z390.jar from java class files.  Add bldjar6.bat command file used to build z390.jar file using jar.exe utility from J2SE jdk.  See new z390 Java Source Compiling and Debugging. AK
v1.3.08h   01/14/08       PTF with cumulative fixes for v1.3.08  
  755 12/09/07 VA E 1 Change LOG and STATS options as follows:
1.  Wrap options to 80.
2.  Change default to NOSTATS.
3.  If option STATS or STATS(file) is specified, direct all statistics to the statistics file rather than to BAL, PRN, LST, and LOG files.
4.  List all changed options on STA file.
5.  List all macro/copybook file cross reference on STA file.
6) Add ECHO OFF to all batch commands such as ASMLG.BAT to suppress output listing of BAT file commands.
7) Echo start and stop messages on console and ERR file regardless of CON setting and include z390 and J2SE version on start message.
8) Only put copyright and license msgs on PRN, LST, and LOG files.
9) Change the command files ASMLG.BAT, ASML.BAT, ASM.BAT, LINK.BAT, and EXEC.BAT to set ECHO OFF so the only messages appearing on the GUI or command line log display are the START and STOP messages if CON option is off.
AK
  756 12/09/07 VA P 1 1)  Fix all file parameters to accept relative or explicit path for file including paths with double quotes if needed, and paths starting with drive and no explicit path (i.e. relative path on specified drive.
2)  Fix GUI file selection to not include 2 sets of double quotes for paths with spaces.
3)  Fix @file processing to handle parms with spaces in "...".
4)  Fix file processing to issue error on unrecognized file name formats such as one ending with dot. 
AK/PJF
  757 12/11/07 VA P 1 Add KSDS support for POINT and GET with GEN generic keys.  See updated vsam\test\KSF1TEST.MLC regression test. MM
  758 12/11/07 VA P 1 Correct shift double, M, D, and other double register instructions to generate specification exception for odd register.  See correction to rt\test\TESTMEM2 detected by 0C6 specification exception. MM
  759 12/14/07 VA E 1 Correct lz390 linker to align statistics output to line up the same as mz390 and az390 for post processing. AK
  763 12/11/07 VA P 1 Correct ACTR limit check to allow 4096 versus 4095 AGO or AIF branches within single macro call or open code for compatiblity. AK
  765 12/19/07 VA P 1 Change Z390 GUI to force line split before sending "EXIT" to task for termination. AK
  768 12/22/07 VA P 1 1.  Correct LXR failing due to not setting correct floating point cache status for 2nd register in pair.
2.  Correct square root routine to use rounding from contest when adjusting scale factor to even value.
DSH
  769 12/23/07 VA E 1 Change az390 to just issue error rather than abort for invalid ASCII characters in source statements.  Check  * comment lines for ASCII as well. AK
  770 12/27/07 VA E 1 Add lz390 linker option to turn off autolink via NOAUTOLINK which then requires explicit includes for all external references. AK
  771 12/27/07 VA P 1 Correct az390 to allow 0 address field in CCW's. AK
  772 12/27/07 VA E 1 Correct LISTCALL MEXIT generation to prevent truncating macro call reference number which matches previous MCALL. AK
  773 12/27/07 VA E 1 Issue abort error 224 if OPSYN table exceeded (It was ignoring requests at limit).  AK
  774 12/28/07 VA P 1 mz390 fixes:
1) Correct SETC expression parser to handle (exp)'string' where expression result is 0 resulting in an empty duplicate string versus a null string.
2) Correct compound AIF pseudo code execution to exit on first true test condition.  It was erroneously branching on last true test condition.
AK
  776 12/31/07 VA P 1 Correct erroneous parsing error due to comments on USING statement.  See updated rt\test\TESTUSE1.MLC BL
  777 12/31/07 VA P 1 Add support for decimal point in P and Z type data fields and set scale factor accordingly.  Correct sign in low order zone for Z type.
See updated rt\test\TESTDC1.MLC regression test.
BL
  778 12/31/07 VA P 1 Correct continuation of section following negative ORG in same section.  See updated rt\test\TESTORG1.MLC. BL
  779

 

12/31/07 VA P 1 Correct VSAM KSDS errors:
1)  Return current key in RPL ARG field.
2)  Correct sequential backward processing to not skip every other record under certain conditions.
3) Correct TRACEV to show full key in RPLARG area for RRDS (4 ir 8 byte RBA) or KSDS.
4) Set KSDS POINT with high value key to end of file.
See changes in output for vsam\test\KSF1TEST.MLC.
MM
  781

 

01/07/08 VA P 1 Correct pz390 instruction processing errors discovered while testing z390 Mainframe Assembler Coding Contest problem #10 solution submitted by Mats Broberg at SEB Sweden:
1)  Correct packed decimal instructions to switch from Java internal long to BigInteger when result value may exceed limits of long.
2) Add check for DLG and DLGR overflow.
DSH
  782 01/08/08 VA P 1 Stop the interval timer process at exit from ez390 to prevent occasional thread exceptions during shutdown of ez390. DSH
  786

 

01/11/08 VA P 1 Change az390 to generate decimal floating point constants with preferred exponent of -2 if possible without loss of significance.  Previously DFP constants were generated with smallest quantum which is arithmetically equivalent.  See IBM Journal reference article.  See updated regression tests linklib\TESTFP1.MLC, rt\test\TESTDFP1.MLC, and rt\test\TESTCFD1.MLC which have been changed to use arithmetic compares versus CLC compares to allow for constants and calculated results to compare equal even thought they have different canonical forms.  The lastest POP describes the preferred canonical forms for different DFP operations in table 20-4. BL
  787 01/13/08 VA P 1 Correct support for DFP un-normalized instructions:
1) Flush cached un-ormalized result to register for following store.
2) ESDTR and ESXTR - set significant digits to 0 for value 0.
See updated rt\test\TESTDFP1.MLC.
BL
788 01/13/08 VA P 1 Correct overflow exception on CSDTR, CSXTR, CUDTR, CUXTR by truncating high digits as required.  See updated rt\test\TESTDFP1.MLC. BL
790 01/14/08 VA E 1 Include new ZMFACC macro used for portability of z390 Mainframe Assembler Coding Contest solutions across the following environments: z390 running on J2SE on Windows or Linux, Hercules MVS 3.8 for Windows or Linux, z/OS, z/VM CMS, or VSE. DSH
v1.3.08g   12/09/07       Cumulative fixes and enhancements for v1.3.08  
  746 12/01/07 VA E 1 Move generated BAL comment for macro calls before initial load to more easily identify source of any macro loading errors or missing macro label warnings.  Also correct  source file cross reference line number reference errors in TRM trace file for TRACEM. AK
  747 12/01/07 VA E 1 add options to control level of z390 checking in RPI 747 as follows:
CHKSRC(n) where n is as follows with default CHKSRC(1):
0 - no checking for ASCII (allows non-printable ASCII characters in source which may or may not result in errors later in assembly or execution depending on whether they appear in comments or in character strings intended to be hex EBCDIC characters. These need to be in X'...' format for portability.
1 - check for any non-printable ASCII characters in MLC source.
2 - check for any non-printable ASCII characters in all MLC and macro source code.  Note COPY sources are always checked along with files that include them.

CHKMAC(n) where n is as follows with default CHKMAC(0):
0 - no checking for missing macro labels and no checking for source statements after final MEND.
1 - check for missing macro labels during loading and generate warnings.
2 - check for missing labels and check for any source statements after final MEND and generate warning.

Misc related fixes:
1.  Correct line number reference for bad character error messages.
2,  Correct az390 to generate private CSECT for any opcode prior to first section declaration.
See usage on rt\test\TESTERR1.MLC.
AK
  749 12/02/07 VA E 1 Misc. fixes for az390 assembler:
1) Issue error for EQU expression referencing itself (X EQU X).
2) Issue error for literal with forward referenced symbols in modifiers such as =C(SECTLEN)' '.  Alternate code paths could change value of lookahead symbol resulting in erroneous literal.  Note HLASM does not perform lookahead for literal references whereas z390 always does lookahead for entire source file during loading into memory prior to pseudo code generation.  See updated rt\test\TESTERR2.MLC
r
  750 12/03/07 VA P 1 Corrections and enhancements to VSAM KSDS support:
1) Trace RPL after each function for TRACE(V)
2) Correct processing for POINT using KGE and generic key.
3) Correct GET without SEQ returning not found, and GET SEQ returning second record instead of first with KGE. 
4) Add KEYLEN= parm support to MODCB.
5) Split RPLFLAG word into 4 bytes with equates in RPLD.
See new vsam\test\KSF1TEST.MLC with KSDS retrieval using full keys and KGE generic keys.
MM
  751 12/04/07 VA E 1 Add CICS response code DFHRESP(EXPIRED) = F'31'. MM
  754 12/08/07 VA P 1 Issue error and exit macro after ACTR limit error versus abort.  Also correct macro pseudo code AGO to decrement ACTR count. AK
v1.3.08f   11/30/07       Cumulative fixes and enhancements for v1.3.08  
  742 11/17/07 VA E 1 1) Issue error message and abort if option is not recognized.
2) Add @filename option to include options from free form text file with optional comments starting with *.  Default file name suffix is OPT, and search path is SYSOPT which defaults to program directory.  SYSCPY changed to default to SYSMAC which defaults to program directory.  Any number of @files can be specified and they can be nested.  See rt\test\TESTOPT1 regression test.
3) If any option with directories or files is specified and it starts with +, then concatenate with any prior setting for that option else replace it.  Ignore + if it is the first occurrence of option.
AK
  743 11/17/07 VA P 1 Misc. mz390 corrections:
1) Correct mz390 to allow comment on macro proto-type statement following positional and keyword parms. 
2 )Correct mz390 to allow comments without leading comma on PR just like it does with 12 other instructions with no operands.
3) Set attribute type for CNOP label to 'I'.  Note length is unknown during lookahead mode.
4) Correct PUNCH processing to support comments following '...'
See rt\test\TESTASM1.MLC regression test.
AK
  744 11/24/07 VA E 1 Change mz390 and az390 to issue error if non-comment source statements contain non-printable ASCII characters.  This will help identify any character constants such as C'..' which must be converted to hex format X'....' for portability between EBCDIC and ASCII based host system.  See rt\test\TESTERR1.MLC AK
  745 11/25/07 VA E 1 Add mz390 support for the AREAD options CLOCKB, and CLOCKD and ignore options NOPRINT and NOSTMT. See rt\test\TESTASM1.MLC regression test. AK
v1.3.08e   11/17/07       PTF with cumulative fixes for v1.3.08  
  738 11/12/07 VA P 1 Correct LAY instruction trace to prevent address exception on attempt to fetch addressable memory beyond real memory. MM
  739 11/12/07 VA P 1 Correct RRDS and KSDS sequential access versus key access to test RPL option SEQ versus KEY. MM,DE
  740 11/14/07 VA E 1 Misc. changes:
1) Allow mismatch between proto-type and macro file name with just a warning message.
2) Add option CHKMAC to check all macros during loading for excess statements beyond the final MEND statement.
AK
v1.3.08d   11/16/07       PTF with cumulate fixes and enhancements for v1.3.09  
  735 11/12/07 VA P 1 Corrections to new linker LNK support plus a few misc. changes:
1) Change LNK to LKD to avoid conflict with Windows shortcuts
2)  Ignore CTRL-Z (hex 1A end of file codes in LKD source code
3)  Prevent trap when INCLUDE DDNAME is not defined
4)  Issue message ignoring all unrecognized command such as SETOPT and PARM(....)
5) Check for explicit .OBJ on lz390 file parm and ignore LKD
6) Assign default starting address of load module to matching EXTRN if there is no matching CSECT/ENTRY in load module.
AK
  737 11/11/07 VA E 1 Misc. corrections and enhancements:
1) Add mz390 warning message if non-comment type statements found after END statement with option ASM. 
2) Add option STATS(filename) to append all statistics output from mz390, az390, lz390, and ez390 to filename.STA.  Use of this option turns off statistics as comments at end of BAL, PRN, LST, and LOG files.  Spectify NOTSTATS for no statistics at all.
3) Correct spelling of "version" in IVP message.
4) Correct superzap spelling on command prompt
5) Correct superzap.bat rem, spelling, and remove pause
6) Correct superzap display of each command read once
8) Correct superzap SYSIN file I/O error to display error message and exit rather than issue user abend.
9) Correct z390 GUI interface to route all input to running CMD task until it terminates.  Enter exit or ctrl-break to force CMD end.
10) Update superzap web page documentation
11) Correct az390 assembler to handle Enn exponent modifier on F and H type constants.
12) Prevent trap on ASCII character literal conversion to EBCDIC for hex codes 00-ff.  ASCII with high bit maps to same EBCDIC character as ASCII with no high bit.  When converting EBCDIC source to ASCII for use with z390, translation use a tool that reports any hex literals with non-ASCII characters as errors.  These much be converted from C'...' to X'....' format for portability.
AK
v1.3.08c   11/09/07       PTF with cumulative fixes for v1.3.08  
  732 10/27/07 VA E 1 Add new lz390 linker optional input command file named linkfile.LNK  where linkfile is the linker parm anme.  The LNK command file may contain 1 or more sets of the following commands to create 390 load modules:
1)  INCLUDE DDNAME(name) - default is linkfile.obj
2)  ALIAS name - default no alias created
3)  ENTRY name - default is offset 0 in linkfile.obj
4)  NAME name(R) - default is to create single linkfile.390
The (R) is assumed if not present.  The default directory for the LNK command file is the same as the MLC source default directory.  ALIAS will generate 390 stub file which simply contains up to 8 character ASCII name of the real 390 program to execute.  These stub 390 files contain no OS dependent path characters and are portable between Windows and Linux.  The ALIAS and the real 390 program will be located using SYS390 directory option setting.
AK
  733 10/27/07 VA E 1 Consolidate all the TRACE options into one option using TRACE(AEGLMQTV) where letters represent the following:
 A - trace az390 assembler creating .TRA file
 E - trace ez390 instruction execution creating .TRE file
 G - trace all GETMAIN/FREEMAIN requests on .TRE
 L - trace lz390 linker creating .TRL file
 M - trace mz390 macro propcessor creating .TRM file
 P - trace nz390 macro pseudo code generation/execution on TRM
 Q - trace all QSAM DCB I/O data transfers on .TRE file
 T - trace all TCPIO messaging transfers on .TRE file
 V - trace all VSAM ACB I/O data transfers on .TRE file
The existing TRACE option is the same as TRACE(E) and the TRACEALL option is the same as TRACE(AEGLMQTV)
MM
v1.3.08b   11/07/07       PTF with cumulative fixes for v1.3.08  
  724 10/22/07 VA E 1 Change REPRO VSAM utility support as follows:
1) Support the following sequential unloaded file formats:
 
RECFM Prefix words Record Notes
EF none records up to 2 GB Default for fixed ESDS/KSDS (a)
EV LLLL records up to 2 GB Default for variable ESDS/KSDS (a, b)
RF RRN records up to 2 GB Default for RRDS, (a, c)
RV LLLL,RRN records up to 2 GB Default for VRRDS (a, b)
F or FB none records up to 32760 (d)
FT none ASCII text records (d), Converts to EBCDIC
V LL00 records up to 32760 (d,e)
VB BB00,LL00 records up to 32760 (d,e,f)
VT none ASCII text records (d), Converts to EBCDIC

Notes:
a) The default formats (EF, EV, RF, and RV) all use QSAM fixed format I/O changing the full word DCBLRECLF to read or write up to 2 GB at once.
b) LLLL is full word record length up to 2 GB including 4 or 8 byte prefix.
c) RRN Relative Record Number is full word starting with 1 for first record.
d)  F, FB, FT, V, VB, and VT alternate standard QSAM formats may be used by coding [RECFM=xx] following file name on corresponding INFILE or OUTFILE set statement.  Note unloading RRDS/VRRDS to alternate QSAM format file will skip unwritten records, and reload may assign different relative record positions form the original RRDS/VRRDS file.
e) LL00 is 2 byte record length including prefix followed by 2 byte zero.
f ) BB00 is 2 byte block length including prefix followed by 2 byte zero.  One or more LL00 prefixes and records may appear in a block.  Blocking is unnecessary as REPRO uses its own larger buffer to optimize performance.
2) Change VSAM RRDS structure to use VX0 index to point to non-null records with XRBA+1.  Null records contain 0 XRBA index values just like VRRDS and KSDS.  This saves space for sparse record files and simplifies detection of unwritten or deleted records.
3) Add REPRO buffer to reduce I/O's and improve performance using 500k buffer..
4) Add statistics showing record formats and total records.
5) Correct VSAM to raise no record found when randomly reading empty slot.
6) Correct RRDS to return RRN Relative Record Number starting with 1.
7) If RRN = -1, set to next RRN at end of file.
8) Return invalid request response for RRDS option ADR and ESDS option KEY.
9) For RRDS get with KEQ return no record found if null record.
10) For RRDS get with KGE return next non-null record.
See updated RRF1TEST, RRF1SKP1, RRF1REPO, RRV1TEST, RRV1SKP1, and RRV1REPO regression tests in vsam\test.

MM
  725 10/22/07 VA E 1 Remove -Xmx option from mz390.bat (no longer needed with 2GB memory on PC).  See updated EZ390.BAT comments documenting all the options available.  Add link to J2SE runtime options documentation. MM/DSH
  726 10/23/07 VA E 1 Suppress error 187 indicating first assembly address change if there are previous errors reported or the TRACE option is on. AK
  728 10/23/07 VA E 1 Enhancements to mz390/az390 to support assembly of Waterloo Assembler G source code available on the web from SHARE files at www.cbttape.org file #593 (43k lines of code in 44 MLC files with 2817 lines of macro code in 73 MAC macro files and 1 CPY copy file):
1)  Rename MVS macro DLETE.MAC to DELETE.MAC.
2)  Add support for ICTL start, end, continue source format control statement in the mz390 loading stage.  See ASMG source module ASMGBUFF.MLC as exmple using ICTL 1,71,20 which successfully assembles with continuation lines starting in col. 20.
2)  Ignore ICTL and ISEQ statements in the az390 assembly process.  The BAL file generated by mz390 is in standard ICTL 1,71,16 format with any ICTL and ISEQ statements included but ignored.
AK
  729 10/26/07 VA E 1 Add EXEC CICS DFHRESP response code ILLOGIC with value F'21'.  See updated rt\test\TESTCIC1 regression test. MM
  730 10/26/07 VA P 2 Correct LOG(filename) option to override the default program name for the LOG, TRE, and ERR execution output files using the same path as the program.   If there is no program path specified as in the case of REPRO and other utilities, then the current directory is used for LOG(files).  This enables creation of separate files for multiple programs with the same name running concurrently via CMDPROC started tasks. MM
  731 10/26/07 VA P 1 Change processing of CMDPROC started task output as follows:
1)  Optimize the methods used to sent and receive messages to/from started tasks using line at a time versus character at a time methods.
2)  Add option MAXLOG(mb) with 1 MB default.  When the visible GUI log exceeds the MAXLOG limit, the visible log will be truncated by 50% to prevent exceeding available memory.
3) Add option MAXQUE(messages) with 1000 default.  When the number of started task output messages queued in memory exceeds this limit, all output from started tasks is copied to the parent's log file to prevent exceeding available memory.
4)  Add keyword option CMDLOG=YES to CMPROC macro for use with START command to indicate that parent task should automatically route any started task output to the parent log file.  Log messages from started tasks will be prefixed with CMD ID=N.  If CMDLOG=NO is specified, the parent task must issue CMDPROC READ commands to retrieve messages from the memory resident started task output queue.
5) Issue yield after each output message from started task svc services to allow parent task to process message or copy message to the parent's log file. If the memory queue reaches MAXQUE limit for any reason, then messages will be copied to LOG and will no longer be available via CMDPROC READ commands.  
6) Correct error message 18 to say maximum trace file size exceeded instead of bal.  To increase maximum output file sizes from default of 50 MB, add option MAXSIZE(100) etc.
7)  Add support for CMD subtasks running J2SE programs to request parent task shutdown due to abort error such as file error.  Any CMD subtask can request parent abort by sending message "z390_abort_request" to standard output.  This allows CICS to shutdown gracefully without leaving hung local terminal processes.
See updated rt\test\TESTCMD1 and TESTCMD2 regression tests with new CMDLOG=NO added.
MM
  734 11/02/07 VA P 1 Correct ELSEIF macro code generation error for multiple condition tests using OR connector. DSH
v1.3.08a   10/20/07       PTF with cumulative fixes for v1.3.08  
  712 10/02/07 VA P 1 Corrections to GUAM support for TN3270 screen used by CICS:
1)  Correct TGET with RC=4 returning data in buffer unexpectedly.
2) After CTRL-C clear screen, set cursor at (1,1).  This is to correct intermittent problem with cursor returning to cursor location from previous TPUT.
3) Correct code to prevent trap on bad index during interval timer exit for checking WTOR reply and timeout limits.
MM
  713 10/04/07 LX P 1 Corrections in order to successfully install z390 v1.3.08 on Ubuntu Linux 6.06 LTS and run all regression tests:
1)  Change iz390.java to match file name case for Z390.IVP.
2)  Correct RTLINK1.BAT to use lower case mac+linklib for UNREF assembly.
3) Correct RT.BAT to remove RTUTIL references and add vsam DIFF.TXT file for Linux.
4) Correct cmd.pl perl script to correctly handle SET commands where value contains = such as [RECFM=FT] in REPRO commands for testing VSAM.
5) Add new command COMP1.BAT to handle both Windows and Linux file compares using fc or diff creating difference file and setting rc to non-zero if files have differences other than while space.
6) Correct file I/O to check for relative path and prefix with current directory as defined in J2SE since Linux and Windows are inconsistent with respect to current directory used by file handler.
7) Update cmd.pl to pause and then exit if unknown BAT command attempted.
VS reported error in perl scripts but with the corrections above I was able to run all regression tests including vsam with no errors on Linux with J2SE 1.5.0_13. 
VS/DSH
  717 10/11/07 VA P 1 Set r15=0 for all TIME svc options if successful else R15=4. DSH
  718 10/14/07 VA E 1 Enhance OPEN and CLOSE macros to issue error if register symbol not enclosed in extra (reg) such as OPEN (r1) versus OPEN ((r1)).  MM
  719 10/14/07 VA E 1 Add option on LOG command to specify log, trace, and error file name override in the form LOG(filename) which overrides the default pgmname with .LOG, .TRE, and .ERR file names.  This option should be specified whenever launching multiple tasks which have the same program name to create unique log, trace, and error files. MM
  720 10/15/07 VA E 1 Eliminate recursive error message following error 39 for missing MLC source file. DSH
  722 10/18/07 VA P 1 Correct WTOR to flush cmd input queue from std in for current process in order to get reply from next cmd input msg send by parent task which may be any of the 3 following sources:
1)  Console input if program executed from command line
2)  z390 GUI which passes on console input if cmd process running
3)  parent cmd process which may issue cmd input to spawned process after receiving it from any of the 3 options.
MM
               
v1.3.08   10/02/07       Full release with initial VSAM ESDS, RRDS, and KSDS support.  
  676 08/14/07 VA P 1 Correct IVP version files to match release. PK
  684 08/23/07 VA E 1 Change utilities as follows:
1)  Move all utilities including REPRO, SUPERZAP, and UNREF to linklib directory which is now on the default 390 execution path for EZ390 command.  The util directory is being removed. 
2) Change SUPERZAP to test if SYSIN command file defined and if not default to PARM(CON) for console input.
3)  Add the following new utility commands in z390 directory:
a)  REPRO.BAT - INFILE=%1, OUTFILE=%2
b)  SUPERZAP.BAT - SYSIN=%1.ZAP, SYSPRINT=%1.RPT
b)  UNREF - PRNFILE=%1.PRN, URFFILE=%1.URF  
MM/DSH
  678 08/18/07 VA E 1 Add initial KSDS support.
1)  See vsam\demo\KSF1RPO1.BAT which uses REPRO to load KSF1NAME cluster and primary index from text file KSF1NAME.TF1 containing 6 records with name, address, etc.  Then it uses REPRO to unload fKSDS file to ascii text file KSF1NAME.TF2 and compares it to the original input file.
2) See vsam\demo\KSF1DEMO.BAT which reads 6 records in KSF1NAME KSDS file in reverse order via primary key access.
Run RTVSAM.BAT to run all VSAM regression tests and demos.
3) See vsam\demo\KSF1SKP1.MLC which does POINT for key MQ with RPL option KGE and then reads and lists records sequentially to end of file.
DSH
  693 09/10/07 VA E 1 Add VSAM random access performance improvement by caching read only index I/O.  Add option VCB with default on indicating VSAM Cache Buffering operational.   To see VSAM I/O statistics without any buffering specify option NOVCB.  In the KSF1DEMO.BAT using VCB reduces the primary KSDS index file read I/O's from 15 to 6 plus 9 cache reads. DSH
  700 09/19/07 VA E 1 Add linklib directory to end of SYS390 load lib search in order to execute REPRO, SUPERZAP, UNREF and other utilities in linklib without requiring path.  DSH
  706 09/28/07 XP P 1 Misc. VSAM corrections:
1)  Correct POINT to set FDBK and return code correctly.  Note all VSAM files are limited to MAXSIZE(mb) option setting which defaults to 50 MB. VSAM files using RBA vs XRBA are limited to 2 GB (31 bits) regardless of MAXSIZE setting.
2) Store RBA or XRBA in RPLARG on sequential GET or PUT for ESDS and check limit.
3)  Check file size limit on all VES reads and writes.
4) Check RBA/XRBA for fixed ESDS for multiple of record length.  There are no other consistency checks of positive RBA/XRBA for variable length ESDS or KSDS files currently. 
MM
  707 09/28/07 VA E 1 Change default maximum number of concurrent files in use to 1000 versus previous 10,000.  This can be overridden with MAXFILE(..) if necessary for very large macro assembly. DSH
  708 10/01/07 VA E 1 Update z390 documentation contributed by Melvyn Maltz:
1) ZDOCINDX - z390 Macro and copybook index

2) ZDOCPROG - z390 Program Services Guide
3) ZDOCFILE - z390 FIle Access Method Guide
4) ZDOCSERV - z390 Macro and SVC Services Guide
5) ZDOCSTOR - z390 Storage Services Guide
MM
  709 10/01/07 VA P 1 Misc. fixes found during v1.3.08 documentation updates:
1) SUBENTRY - missing quote in AIF after .NOSTK2 label
2) PENTRY - remove references to PTRACE
3) COMRG - make default register (1) and remove dead labels.
4) GETIME - change default to CLOCK=NO
5) GET - correct MNOTE text errors
MM
  711 10/01/07 VA E 1 Install z390 CICS compatible transaction Manager V3 contributed by Melvyn Maltz including CICS VSAM support for ESDS browsing. MM
               
v1.3.07f   09/27/07       PTF with cumulative fixes for v1.3.07 plus GENCB support.  
  701 09/20/07 VA E 1 Change REPRO default to replace existing VSAM files during load processing rather than adding records unless OUTFILE has overide [DISP=MOD] specified after catalog.entry name. DSH
  702 09/20/07 XP P 1 Change ESDS  and RRDS support as follows:
1)  Require use of POINT to set ESDS current RBA/XRBA position prior to GET for SEQ FWD or BWD RPL's.  Allow use of RBA/XRBA of high values for POINT  to indicate end of file.  See updated ESF1SKP1 and ESV1SKP1 regression test changes.
2) Require use of POINT to set current position prior to GET for SEQ FWD or BWD.  Support with LRD or high value record number or RBA/XRBA to position to end of file.  See new ESF1SKP1, ESV1SKP1, RRF1SKP1 and RRV1SKP1 regression tests.
3) Change ACB and RPL option DIR to KEY for random access to RRDS and VRDDS by record #.  See all demo and test RRDS/VRRDS programs.
4) Change TRACE format for both VSAM and TCPIO svc's to show the name of the specific operation being requested based on opcode in R0.  For example you can now search for "VSAM POINT" in trace.
5)  Change positioning support to always store current VES or VX0 XRBA address in RPLCXRBA field.  Store last record XRBA in RPLLXRBA else store -1.  Reset RPLLXRBA to -1 and RPLCXRBA to 0 when new or reopened ACB is detected for RPL.
6) For ESDS sequential access, return current RBA/XRBA for each record in RPLARG.  See updated ESF1SKP1 and ESV1SKP1 regression tests.
8) For RRDS and VRRDS sequential access skip null records created by system and return relative record # in RPLARG.  See updated RRF1SKP1 and RRV1SKP1 regression tests.
MM
  703 09/20/07 XP P 1 Correct GENCB macro missing quote in AIF following label WAREA2.  Correct ZGENRPL and ZGENACB macros to ignore 0 value fields rather than redundantly storing 0.  See reduced code generated for ESF1SKP1 and ESV1SKP1 tests. MM
  704 09/23/07 VA E 1 Add VSAM catalog support for CONTROLINTERVALSIZE= on CLUSTER to force CI padding so VES file can be processed as LINEAR reading CI block at a time.  See updated ESF1CI2K and LDS1CI2K catalog entries in vsam\test\TESTCAT.MLC. DSH
  705 09/25/07 VA E 1 Add new z390 VSAM RPL Operation Regression Tests Documentation showing RPL functions and options specified for each regresson test. DSH
v1.3.07e   09/18/07       PTF with cumulative fixes for v1.3.07 plus GENCB support.  
  682 08/20/07 XP E 1 Add GENCB macro support for dynamic ACB and RPL creation:
1)  Change OPEN to generate required DCBD for option flag refs.
2)  Correct RPLD name of RPLID field.
3)  Add ZGENMACF and ZGENOPTD macro to support MACRF= and OPTCD= option bit generation shared by ACB, RPL, and MODCB.
MM
  696 09/15/07 XP P 1 Correct misc. VSAM errors:
1)  Correct ZMODCB error to handle 1  byte fields which caused error MNOTE trying to change MACRF or OPTCD fields.
2)  Correct REPRO to verify successfully loaded catalog file is a VCDT catalog before assuming DDNAME is a VSAM catalog reference.
3)  Add support for MODCB default option parms for RPL OPTCD - FWD to turn bit off in RPL with BWD set. Note all the required OPTCD option bits in ACB MACRF or RPL OPTCD must be specified since MODCB replaces the entire field with new options specified.  Add support for RPL= and ACB= which means that the RPL fieldfor ACB address is being updated.
MM
  697 09/17/07 XP P 1 Correct QSAM\VSAM related I/O support as follows:
1) Correct DCB variable GET and PUT to allow 5 byte variable length records with 1 byte of data.  Previously errors 28 and 35 were issued for 1 byte variable length records in error.
2) Change REPRO to accept override of QSAM RECFM for fixed or variable length from default of F or V to FT, FB, VT, or VB by specifying the RECFM required in brackets after file name.  For example:  SET INFILE=TESTVT.TF1[RECFM=VT].  See vsam\test\ESF4REPO.BAT and ESV5REPO.BAT regression tests.
3) Correct feedback for ESDS invalid RBA to use reason code  x'32' versus x'c4' which is for RRDS only
4) Correct RPL processing init to always refresh ACB and VCLR fields.  Correct ACB.  Correct ACB processing init to always refresh VCLR fields as well. 
4)  If ESDS RPL has ADR and SKP, then set current position on each RBA/XRBA get for possible following SEQ GET.  For BWD be sure both ADR and SEQ RPL's also have BWD set.  See updated vsam\test\ESF1SKP1.MLC and ESV1SKP1.MLC regression tests.
5) Add option TRACEQ to trace all QSAM GET/PUT file I/O similar to TRACEV for VSAM file I/O.
6)  Correct QSAM VT input support to handle ascii line with no characters other than cr,lf and create 5 variable length input record with single space since 5 is the minimum QSAM record length.  See regression test vsam\test\ESV5REPO.BAT.
7)  Set R15=0 return code for SHOWCB, TESTCB, MODCB.
MM
v1.3.07d   9/14/07       PTF with cumulative fixes for v1.3.07 and VSAM enhancements  
  672 08/24/07 VA E 1 Correct and enhance VSAM ESDS and RRDS support as follows:
1)  Correct ESDS and fixed length RRDS to read and write directly to VES data file with no VX0 index required.   RBA and XRBA now point directly to VES records. 
2)  Add ESDS update option UPD.  Updates must be for same length record in place via PUT after successful GET.  See new regression tests vsam\test\ESF2TEST and ESV3TEST tests.
3)  Add ESDS option BWD for fixed and variable length sequential read backwards.  For variable length ESDS, this requires adding redundant record length following each record in order to sequentially traverse file backwards with no VX0 index.  See regression tests vsam\test\ESF3TEST and ESV4TEST.
4) RRDS variable length files (also known as VRRDS) will continue to use VX0 to map relative record # into XRBA for VES data file access.  Rewriting VRRDS record with different length causes record to be written  at  end of VES leaving prior record area  as dead space until next unload/reload.  See regression test vsam\test\ESV3TEST.
5) Correct to always use RPL flags  vs ACB flags to  determine which type of access to use.  Correct RPL macro to issue error for undefined options.  Verify RPL vs ACB for MOD,TEST,SHOW.
MM/DSH
  694 09/11/07 XP E 1 Add new option ERRSUM to list critical error summary on PRN, ERR and console.  Missing macros and copy files are listed if any.  If none, then any remaining undefined symbols are listed.  This option highlights missing macros and copybooks as first priority to correct.  Once all macros and copybooks are found option ERRSUM will list any remaining undefine symbols which usually indicate a missing macro or copybook such as a DSECT.  This option is automatically turned on by the macro assembler when missing macros or copy files are detected.   To override this option, specify ERR(0) to force assembly regardless of critical errors.  This option may need to be used several times to find and fix nested missing macros and copybooks.  Any remaining undefined symbols in an assembly now appear in the symbol table with TYPE=UND.  For an example try assembling the REPRO VSAM utility with the command ASM linklib\REPRO SYSMAC() SYSCPY() which suppresses the default libraries and causes ERRSUM option to be turned on to show 2 missing copy files and 24 missing macros causing 25 undefined symbols. AK
  695 09/12/07 XP P 1 Correct mz390 macro processor to replace single null macro call parameter on inner macro call with comma if space delimited comments follow the parm to prevent the first word in comments from being parsed as call parameter in error.  See updated regression test rt\test\TESTMAC1. AK
v1.3.07c   09/07/07       PTF with cumulative fixes for v1.3.07 and new VSAM catalog  
  681 08/20/07 XP E 1 Redefine VCDT from VSAM Cluster Definition Table for single VSAM file to VSAM Catalog Definition Table (VCDT) which is created using multiple DEFINE macros to define a catalog with multiple base clusters, alternate indexes, and paths.  The DDNAME on ACB points to the VCDT catalog loadable file with optional dot suffix defining name of entry to open.  Alternatively the ACB name field is used to find base cluster or path entry in the catalog.  This was requested by Melvyn and provides more flexibility and compatibility with existing VSAM application code.  The new catalog supports UPGRADE option on each alternate index and supports using  PATH pointing to base cluster with no updating of alternate indexes if desired.  See updates to VCDTD, ACBD, and RPLD for new entries (application programs should use SHOWCB, TESTCB, and MODCB rather than these internal control blocks).  All bit flags in these DSECTS have been changed to single byte values.  See updates in vsam\demo  and vsam\test to use new DEMCAT catalog for all the demos and TESTCAT  for all the regression tests.  Also see updates to vsam\test\ESV1TEST.MLC to verify RBA and XRBA read records randomly. MM
  690 09/03/07 XP P 1 Misc. corrections and additions:
1) DFHRESP code NOTEND to be NOTFND.
2)  Add MODCB RPL= support for ARG= and OPTCD= options.
3)  Add MODCB ACB= support for MACRF= options.
4)  Correct SHOWCB undefined &TARGET variable.
MM
  691 09/03/07 VA P 1 Correct mz390 GBLB definition termination when only 1 space following subscript before continuing comments. DSH
v1.3.07b   09/1/07       PTF with cumulative RPI fixes for z390 v1.3.07  
  683 08/23/07 XP P 1 Correct REPRO errors and add additional regression tests:
1) Correct SYNAD addresses being moved to wrong DCB.
2) Correct prefix support for variable length VSAM to QSAM.
MM
  685 08/23/07 XP P 1 Correct DCB FT and VT format translation to ignore nulls rather than treating them as end of record indicators. DE
  687

 

08/25/07 XP E 1 Add the following additional DFHRESP response code literals for future CICS VSAM support: 
FILENOTFOUND = F'12'
NOTFND = F'13'
DUPREC = F'14'
DUPKEY = F'15'
NOSPACE = F'18'
NOTOPEN = F'19'
ENDFILE = F'20'
DISABLED = F'84'
See updated regression test rt\test\TESTCIC1.MLC.
MM
  688 08/25/07 XP P 1 Correct and expand initial VSAM support as follows:
1)  Correct open/close to issue return code for errors.
2)  Add ESDS direct access by 4 byte RBA or 8 byte XRBA.
3) Support RPL=(reg) plus optional field SCON formats in MODCB, TESTCB, and SHOWCB.  Add SHOWCB fields RBA and XRBA. 
4) Change ACBD, RPLD, and VCDTD DSECT maps to split  option flags into separate  bytes with 1 byte EQU's.
5) Change ESF1 demo  to use 3 - 80 byte fixed length records.
6) Change ESV1 demo to use 3 variable length records with 100, 200, and 300 bytes of data.
7) Add the following VSAM tests in vsam\test directory:
a.  ESF1TEST - create and verify ESDS file  with 3 fixed length records using sequential, RBA, and XRBA  access.
b.  ESF1REPO - load and unload ESF1 fixed length record ESDS  file using REPO and verify.
c.  ESV1TEST - create and verify ESDS file  with 3 variable length records using sequential, RBA, and XRBA  access.
d.  ESV1REPO - load and unload ESV1 variable length record ESDS  file using REPO and verify.
e.  ESV2TEST - create and verify ESDS file  with 6 variable length records from 1 to 100,000 using sequential access.
f.  RRF1TEST - create and verify RRDS file with 3 fixed length records at relative record 0, 2, 4.
g.  RRV1TEST - create and verify RRDS file with 3 variable length records at relative record 0, 2, 4 with lengths 100, 200, and 300.
8) Add new z390 option TRACEV to trace and display  all data read or written to VSAM data or index files.
MM
  689 08/26/07 XP P 2 Correct option TRACET to support TS timestamp option without requiring TRACE option on to allow generating TRE file with just time stamped data transfers for TCPIO and TGET/TPUT.  All TEST output and memory dumps go to TRE file.  Log messages will appear on both TRE file and log file. MM
v1.3.07a   08/22/07       PTF with cumulative RPI fixes for z390 v1.3.07  
  630 05/30/07 XP P 1 Correct GUAM and misc. CICS support as follows:
1
) Correct pixel size of screen letters to prevent clipping and residual cursor underline pixels being left on screen.
3) Correct delete key to delete character in input field and shift remaining characters in input field left.
4) Change font size to maximum for full screen display when window is maximized or resized.
5) Consume KeyPressed event PF10 after processing for AID key input to avoid Windows PF10 annoying "File" menu popup.
6) Correct recursive update loop that was causing memory leak when running in TN3270 screen display mode.
MM
  670 08/04/07 XP E 2 Correct TCPIO and other macros to eliminate unnecessary LR instructions when target equals source register (A new macro ZOPTLR is now used in all z390 macros to optimize the LR instruction).  Correct mz390 TRACEALL option to correctly display AIF compare values in correct numeric values for SETA and SETB type compares (was showing empty SETC values in error). MM
  671 08/05/07 XP P 1 GUAM CICS and TN3270 Enhancements (1 moved from RPI 557):
1) Correct TGET with ASIS when no attributes set.
2) Add TRACET option to dump TGET/TPUT buffer data being passed similar to TRACET support for TCPIO messaging.
3) Correct 2 display bugs in trace for TGET/TPUT buffer addr and length.
MM
  673 08/11/07 XP P 1 1) Correct mz390 to allow symbolic substitution for macro proto-type name in inline macro definitions.  See updated rt\test\TESTMAC1.MLC.
2)  Correct az390 to support symbolic expressions in DROP statement such as A2+1 where A2 is EQU symbol.  See updated regression test rt\test\TESTASM1.MLC.
3)  Correct LA of complex expression which reduces to relocatible expression.  SPITBOL 24k source can now be assembled without error.
JL
  674 08/12/07 VA E 1 Update linklib\CVTTOHEX.MLC conversion routine to translate bytes to HEX using single TROT in place of UNPK/TR loop to  perform translation for any length area.  Suggested by Melvyn who is using TROT in EXEC CICS support now. DSH
  677 08/17/07 XP P 2 Correct DCB PUT support to only check end of variable length record area rather than maximum record length to prevent erroneous 0C5 using v1.3.07 with RPI 668 buffer checking. DE
  680 08/19/07 XP P 1 Correct VSAM macros as follows:
1)  RPL - correct OPTCD loop test from GE to GT and define &LRD as LCLB.
2)  TESTCB - change SHOWCB to TESTCB in MNOTE.
3)  Remove IN and OUT from RPL OPTCD lists in the demos ESF1SP.MLC, ESF1SG.MLC, ESV1SP.MLC, ESV1SG.MLC, and REPRO.MLC.
4) ACB correct misspelling of MUTUALLY (10 times)
5) MODCB correct REPLRECL to RPLLREC
MM
  686 08/23/07 XP P 2 Adjust the default height of the GUI main window to make the status line fully visible. PK
v1.3.07   08/11/07       Full Release with initial z390 VSAM support for ESDS  
  72 10/01/05 XP E 1 Add initial VSAM support.  Use DEFINE macro to assemble and link loadable VSAM cluster definition table with ESDS data file and associated RRDS and KSDS index file DCB's.  Use new REPRO utility to load or unload VSAM cluster files from or to QSAM file.  See z390 VSAM User Guide (partial draft) plus demos and regression tests using macros ACB, CLOSE, ERASE, GET, OPEN, PUT, PUTX, RPL, POINT, SHOWCB, and TESTCB. DSH
  644 08/03/07 VA E 1 Update or add the following macros for initial VSAM ESDS support: ACB, ACBD, CLOSE, DEFINE, ERASE, GENCB, GET, MODCB, OPEN, POINT, PUT, RPL, RPLD, SHOWCB, TESTCB, and VCDTD.  The DEFINE macro supports creation of loadable VSAM Cluster Definition Table (VCDT) which serves as equivalent of VSAM cluster catalog definition.  The new ACBD, RPLD, and VCDTD macros provide DSECT layout of ACB, RPL, and VCDT control blocks, but for mainframe compatiblity only SHOWCB, MODCB, and TESTCB should be used to access ACB and RPL fields.  A new utility linklib\REPRO supports loading or unloading VSAM file from/to QSAM files or anther VSAM file.  See the z390 VSAM Support online page for more information and links to references and examples.  DSH
  664 07/23/07 VA E 1 Update z390 Regression Testing web page with all regression tests as of v1.3.06 and update regression test as follows:
1) Add interactive regression testing of soa\test programs to test TCPIO basic client/server messaging programsTESTMSGC and TESTMSGS.  Fix parm and TCPIO macro options.  Run RTSOA.BAT interactive test to verify assemble and link and run tests.
2)  Add RTCICS.BAT which runs the cics\DFTALL command to assemble and link all CICS commands and then runs server and remote client on same processor to test interactively.   This required adding cics\save and cics\dif directories for comparison and difference files.
DSH
  665 07/24/07 VA E 1 Update z390 EXEC CICS Compatible Assembler Support website documentation with links to PDF documentation by Melvyn Maltz. DSH
  666 07/30/07 VA E 1 Update z390 VSAM Compatible Assembler Support website documentation with links to PDF VSAM User Guide and reference links.. DSH
  667 07/30/07 VA P 2 Correct az390 to issue error 197 for invalid binary value string. DSH
  668 08/02/07 VA P 2 Correct shared DCB and ACB support as follows:
1.  Issue 0C5 if GET/PUT/READ/WRITE i/o references invalid memory area.  Previously I/O error due to Java trap could occur.
2.  Change OPEN and CLOSE macros to test return code for each svc and exit if non-zero.  VSAM always returns to caller with return code rather than abend abort.
3.  Set DCBOFLGS to zero in DCB and set bits at OPEN based on OPEN options.
4.  Use current VCDT file path for each DCB opened for ACB open.
5.  Issue DCB SYNAD error if lrecl/blksize 0 on get/put to prevent i/o error or loop.
6.  Show DCB and ACB access statistics for STATS option on the LOG and TRE files.
DSH
  672 08/09/07 VA P 1 Correct pz390 to prevent EX target instruction code 2nd byte from being left set to modified state when running with TRACE and undefined opcode is incountered prior to EX. MM
v1.3.06a   07/22/07       PTF with cumulative fixes for v1.3.06  
  657 07/17/07 VA P 1 Work-around for Windows Vista to allow running z390 using default install directory  in "C:\Program Files\....\z390" - Turn off Vista UAC option via the Control Panel, User Accounts dialog.  This will allow spawned command line tasks to automatically obtain administrator permission required to access the "C:\Program Files" directory as of Vista updates applied between 07/08/07 and 07/15/07.  

For more information about Vista UAC visit the following web sites:
    Microsoft Vista User Account Control Option

Turning Vista UAC option off is hopefully a temporary solution to allow users to install z390 in the default directory on both XP and Vista and be able to achieve compatible results.  The only other current work-around is to install z390 into a directory such as C:\z390 which is not protected like "C:\Program Files\..." on Vista.

Although turning off Vista UAC may appear to be increasing security risk, as long as security software such as Windows or Symantec fire wall is active, the risk should not be any higher that it was  with Windows XP. 

DSH
  658 07/17/07 VA P 1 Correct regression tests for new vse and util director programs:
1)  RT.BAT - change RTCLEAN.BAT to DIRCLEAN.BAT
2)  RTDEMO1.BAT - add STDDEVLB.MLC demo std. deviation
2)  RTVSE.BAT - remove assembly of demo\DEMO
3)  DEMOVSE1.MLC - use SUBENTRY/SUBEXIT vs EOJ
4)  DEMOVSE2.MLC - use DEMOVSE1 for CDLOAD and EOJ
5)  Remove erroneous UNREF (2).BAT files from util\unref\save
DSH
  659 07/18/07 XP E 1 Change z390 assembler error messages to be more compatible with HLASM as follows:
1) If opcode has invalid character, issue invalid opcode character error 196 versus undefined opcode error 29 in az390.
2) Issue invalid label symbol error 218 in mz390 if macro variable substitution for label field inserts any invalid label character including * or period in first position.
3) Cleanup all trace and log files to remove duplicate pgm ids and duplicate statistics messages for assembler.
See new regression test rt\test\TESTLAB1-3.MLC.
AK/RM
  660 07/18/07 XP E 1 Correct ESTAE exit retry request logic to set retry PSW address from R0 instead of ESTAPSW which contains the PSW address at time of entry to ESTA (ESTAD DSECT area passed to exit via R1).  See updated regression tests rt\test\TESTSTA1.MLC - TESTSTA3.MLC. MM
  661 07/18/07 XP E 1 Correct ez390 runtime to synchronize closing of log, test if log is ok to write, and list messages to console if list option on and log not available. AK
  662 07/19/07 XP E 1 Changes for support of EXEC CICS compatible transaction manager development and support:
1)  Add additional DFHRESP codes: ITEMERR=x'26' and QIDERR=X'44'.
2) If option TS specified, add JDBC SQL format time-stamp with 9 digit fractional nanosecond event time precision on each line of trace. 
3) The TIME macro and svc has been updated to add 29 character JDBC SQL format timestamp option with 9 digit fractional nanoseconds using TIME TS,addr.  The format is
  yyyy-mm-dd hh:mm:ss.nnnnnnnnn
See this article for comparison of SQL timestamps for DB2, Oracle  and MS-SQL.
MM
  663 07/21/07 VA E 1 Build z390 v1.3.06a on J2SE 1.5.0_12 and test on runtimes J2SE 1.5.0_12 and 1.6.0u2. DSH
v1.3.06   07/15/07       Full release with updated docs plus vse and util directories which were omitted from v1.3.04 and v1.3.05 plus fixes.  
  652 07/09/07 XP P 1 Include missing vse and util directories missing from v1.3.04 and v1.3.05 builds.   See updated RT.BAT which now includes calls to RTVSE1.BAT and RTUTIL1.BAT to verify vse and util test programs. MM
  653 07/09/07 XP E 1 Update documentation contributed by Melvyn Maltz:
1) z390 File Access Method Guide
2) z390 Macro and Copybook Documentation Index
3) z390 Program Services
     Add macros PERFORM, PM, PENTRY, and PEXIT with
     option for RENT=YES support.  See SUPERZAP for example.
4) Macro and SVC Services
5) Storage Services
Update z390 structured programming macro documentation and include on website in PDF format:
1) z390 Structured Programming Macros
MM
  654 07/09/07 XP P 1 Correct errors found during documentation updates:
1)  Correct POINT macro to support 32 bit DCBLKSIF.
2)  Correct SUBENTRY and SUBEXIT to match updated docs. 
3)  Add PERFORM, PM, PENTRY, and PEXIT structured programming macros with options for calling local routines with no registers required or using stack if RENT=YES on SUBENTRY.  See util\superzap\SUPERZAP.MLC for example structured programming usage.  
MM
  655 07/09/07 XP P 1 Correct VSE EOJ macro to correctly handle register and expression values for keyword RC= to set return code.  Correct VSE DTFPR and DTFSD macros to correctly define .DDDEF macro label. DSH
  413 08/14/06 XP E 1 Add GETENV macro and svc to read environment variable. AK/PK
  656 07/12/07 XP E 1 Correct IVP installation verification program error message to indicate MVS vs RT if MVS optional files are not installed.  Also change linker error message 19 to indicate no CSECT object code text found for load module.  The linker must find code in order to create load module with entry point. AK
v1.3.05   07/08/07       Full release with CICS compatible transaction manager version 2 plus misc. fixes.  
  642 06/15/07 XP E 2 Add SNAP macro support for TEXT=(reg).  See updated regression test rt\test\TESTDMP4.MLC. MM
  645 06/23/07 XP P 2 Correct macro processor to issue error on substring expression with vaild syntax but invalid offset or length.  See updated regression test rt\test\TESTERR1.MLC/ RM
  646 07/05/07 XP P 1 Prevent ez390 trap due to recursive execution abort loop printing statistics or due to mulitple abort_error exits active concurrently. RM
  647 07/05/07 XP P 1 Correct macro processor to allow comma between multiple argument functions such as INDEX('abc','a').  See updated regression test rt\test\TESTOPR1.MLC. RM
  649 07/06/07 XP E 1 Update cics directory with CICS compatible z390 transaction manager version 2.   See cics\docs\ZCICSHST.TXT for summary history of significant changes and enhancements.  Note util\unref has been updated to correctly support longer symbol names in PRN files. MM
  650 07/06/07 XP P 1 Correct TEST mode expression parser to support indirect addressing of expression in addition to indirect addressing of register such as command L 13R?+4?.  See updated rt\test\TESTTST1.MLC regression test. RM
  651 07/07/07 XP P 2 Correct assembler to issue error on USING with no parms. RM
1.3.04b   06/21/07       PTF with cumulative fixes for v1.3.04  
  640 06/11/07 XP P 1 Correct EXEC CICS source parsing to correctly handle quoted strings including blanks. MM
  641 06/13/07 XP P 2 Change all macros supporting MF= to default to MF=I for mainframe compatibility. RM
  642 06/15/07 XP E 2 Add SNAP macro support for TEXT=(reg). MM
  643 06/21/07 XP P 1 Correct assembler to handle multiple floating point DC data values separated by commas.  Also correct trace display for FP convert instructions CEFBR, CDFBR, CXFBR, CEGBR, CDGBR, and CXGBR to display GPR source.  See new demo program STDDEVLB.MLC which calculates standard deviation using BFP 128 bit precision. DSH
1.3.04a   06/10/07       PTF with cumulative fixes for v1.3.04  
  632 06/10/07 XP P 1 Correct following ORG and alignment problems:
1)  Show current and updated location counter for each ORG.
2) Align CSECT to double word following LOCTR.
3) Correct listing to show address field values using relative module addresses (object code uses relative CSECT addresses).
4) Reduce number of az390 passes required for most programs using lookahead functions.
See new regression test rt\test\TESTORG1.MLC which verifies 2 addresses in listing against generated address constants.
RM
  633 06/01/07 XP P 1 Correct macro processor to handle any parameter value in label field of macro call statement.  See updated rt\test\TESTMAC1.MLC RM
  635 06/02/07 XP P 1 Correct spurious errors on DFHRESP(type) literal substitutions.  See update rt\test\TESTCIC1.MLC. MM
  636 06/04/07 XP E 1 Add ESTAE recovery routine exit option support:
1)  If R15=0 percolate to next higher level ESTAE exit and reset link stack to same level as ESTAE exit being invoked.
2) If R15=4 restart current task at ESTAPSW address .
Also correct ESTAE svc trace doc for R0.  See new rt\test\TESTSTA2.MLC and rt\test\TESTSTA3.MLC which tests both ESTAE exit options.
MM
  637 06/04/07 XP P 2 Correct az390 to issue syntax error on explicit operands of the form offset(reg[,len]) with missing closing paren. See updated rt\test\TESTERR2.MLC. MM
  638 06/07/07 XP E 1 Upgrade to J2SE 6.0 Update 1 for primary regression testing but build JAR with JDK 5.0 Update 11 for backward compatibility through remained for 2007.  Upgrade Eclipse SDK to 3.2.2 to eliminate traps during debugging on MS Windows Vista. DSH
  639 06/08/07 XP E 1 Add RC=(reg) support to RETURN macro. DSH
               
1.3.04   06/01/07       Maintenance and enhancment full releaser V1.3.04  
  618 05/10/07 WV P 1 Change z390 InstallShield to allow users with administrator privileges to install z390 for all users versus current user. DW
  621 05/11/07 XP E 1 Update instruction benchmark program INSTTIME contributed by Melvyn Maltz to include MVCOS timings.  Update unreferenced label  utility  UNREF to simplify usage. MM
  626 05/18/07 XP P 1 Correct GUAM and misc. CICS support as follows:
1) Prevent DELETE from deleting current executing program
2) Add EXEC CICS reserved variable substitutions as follows:
    a) DFHRESP(NORMAL)    >     =F'0'
    b) DFHRESP(ERROR)      >     =F'1'
    c) DFHRESP(INVREQ)     >     =F'16'
    d) DFHRESP(LENGERR)  >     =F'22'
    e) DFHRESP(PGMIDERR) >    =F'27'
See other pending items in original RPI moved to RPI 630.
MM
  627 05/18/07 XP E 1 Speed up z390 emulator instruction execution over 50% in many cases by repackaging switches for all 2 byte opcodes into separate functions.  This reduces the working set size for the 4 primary opcode switches thus increasing cache efficiency.  Also correct trace for MS and all RXY type instructions which were displaying 64 bit versus 32 bit registers.. MM/DSH
  629 05/29/07 XP P 1 Correct unlabeled USING to drop only previous unlabeled USING for same register.  Previously it deleted first matching labeled or unlabeled register which could leave two USING for same register. MM
  631 05/31/07 VA E 1 Regression test v1.3.04 on Windows Vista, XP, and Ubuntu Linux 6.06. DSH
               
1.3.03c   05/18/07       Maintenance and enhancment cumulative PTF for V1.3.03  
  604 04/24/07 XP E 1 Add option BS2000 for compatibility with Fujitsu-Siemens BS2000 Assembler by supporting the following global variables:
1) &SYSTEM - vvvv 4 digit string with z390 version (1103)
2) &SYSMOD - 24 or 31 bit addressing mode (default 24)
3) &SYSTIME - hhmmss vs hh:mm
4) &SYSDATE -
MMDDYYddd
4) &SYSTSEC - same as &SYSSTYP
5) &SYSVERM - library member level set to 'VER   '
6) &SYSVERS  - source member level set to 'VER   '
Follow BS2000 with AMODE31 to switch &SYSMOD to 31 or use new macro GPARMOD with 31 or 24 parm to set &SYSMOD.
See Fujitsu-Siemens BS2000 Assembler Reference Manual.  See new regression test rt\test\TESTSYS2.MLC.
RM
  617 05/09/07 XP P 1 Correct az390 to prevent loop when invalid packed decimal data digit found. PK
  619 05/11/07 XP E 1 Correct trace for MVCOS to show up to 16 bytes of data. DSH
  620 05/11/07 XP P 1 Correct az390 to correctly generated CNOP:
1) Fields longer than 4 may generate bad code.
2) Generate 0700 and/or 47000700 for HLASM compatibility.
See updated results for regression test TESTASM1.MLC.  Thanks to Vic Penacho for suggested Java code fixes.
VP
  622 05/11/07 XP P 1 Correct GUAM and misc. CICS support as follows:
1) Correct Z390CICS internal paths so local terminals startup correctly
2) Change cics\z390KCPR.bat remote terminal to use parm  for */IP addr.
3) Correct server shutdown to handle connection thread interruption without erroneous error message and abort.
MM
  623 05/14/07 XP E 2 Change SNAP macro as follows:
1)  Support register option for SNAP ID=(reg)
PK
  624 05/15/07 XP P 1 Correct az390 to handle comment following 5th operand. RM
  625 05/17/07 XP P 1 Correct DCBD and ZCVTD macros to handle LOCTR sections as well as CSECT and DSECT.  Thanks to Ray Mullins for suggested code fix. RM
1.3.03b   05/08/07       Maintenance and enhancment cumulative PTF for V1.3.03  
  606 04/26/07 XP E 1 Add MVCOS opcode per SHARE HLASM project leader doc:

> I gave some details about MVCOS at the last SHARE - here is a summary
>
> MVCOS D1(B1),D2(B2),R3 - SSF format, 6 byte instruction, 12 bit
> opcode C8.0
>
> Register 0 is used to hold operand access controls - I do not have
> the format to hand, but if R0 is zero then both operands are
> accessed with the key and AS control from the current PSW.
>
> Third operand R3 holds the TRUE length - if less than or equal to
> 4096, then that length moved and CC 0 set. If this length is greater
> than 4096, then 4096 bytes are moved and CC3 set.
>
> Facility bit 27
>
> Kind Regards
>
> John R Dravnieks
> HLASM Project leader,
> Australia Development Laboratory (ADL), Perth

 (Note it is still not in POP V5). Moves up to 4096 bytes and sets CC0 if done or or CC3 if only 4096 bytes moved.  See updated rt\test\TESTINS2.MLC with MVCOS tests.

DSH
  609 04/27/07 XP P 2 Assembler compatibility corrections to insure whatever z390 will assemble, HLASM will assemble as well:
1) Issue error if no DC value and duplication factor not 0.
2) Do not use labeled USING to resolve unqualified label.
3) Issue error if line starts with * after position 1.
4) Issue error on SETC type string numeric conversions in SETB expressions.
5) Require single comma before comments on E type instructions with no operands.
See updated rt\test TESTERR1.MLC, TESTERR2.MLC, and TESTUSE1.MLC regression tests.
AK
  610 04/30/07 XP P 1 Correct another bug in XCTL occurring with multiple LINK's and XCTL's and SVC EXIT's all of which share a LINK stack and must reference current entry via current stack pointer. MM
  611 05/01/07 XP P 1 Correct mz390 internal error on computed AGO with invalid index variable.  See updated rt\test\TESTERR1.MLC. RM
  612 05/02/07 XP P 1 Correct az390 to assemble RX explicit operand d(r) with r as index register versus base register for mainframe compatibility.  No difference logically. RM
  613 05/02/07 XP P 1 Correct az390 to correctly assemble MVC SS type instruction with first operand explicit offset and length with zero base register (low memory store requiring NOPROTECT option). VP
  614 05/03/07 XP E 1 Create single zip with all z390 PDF documentation for optional download as one zip file from the www.z390.org website. RM
  615 05/04/07 XP P 1 Correct mz390 to set and retrieve EQU operand 5 ATTRA values such as FPR.  RM
  616 05/08/07 XP E 1 Replace existing cics directory content with new compatible subset of EXEC CICS transaction client server support contributed by Melvyn Maltz.   See documentation in the cics\docs directory.  After replacing cics directory from PTF zip, change cics bat file install paths if necessary, and then from install directory prompt start cics\z390cicg.bat server supporting multiple conversational cics type clients.  From another command prompt start cics\z390kcp.bat  to bring up client cics screen ready for transactions such  as GUI6 demo transaction.  CICS is trademark of IBM. MM
               
1.3.03a   04/29/07       Maintenance cumulative PTF for V1.3.03  
  598 04/18/07 XP P 1 Correct following XCTL svc execution errors:
1)  Save R1 across XCTL correctly (bug in RPI 596).
2) Correct storage corruption after multiple XCTL svcs.
See updated rt\test\TESTXCL1-4 regression tests.
MM
  599 04/23/07 XP E 1 Add DCBD macro call from DCB to define referenced fields just like new VSE DTF?? macro does.  DCBD only generates DSECT once. DSH
  600 04/23/07 XP P 1 Correct mz390 errors:
1)  Assume undefined macro variables are local versus global unless they start with &SYS.  See updated linklib\FPCONMFC.MLC to add GBLA &ARCHLVL which is now required. 
2) Issue error 211 on duplicate key word parm on macro call.  See updated rt\test\TESTDMP4.MLC which had duplicate keyword ID= on a SNAP macro.
RM
  601 04/24/07 XP P 2 Correct macro errors:
1) Support Rn register references in SAVE and RESTORE.
2) Change SUBENTRY to use standard 4096 base offsets vs 4095.
2) Correct generated label placement in SUBEXIT.
RM
  602 04/24/07 XP P 2 Correct az390 to issue errors for negative DS/DC lengths. MM
  603 04/24/07 XP P 2 Correct gz390 command input arrow up/down to correctly scroll previous commands backward or forward. MM
  605 04/24/07 XP E 1 Add additional error detection to az390:
1)  Add location counter to each trace line for TRACEA for use in debugging CSECT length errors.
2)  Add error detection for cyclic DS/DC definitions such as:
      A    DS      (10-B)C' '
      B    EQU   *-A
     (On first pass A length is 10, then 0, then 10 again etc.)
3)  Remove duplicate error messages on the TRACEA file.
4)  Change section error messages to show hex address values.
PK/DSH
               
1.3.03   04/17/07       Maintenance and enhancement release with new VSE support and new SUPERZAP utility support.  
  583 04/03/07 XP E 1 Change SNAP and ABEND to dump all of memory when PDATA=ALL or DUMP is requested respectively.  Only the requested storage will be dumped if STORAGE= is specified on SNAP.  See updated rt\test\TESTDMP5.MLC MM
  586 04/09/07 XP E 1 Add TEST command E to toggle between EBCDIC mode and ASCII mode.  The default is EBCDIC unless program was started with option ASCII. MT
  587 04/10/07 XP E 1 Add 2 new features to DCB file I/O support:
1)  Return 64 bit size of file opened in R0 after successful open.
2)  Support 32 bit DCB record length and block size using 2 new fields in DCB labeled DCBLRECLF and DCBBLKSIF.  The low half of these fields overlap with existing DCBLRECL and DCBBLKSI at same offset for compatibility with existing 16 bit length applications.  Note although 64 bit length files are supported by z390 now, memory is currently limited to 31 bits so the maximum single record length currently is limited to 31 bits.  See new SUPERZAP for example of how to read or write any file up to 2 GB with single GET or PUT.
PK
  588 04/11/07 XP P 2 Correct az390 and ez390 as follows:
1) Prevent az390 trap on invalid PRINT operands such as NO versus OFF.
2) Issue error if comma for index register or length specified in explicit base displacement for operand that does not support either.  See updated rt\test\TESTINS2.MLC and bmk\INSTTIME.MLC.
3)  Correct ez390 TRACE for CVB, CVD, CVBG, CVDG trace to show 8 or 16 bytes for S2.  See updated rt\test\TESTINS2.TRE.
DSH/AK
  589 04/11/07 XP E 1 Add z390 utility named SUPERZAP with the following commands: NAME, VER, REP, DUMP, FIND, LOOP, ASCII, EBCDIC, and HELP.  This utility can be used to verify, replace, search, and dump content of  any Windows or Linux file up to 2 GB running from console input or batch file input.  The utility source consists of about 850 lines of structured macro assembler and uses the new 32 bit DCBLRECL option (RPI 587) to load and save files with single GET or PUT.  See demos util\superzap\ZAPDEMO1.BAT and util\superzap\ZAPDEMO2.BAT plus update regression test RTUTIL.BAT.. DSH
  590 04/13/07 XP E 1 Add original version of SUBENTRY and SUBEXIT macros from the SHARE SPLA library tape 179 which support multiple base register and reentrant options. DSH
  591 04/13/07 XP P 1 Correct DCBD to correctly handle case where it occurs prior to any other CSECT's in a program. AK
  592 04/15/07 XP P 1 Correct sz390 CMDPROC cancel to use flags to detect cancel  rather to prevent traps in system I/O process threads than may be running at the time of cancel.  Correct gz390 tget to only return AID if length is 1. MM
  593 04/15/07 XP P 1 Correct mz390 to generate 4 or more digit numbers with leading zeros if required for compatibility. RM
  595 04/16/07 XP P 1 Correct ez390 to echo WTOR reply entry from console when not running in TEST mode or GUAM mode.  The echo does not appear until the program issues WAIT svc on the WTOR ECB. DSH
  596 04/16/07 XP P 1 Correct sz390 XCTL user parm list address in R1.  It was being destroyed by delete svc for previous program. MM
  597 04/17/07 XP P 1 Correct az390 to flag error on EQU with no label or no operands. RM
Release RPI Date OS P/E Sev Problem or Enhancement Description Req
1.3.02h   04/07/07     Cumulative PTF fixes for z390 v1.3.02  
  566 03/06/07 XP E 2 Add statistics for all TCPIO operations on the execution log file for option STATS. DSH
  567 03/06/07 XP E 2 Add CCW assembler support.  There are no current plans to add SIO support for CCW's.  However the support for first level svc handler demonstrated by RT\TEST\TESTSVC1.MLC could be used to add user coded emulation.  See updated rt\test\TESTDC1.MLC. AK
  572 03/11/07 XP P 1 Correct the following TN3270 errors:
a)  Attribute byte must be EBCDIC
b)  Correct invalid SBA addresses
c)  Add 4 more attribute byte equates with _MDT added
See updated mac\TN3270.MAC macro and run interactive RTGUAM.BAT regression tests.
MM
  573 03/11/07 XP P 1 Allow COND=-1 in addition to default.
 
MM
  581 03/31/07 XP P 2 Correct az390 to list COPY and inline macro source in main program if PRINT ON.  Add '+' to all generated statements from inline macros for PRINT GEN.  Suppress generated COPY statements in macros.  This change affects most most generated BAL, PRN, and trace files.  The next v1.3.03 release will have updated RT regression test comparison files. RM
  582 04/01/07 XP P 1 Correct ez390 to pass address of address of parm field with 2 byte length prefix in register 1 for main programs.  If there is no parm, the length is zero.  See updated rt\test\TESTPRM4 to use L vs LR to get address of PARM.  Also see soa\demo\DEMOSTOP.MLC update. MT
  584 04/03/07 XP P 1 Fix ez390 trap in startup when using ASCII option with program name less than 8 characters long.   This was introduced in v1302b and now RTUTIL.BAT has been added as regression test. MM
  585 04/06/07 XP E 1 Add missing ADDR2 target addresses on type J and some other instruction types where it is missing.  See updated rt\test\TESTINS1.MLC. MM
1.3.02g   03/31/07       Cumulative PTF fixes for z390 v1.3.02 with hyper fixes  
  577 03/16/07 XP P 1 Correct az390 to support optional 3rd M field on
TR?? extended translate instructions. Operand was required previously.
MT
  578 03/17/07 XP P 1 Correct az390 to correct parsing error on multiple S type explicit base displacement operands. See updated rt\test\TESTDC1.MLC. MT
  579 03/20/07 XP P 1 Correct pz390 to stop SRST on address = end address
versus >= end address.
MT
  580 03/20/07 XP P 1 Correct TR?? test code compares to use function bytes
from translate table instead of data byte from R2 field.
See updated regression tests in rt\test\TESTINS2.MLC
MT
               
1.3.02c   03/14/07     Cumulative PTF fixes for z390 v1.3.02 with new VSE support  
  576 03/14/07 XP P 1 Add two updated z390 mac directory macros DCBD and ZCVTD required for VSE support.  See new z390 VSE User Guide RM/MT
1.3.02b   03/13/07     Cumulative PTF fixes for z390 v1.3.02 with new VSE support  
  558 02/10/07 XP E 1 Add initial z390 VSE support including macros, demo, and regression test programs.  See new z390 VSE User Guide RM/MT
  570 03/11/07 XP E 1 Publish updated z390 macro services guide contributed by Melvyn Maltz with new change log and register usage summary for each macro. MM
  574 03/12/07 XP P 1 List all BAL lines with errors on PRN file as well as ERR file regardless of PRINT settings. DSH
  575 03/12/07 XP P 1 Correct GETMAIN macro to honor LOC=RES equivalent to LOC=BELOW.  (Note required for GETVIS default) DSH
1.3.02a   03/09/07     Cumulative PTF fixes for z390 v1.3.02  
  564 02/10/07 XP P 1 Correct bug in az390 generating incorrect object code for RLD's located in LOCTR sections.  See updated regression test rt\test\TESTLCT1.MLC. RM
  565 02/20/07 XP P 1 Correct mz390 to issue error when &SYSLIST incorrectly used without a subscript.  See updated regression test rt\test\TESTERR1.MLC. RM
  568 03/08/07 XP P 1 Corrections to release v1.3.02 documentation:
1)  On line 12 of the updated dos.pl perl script for Linux, the $ should be a # for comment. 
2) The comments in GETMAIN macro further down path not about correction to R0/R1 did not get changed to indicated address in R1.
DSH/PK
 
  569 03/09/07 XP P 2 Correct ez390 to always set CON if TEST option specified. DSH
 
1.3.02   03/05/07     Maintenance and enhancement release  
  548 02/08/07 LX P 2 Additional corrections and enhancements for Linux support:
1) RTGUAM.BAT regression test changed to capitalize the GUI startup file name Z390.INI.   It was left in lower case by accident which works fine in Windows but not Linux.
2) Correct cmd.pl to test explicit errorlevel value to correct
    erroneous pause on RT\TEST\TESTPC1 due to RC=4 ok..
3) Change cmd.pl script as suggested by Martin Ward to support mixed case dos commands and allow editing of perl scripts using Windows editors.
4) Add support for dos CD and DIR outside bat file.
5) Correct PAUSE and IF ERRORLEVEL n PAUSE commands to wait for keyboard ENTER key before proceeding.
DSH
  549 02/03/07 XP E 1 Prefix each source line in PRN listing with line id consisting of  (FID/FLN)GLN which includes the following:
1) FID - File id number referencing list of all source files generated as comments at END statement in the BAL file.
2) FLN - File relative line number.
3) GLN - Generated unique BAL line number.
The line id is followed by
 "=" symbol for statements from copy files and "+" for lines from macro source files.
See RT\TEST\TESTCPY1.MLC regression test with COPY and MACRO expansions with default PRINT GEN. 
See RT\TEST\TESTCPY2.MLC for same program with PRINT NOGEN added showing how MLC macros and copy statements display but nested statements do not.  List of file paths generated at END when option ASM is on.  File paths for files with errors are also put on ERR file.
RM
  550 02/03/07 XP P 2 Correct PRN listing to show correct line numbers for source statements following COPY statements.  Currently the line # shown includes the lines from the copy files.  Display all COPY statements in MLC file, and display the file #, file line #, and the generated BAL line # on all PRN statements listed.  See RT\TEST\TESTCPY1.MLC regression test. RM
  551 02/09/07 XP P 2 Fix CMDPROC macro to support ID=(reg) where reg contains process id, and correct error in support for ASCII mode affecting both CMDPROC and WTOR which store text in memory.  Both RT\TEST\TESTCMD1.MLC and RT\TEST\TESTCMD2.MLC will now run correctly in ASCII mode.. MM
  552 02/09/07 XP P 2 Correct error messages to reference GUAM versus GUI for clarity. MM
  553 02/09/07 XP P 1 Correct assembler to flag the following symbol errors:
a)  Duplicate symbol on both CSECT and DSECT.
b)  Duplicate symbol on CSECT, DSECT, or LOCTR and other statement such as EQU/DS/DC unless address matches.
c) Symbol on more than one EQU.
See corrections to RT\TEST\TESTDST1.MLC caught by this fix.  See RT\TEST\TESTERR2.MLC for updated tests.
MM
  554 02/09/07 XP P 1 TCPIO sockets support fixes and enhancements:
a)  Close all open TCPIO ports during shutdown.
b)  Add NOWAIT option for TCPIO RECEIVE which will return with RC=4 if no message is ready.
c) Eliminate LMAX parm from OPEN and just use LMSG on RECEIVE to limit input message size.  Each RECEIVE will return up to LMSG bytes with actual bytes returned in R1.  Increment MSG address, decrement LMSG by bytes read, and repeat RECEIVE until the desired number of bytes have been read.  The number of bytes read will usually be the same as the number sent unless the network is stressed and the packet size has been reduced.
d) Support up to 20 connections on up to 10 server ports.
e) Add CONN= referencing register or RX location of 4 byte integer server connection id for use in SEND to server PORT.  The server port RECEIVE returns the connection id in R2.
f) Add option TRACET to trace only TCPIO events on TRE file.  The TRACE option defaults to include TRACET.
See updated SOA client server demo in soa\demo.  See new SOA test programs in soa\test including client TESTMSGC.MLC and server TESTMSGS.MLC for manually testing multiple port connections.  Multiple copies of the SOA demo client can also be run in parallel using the same single demo server.
MM
  555 02/10/07 XP E 1 Add support for DS/DC LQ type HFP quad word length for compatibility.  See updated TESTDC1.MLC. RM
  556 02/10/07 XP P 1 Correct BMK\INSTTIME.MLC instruction benchmark program to use correct GETMAIN register 1 address following RPI 542 fix. MM
  559 02/15/07 XP P 1 Correct mz390 parser to correctly handle array subscript starting with N' operator. See updated RT\TEST\TESTSET1 regression test. RM
  560 02/24/07 XP P 2 Correct erroneous error message about recursive abend during user request ABEND which prevents closing log files correctly. DSH
  561 03/01/07 XP E 1 Update to J2RE 1.5.0_11 update for regression testing. DSH
  562 03/01/07 XP E 1 Add new directory UTIL with contributed utility programs:
1)  UNREL - scan a PRN file and list unreferenced symbols.  Use command util\unref\UNREF util\unrel\UNREF to generate list of unreferenced symbols in the UNREF.PRN listing file stored in UNREF.URF text file.
See z390_Utility_Guide for documentation on utilities and submit your own favorites.
MM
  563 03/05/07 XP P 2 Correct az390 error messages:
1)  Misspelled word "statement"
2)  Change message for unsupported opcode and show the code.
AK
             
1.3.01   02/08/07     Maintenance and enhancement release with integrated support for Linux including updated regression tests run on Windows and Linux plus hyper RPI 542 compatibility fix for GETMAIN and STORAGE svc to place address in R1 and length in R0.  Previously only address was returned in R0.  
  532 01/08/07 LX E 2 Merge Linux support programs contributed by Martin Ward to support installation of z390 on Linux.  With these changes the z390 file zip can be installed following this Linux Installation Guide:
1)  Add "z390" perl script file to the z390 root directory.  This script can be executed directly from Linux terminal command line or desktop launcher icon with no operands to start z390 GUI Interface or with options and file name to assemble, link, and/or execute assembler program.  Changes to this script include:
   a) Set current directory to z390 directory before starting GUI
2) Add "cmd.pl" perl script file to the z390 root directory.  This script is used to emulate cmd.exe Windows command processor to support execution of the following BAT file commands: rem, erase, copy, call,  and java class execution.  Changes to this script include:
    a) Support paths to bat files where paths must be correct case and
        bat file names must be uppercase. Default suffix is .BAT..
    b)  Convert bat file "\" path delimiters to "/".
    b)  Allow upper and lower case commands and labels in BAT files
    c)  Support the following BAT file commands used in z390 tests:
         call, copy, dir file, diff dir1 dir2 file3, erase, exit, goto
         if errorlevel 1 goto label
         if errorlevel 1 pause (aborts on error currently)
         if exist file goto label
         pause (aborts after message currently), rem, set
3) Change z390\Doc directory to z390\doc for case consistency which was causing the "help, "guide" menu item to fail on Linux which is case sensitive so all paths and file names.
4) Change tz390 default text editor for Linux to "gedit" since it is already installed on base Ubuntu Linux and is a lightweight GUI editor similar menu to notepad plus support for multiple open files similar to Word.
5) Change all z390 RT BAT and data file names to upper case for consistency.
6) Change RTCOMP.BAT and RTLIST.BAT to test for Linux and use Linux diff command if running under cmp.pl on Linux.
7) Add option INSTALL(path) to debug z390 source with specified install path instead of default current path.
8) Change az390 to force macro names to uppercase for file search on Linux which requires all macro files to be uppercase.
DSH
  542 01/21/07 XP P 2 Correct output registers for STORAGE and GETMAIN RC/RU/R/VRC/CRU to return address in R1 for mainframe compatibility.  For GETMAIN VRC/VRU return length rounded up to multiple of 8 in R0.  See regression test corrections to
1)  SOA\MACLIB\SOACMGR.MLC - SOA client msg mgr
2)  SOA\MACLIB\SOASMGR.MLC - SOA server msg mgr
3)  RT\TEST\TESTMEM1-4.MLC - memory management tests.
4) CICS\DFHEAI0.MLC - CICS dynamic storage allocation
5) CICS\CICS.MLC - CICS command prompt work area alloc
See updated z390 Storage Services documentation contributed by Melvyn Maltz.
RM
  543 01/23/07 XP E 1 Add pause to generated SOA\DEMO\DEMORUN.BAT after start of SOA demo server before starting client to allow time for server to open port.  Also generate separate DEMORUNS and DEMORUNC server and client execution files for testing on different processors and operating systems on TCP/IP network. DSH
  544 01/23/07 XP P 2 Correct instruction trace format for DLG and MLG   Trace was showing r1 value instead of r1+1 value.. RM
  545 01/28/07 XP P 1 Correct sz390 svc 34 for CMDPROC to correctly honor user specified timeout interval in milli-seconds.  It was not returning RC=4 whenever the next input was not read instead of retrying until timeout limit exceeded. MM
  546 02/02/07 XP P 1 Change tz390 to correctly handle SYSERR and SYSTERM options with default systerm pgmname.err file in program directory.  If SYSERR specifies path, then all systerm .ERR files will be placed in that directory using pgmname.err.  If SYSTERM is specified with just name, then the file will go into SYSERR directory.  Path and name may be specified in SYSTERM. MM/DSH
  547 02/03/07 XP P 1 Change sz390 svc 34 for CMDPROC STOP to close standard input, output, and error prior to process distroy to prevent spurious thread errors.  Change rt\test\TESTCMD1.MLC and rt\test\TESTCMD2.MLC to eliminate Windows dependent PROMPT command, add search for REM END, and add error limit incase process fails on Windows, Linux, etc. DSH
1.3.00a   01/20/07     Maintenance PTF with cumulative fixes for v1.3.00  
  535 01/14/07 XP P 2 Correct mz390 to prevent trap processing computed ago with invalid syntax or missing continuation. RM
  536 01/15/07 XP P 2 Issue system ABEND SFFF with dump for ez390 internal trap error to provide more program information.  Correct pz390 to issue 0C7 inexact error when attempting to perform numeric operation on NaN or infinity DFP value.  Correct CTD to set return code 4 if NaN or infinity. MM/DSH
  537 01/18/07 XP E 1 Add z390 v1.3.00 Linux download zip contributed by Martin Ward with the following components required for z390 GUI and command line execution using Linux:
1)
cmd.pl  - Emulation of cmd.exe for handling simple batch files
2) z390     -  perl script for running the z390 GUI and command line
3) src/mainClass.txt - main z390 class for compiling under Linux
4) DOIT: shell script for compiling z390.java under Linux
See RPI 532 for integration of perl scripts in z390 v1.3.01.
MW
  538 01/19/07 XP P 1 Correct following bugs:
1) Correct TEST to correctly handle single step through EX target 
2) Correct assembly of SS PKA instruction to handle explicit d1(b1) with no length specified (was treating b1 as length versus base)
3)  Add option PROTECT to prevent user modification of PSA.
See RT\TEST\TESTSVC1.MLC which requires NOPROTECT option now in order to modify SVC new PSW in PSA.
4) Correct assembly of DC with duplication factor for P type data
See updated RT\TEST\TESTDC1.MLC
MM
  539 01/19/07 XP E 1 Distribute BMK\INSTTIME.MLC version 8 contributed by Melvyn Maltz with updated instruction timing tests for v1.3.00 with DFP.  See updated benchmark timing report with new DFP instructions. MM
  540 01/19/07 XP P 1 Correct following bugs:
1) Correct pz390 TRACE to show 64 register for SRLG etc.
2) Correct pz390 TRACE to show 128 bit DLG and MLG regs
3) Correct pz390 DLG, DLGR, DL, DLR to prevent internal trap on divide by zero
4) Optimize DLG,  DLGR, DL, DLR and a number of other instructions by removing unnecessary move to work area before conversion
5) Issue TEST error if address entered exceeds allocated memory
See updated RT\TEST\TESTINS2.MLC
RM
  541 01/20/07 XP P 1 Correct z390 GUI file menu options to always start at current directory and reset file filter type to specified type.  Use file menu CD to change the current directory setting.  Previously file filter was only set on first request. MM
1.3.00   01/14/07     Maintenance and Enhancement full release with DFP and SOA support.  
  533 01/09/07 XP P 1 Correct remaining rounding issue with CGDTR and CGXTR.  Fix 0C6 on FIXTR when M3=15. MM
  534 01/13/07 XP E 1 Update documentation and benchmark instruction timing program contributed by Melvyn Maltz. MM
             
1.2.00g   01/08/07     Maintenance and enhancement release with DFP and TCP/IP sockets support plus SOA application generator.  
  522 12/24/06 XP E 1 Add additional DFP regression tests to TESTDFP1.MLC DSH
  523 12/24/06 XP E 1 Update to Sun Microsystems J2SE 1.5.0 update 10 and verify all regression tests. DSH
  524 12/28/06 XP E 1 Add new TCPIO macro and svc x'7C' to support TCP/IP sockets protocol client/server messaging with functions OPEN, CLOSE, SEND, and RECEIVE.  Add new SOA directory with Service Oriented Architecture (SOA) client server application generation macros in SOA\MACLIB and demo application in SOA\DEMO.  See SOA\README.TXT and run SOA\DEMOSTD.BAT to build and run demo as standard statically linked local application.  Then run SOA\DEMOSOA.BAT to generate, build, and run demo as client server application using 2 remote services to add extended DFP numbers and integer numbers.   Run SOA\DEMOSTOP.BAT to assemble, link, and execute utility to stop server running on specified port.  This support can be used with client applications in any language on any platform supporting TCP/IP sockets to call z390 assembler services on any other TCP/IP connected platform.  Additional SOA demos with clients in other languages calling z390 assembler services will be added to www.mfatc.org as time permits. DSH
  525 12/28/06 XP E 1 Change mz390 to log error and continue versus aborting on subscript out of range. DSH
  526 12/29/06 XP P 1 Change sz390 to trap CFD input decimal value errors and simply exit with return code 12. DSH
  527 12/29/06 XP P 1 Add missing DFP instructions CPSDR LCDFR LDGR LGDR LNDFR LPDFR.  And fix rounding for CGDTR, CGXTR, IEDTR, and IEXTR.  See updated RT\TEST\TESTDFP1.MLC. MM
  528 12/31/06 XP P 1 Correct mz390 to strip trailing period after subscripted parm variable in expression and remove redundant strip code from model variable replacement logic causing one too many stripped periods after SETC variable but not subscripted variables. DSH
  529 01/01/07 XP P 1 Correct mz390 to issue error for undefined &var substitution when running MAC versus ASM which ignores undefined &var's for compatibility. DSH
  530 01/01/07 XP E 1 Add option FORMAT extension to PUNCH to request formatting continuations like MLC or BAL.  The default for punch is variable length ascii with no fixed limit on line lengths.   See SOA\DEMO\DEMOSOA.BAT generation for example usage. DSH
  531 01/06/07 XP P 2 Change pz390 to correct trace format for new DFP instructions and use new instruction format table and switch to optimize tracing. MM
             
v1.2.00f         Cumulative fixes and enhancements to v1.2.00  
  406 08/08/06 XP E 1 Add ez390 emulation support for remaining new DFP Decimal Floating Point instructions added to az390 in RPI 407 defined in Preliminary DFP doc and referenced on Tachyon website opcode list and IBM APAR #PK18170. DSH
  519 12/21/06 XP P 2 Correct mz390 to prevent error 132 indicating macro proto-type does not match macro file name when mixed case is used.  See LINKLIB\FPCONVRT.MLC DSH
  520 12/21/06 XP E 1 Update the z390 Macro and SVC Services Guide contributed by Melvyn Maltz with CTD and CFD macro DFP ED, DD, and LD conversion support. MM
  521 12/22/06 XP P 2 Correct mz390 to prevent invalid index trap when AIF label is undefined and test fails on first execution and test is true on 2nd execution using generated pseudo code.  See updated RT\TEST\TESTPC1. DSH
             
v1.2.00e   12/17/06     Cumulative fixes and enhancements to v1.2.00  
  517 12/15/05 XP P 1 Correct pz390 trap on inexact result on DDTR for values such as 9.8/9.9 using default half-up rounding for all ED, DD, and LD operations. MM
  518 12/16/05 XP P 1 Correct additional DFP bugs and add the following instruction support using default half-up rounding:
1)  Add AXTR, SXTR, NXTR. and DXTR extended DFP instr.
2)  Correct pz390 to issue 0C6 specification exception on HFP, BFP, and DFP extended fetch from invalid register pair.
3)   Correct sz390 CTD to handle leading 0 on fractional values. See updated TESTFP1, TESTDFP1, and TESTFPC1  regression tests.
DSH
v1.2.00d   12/14/06     Cumulative fixes and enhancements to v1.2.00  
  407 08/08/06 XP E 1 Add z390 initial support for IEEE-754R Decimal Floating Point (DFP) standard arithmetic as defined in Preliminary DFP doc.    Add az390 data formats ED, DD, and LD and associated (MIN) and (MAX) constants.  Add az390 support for all DFP instructions.  Add ez390 runtime support for the following DFP long format instructions: ADTR, SDTR, MDTR, DDTR, CDTR, EEDTR, and CSDTR.  See pending RPI 406 for remaining new instructions.  See IBM General Decimal Arithmetic for overview and description of densely packed decimal encoding method. See following updated regression tests:
1)  TESTINS1.MLC - 54 new DFP instruction assembly tests
2)  TESTDC1.MLC - verify DFP min and max constants
3)  TESTFPC1.MLC - test DFP constants using CTD/CFD svcs with values from -max to +max for each type.
4)  TESTFPC2.MLC - test min and max using CTD/CFD svcs.
5)  TESTDFP1.MLC - test new DFP instruction emulation
6)  DEMODFP1.MLC - simple demo showing different results using HFP DH versus DFP DD long operations to add 1.1+2.2.  The DH results have rounding error due to irrational fraction in binary versus exact result using DD base 10 format.
DB
  513 12/02/06 XP P 1 Correct CFD and CTD support to prevent erroneous RC=8 and update TESTCFD1.MLC and TESTCTD1.MLC to test return codes.  See updated documentation on Macros and SVC's contributed by Melvyn Maltz..  MM
  514 12/02/06 XP E 1 Add CFD and CTD macro/svc support for DFP data type conversion to/from decimal display formats.  See updated TESTCFD1.MLC, TESTCTD1.MLC, TESTFPC1.MLC and TESTFPC2.MLC. DSH
  515 12/09/06 XP E 1 Change ez390 TEST option to remove EZ390I message prefix from console and log displays. DSH
  516 12/12/06 XP P 1 Correct mz390 to handle double single quotes in PUNCH text to be output as single quote. DSH
             
v1.2.00c   11/31/06     Cumulative fixes and enhancements for v1.2.00  
  508 11/29/06 XP P 1 Correct command error 51 occurring on INI startup commands and invalid path for batch commands from file menu after CD command has been issued.  Also correct incorrect z390.log path with extra separator and suffix.  I've added new startup command test and additional manual GUI tests to my regression test scripts. MM
  509 11/30/06 LX P 1 Change font default from "Courier New" to "Monospace" for improved look on Linux (no change for Windows). MW
  510 11/30/06 LX P 1 Change the hard coded NOTEPAD command to EDITOR and use the following corrected default program names with optional environment variable overrides:
Program Environment Var. Windows Def. Linux Def.
ACROBAT Z390ACROBAT start acroread
BROWSER Z390BROWSER start firefox
COMMAND Z390COMMAND CMD.EXE perl
EDITOR Z390EDITOR notepad.exe xemacs
MW
  511 11/30/06 LX E 1 Add az390 option MCALL with default NOMCALL to show each macro call statement and operands plus each macro exit along with macro nesting level on PRN listing.  These call comment statements also appear in generated BAL file using the mz390 option LISTCALL. MW
  512 12/02/06 LX E 1 Change CFD to support general floating point values for 128 bit format and truncate to exact integer.  Change return codes for CFD and CTD to be as follows:
1)  RC=0 ok
2)  RC=8 invalid type or register request
3)  RC=12 invalid value (out of range)

See updated TESTCFD1.MLC

MM
             
v1.2.00b   11/29/06     PTF with cumulative fixes for v1.2.00  
  417 08/14/06 XP E 1 Add DS/DC full bit length support.  See new regression test RT\TEST\TESTDC2.MLC AK
  500 11/17/06 LX E 1 Update z390 source to support Windows and Linux as follows:
 
Application Windows Linux
Actobat PDF reader Start acroread
Browser Start foxfire
Command processor cmd.exe perl
Editor Notepad xemacs

1)  Fix GUI commands using above defaults
2)  Use system separator (vs \r\n) for Windows and Linux
2)  Run z390 from any directory using the following search paths:
     a) The directory given in the Z390 environment variable
     b) $HOME/lib/z390
     c) /usr/local/lib/z390
     d) /usr/lib/z390

MW
  501 11/28/06 XP P 1 Correct az390 to handle literal minus absolute expression in operand. AK
  502 11/28/06 XP P 2 For compatibility, ignore undefined variables in model statements. AK
  503 11/28/06 XP P 2 Remove duplicate MNOTE's from SYSTERM log. AK
  504 11/28/06 XP P 2 Update the following contributed by Melvyn Maltz:
1)  z390 program services
2)  z390 macro ans svc services

3)  z390 Benchmark Statistics using INSTIME.MLC
MM
  505 11/28/06 XP P 2 Correct ez390 interact TEST mode to prevent duplicate messages on console. MM
  506 11/28/06 XP P 2 Correct z390 command scrolling to omit duplicates. MM
  507 11/28/06 XP E 1 Add input field register support for CTD and output register support for CFD. MM
             
1.2.00a         PTF with cumulative fixes for v1.2.00  
  417 08/14/06 XP E 1 Add DS/DC full bit length support.  (Only type A and B supported in this fist phase.  Remaining types will be in v1.2.00b as time ran out.) AK
  498 11/16/06 XP E 1 Change mz390 to suppress blank lines generated from macro code. HS
  499 11/16/06 XP P 1 Merge modifications and fixes to z390 open source to enable it to run both command line and GUI interfaces on Linux based on contributions by Martin ward.  The mods to v1.2.00 for Linux are available here z390 Linux Support.  The changes made to v1.2.00a source code to merge this changes are as follows:
1) Retain specified file names in lower case to match actual file name since Linux has case sensitive file system.
2) Issue CD file to change directory and/or drive on Linux versus separate drive change command then directory change command on Windows.
3) Correct bug in code to convert from absolute path to relative path where first character of relative path was being dropped.
4) Change BLDL to match on upper or lower case member names in CDE entries which now contain mixed case file names.
5)  Add new global variable z390_os_type in tz390.java to allow
alternate code paths for different host operating systems indicated by z390_os_win and z390_os_linux..
6) Fix created variables to force uppercase variable names
 
MW
             
1.2.00   11/13/06     Maintenance and enhancement release  
  255 03/21/06 XP E 1 Add + line indicators on PRN for macro generated statements.  See DEMO\DEMO.PRN. AK
  471 10/07/06 XP P 2 Correct sz390 to cancel STIMER exits at abend. MM
  472 10/07/06 XP P 2 Correct TTIMER to default to TYPE=TU for CANCEL.  See RT\TEST\TESTTIM2.MLC. MM
  473 10/07/06 XP P 1 Correct CALL macro bugs and add additional regression tests.  See updated RT\TEST\TESTCAL1 and RT\TEST\TESTERR2 MM
  474 10/07/06 XP E 2 Change TEST to display traces for all instructions including invalid opcodes when TRACE option is on. See updated RT\TEST\TESTTST1. MM
  475 10/07/06 XP P 1 Correct ESTAE to support format ESTAE EXIT,CT,PARAM=RESTART.  See RT\TEST\TESTSTA1. MM
  476 10/10/06 XP E 1 Speed up MVST by changing from byte by byte copy and test to first scan for ending byte and then issue system array copy to move specified number of bytes.  See RT\TEST\TESTINS2. MM
  477 10/10/06 XP E 1 Enhance CTD and CFD macros as follows:
1)  Support ASCII option for display format input and output
2)  Support register format for input fields
3)  Return code 12 for invalid input values instead of message
4)  Add macro label support
5) Use keyword IN= and OUT=
Update RT\TEST\TESTCTD1 and RT\TEST\TESTCFD1/
MM
  478 10/12/06 XP E 1 Improve alignment of error and trace messages by padding program and macro names shorter than 8 characters to 8 for display in messages. See RT\TEST\TESTERR1.BAL and RT\TEST\TESTPC1.TRM. AK
  481 10/14/06 XP E 1 Add support for attribute operators I' and S' previously not supported at all.  See RT\TEST\TESTSYM1. CN
  482 10/15/06 XP E 1 Update z390 documentation
1) z390 Macro and SVC Services document contributed by Melvyn Maltz
2) z390 Macro Pseudo Code new documentation with example trace
3) z390_Linux_Support contributed by Martin Ward
MM/DSH
  484 10/19/06 XP E 1 Change all TRACE option output to go to separate files as follows:
1) mz390 - TRACEM and TRACEP to file.TRM
2) az390 - TRACEA to file.TRA
3) lz390 - TRACEL to file.TRL
4) ez390 - TRACE to file.TRE
5) TRACEALL will generate all of the above with all traces.
Each trace file is limited by MAXSIZE option which has default of 50 MB.  See RT\TEST\TESTPC1.TRM and RT\TEST\TESTOPR1.TRM showing all variables in all AIF and SET statements executed.
DSH
  488 11/06/06 XP P 1 Correct az390 to issue error for label reference which is only defined as macro label type 'M' but has not been defined as ordinary symbol.  See updated RT\TEST\TESTERR2.MLC MM
  489 11/09/06 XP P 1 Correct az390 to prevent trap on ENTRY symbol which is undefined at the time of first reference due to being a macro label versus ordinary symbol.  See updated RT\TEST\TESTASM1.MLC. BD
  490 11/12/06 XP P 2 Correct the following ez390 TEST command processor errors:
1)  Prevent trap on invalid numeric input .
2)  Correct L command 0r and 15r to only dump specified reg.
3) Put all log messages on TRE trace file in TRACE or TEST mode.
MM
  491 11/12/06 XP P 1 Correct FREEMAIN svc support to correct corrupted FQE length field after merging two FQE entries.  See new RT\TEST\TESTMEM4.MLC from Melvyn Maltz. MM
  492 11/12/06 XP P 1 Correct mz390 to allow blank continuation lines.  See updated RT\TEST\TESTASM1.MLC. AK
  493 11/12/06 XP P 1 Correct az390 to correctly handle OPSYN for instructions with no operands such as ISK.  See updated RT\TEST\TESTASM1.MLC.  This also fixes error on other S type instructions with no operands when coded without comma to indicate following comments. AK
  494 11/12/06 XP P 1 Support bit lengths for any DS field when it is not followed by another field.  See RPI 417 pending for remaining bit length support coming.   See RT\TEST\TESTASM1. AK
  495 11/12/06 LX E 1 Add initial support for Linux provided by Martin Ward.  See new z390 web page for Linux with download of Pearle script and modified version of tz390.java to support case sensitive file names. MW
  496 11/13/06 XP P 1 Correct az390 to show correct file number in error message cross reference. DSH
  497 11/13/06 XP E 1 Change mz390.bat macro assembler batch command driver to allocate default 100 MB of memory for user application.  The Windows default appears to be about 50 MB.  This can be set up to limit of physical memory available for very large assemblies.  The largest user case tested on v1.2 has over 450 macros, executed over 45k macro calls.  This assembly used 88 MB of memory and ran in 24 seconds as shown by ERR file statistics. DSH
             
1.1.02c   11/03/06     Cumulative fixes and enhancements for v1.1.02  
  467 09/26/06 XP E 1 Add additional mz390 pseudo code support:
1) AGO and AIF
2) SETA, SETB, and SETC
3) Add mz390 option PC to generate pseudo code for mz390
4) Add mz390 option TRACEP to trace gen and exec of pseudo code
5) Add mz390 option PCOPT to optimize generated pseudo code:
   a.)  PUSHV, ADD 1, STORV  optimized to single INC.
   b/)  PSUHV, SUB 1, STORV optimized to single DEC.
   c.)  CONCAT with null string reduced to single PUSH.
   d.)  PUSHA, UCOMP reduced to PUSHA with neg. value
   e.)  PUSHA, ADD/SUB/MPY/DIV/COMP?? reduced to 1 op
   f.)  Optimize computed AGO using generating GBLA array
         of target line addresses for reuse regardless of whether PC
         option is on or off.  Note corresponding GBLC arrray of macro
         labels is also generated for display if TRACEP is on.
For example usage run demo\demom8q1 with NOPC and then PC to see difference in speed.  With NOPC it takes over 3 seconds, and with PC it runs under 1 second.   Also see regression tests TESTOPR1 and TESTPC1 with TRACEP generated TRM files.  Note TRM files can be very large showing every macro variable value used in every operation of every AIF and SET instruction. TRACEM now generates same source and generated BAL trace with or without option PC so it can be used to isolated where differences occur when running with with or without PC option.
DSH
  468 10/04/06 XP P 1 Correct mz390 to return T'&var = 'N' if &var is numeric sdt within quotes. BD
  469 10/05/06 XP E 2 Add new A'symbol operator extension to return 1 if symbol is defined in look-ahead symbol table else 0. AK
  479 10/12/06 XP P 1 Correct &SYSSTYP to return CSECT for sections started with START. AK
  480 10/13/06 XP P 2 Correct error messages for T' operator indicating L' error etc. CN
  483 10/19/06 XP P 1 Correct lz390 to prevent trap and issue error when obj file being read is truncated due to error in az390. DSH
  485 10/26/06 XP P 1 Correct mz390/az390 locking to ensure az390 processing of last generated BAL line is complete before proceeding with mz390 conditional macro code processing.  This fixes infrequent situation where mz390 posts new bal line and checks if az390 is waiting before az390 ever has chance to leave previous wait state and process the new bal line. DSH
  486 10/30/06 XP E 1 Upgraded Java SDK and JRE to 1.5.0 update 9.  All regression tests will be run on this release starting with z390 v1.1.02c.  The only visable change from running same tests on update 7 is an increase of 8 MB in memory usage shown in .ERR files. DSH
  487 11/03/06 XP P 1 Correct mz390 to prevent character string starting with '~' from causing erroneous expression stack error.  See updated RT\TEST\TESTASM1.MLC HS
1.1.02b 09/26/06 Cumulative fixes for v1.1.02
439 09/08/06 XP E 1 Add mz390 pseudo code generator for conditional macro instructions to speed up execution.  Option PC is new default option to generate pseudo code during first execution of sstatement for reuse if executed again.  Specify NOPC to turn the option off.  Option MAXPC(nnn) can be used to change default pseudo code operation cache working set of 50000.  Pseudo code generation is only of significant benefit when macro code is repeatedly executed many times.  Statistics are provided on total pseudo code operations generated and executed plus the total number of pseudo code lists allocated and reused on least recently used basis if cache size exceeded.  These statistics can be used to compare benefit of pseudo code generation and different cache sizes.  This initial PTF version only supports AGO code generation but it is enough to see the potential benefit.  With PC option an AGO loop executed a million times runs at 2.2 MIPS versus 0.15 MIPS with NOPC option.  The dramatic difference is due to overhead of repeated regular expression parsing and hashed symbol table lookups.  Additional pseuod code support for AIF, SET, and other statements will be added in future versions. DSH
461 09/22/06 XP P 2 Add CCGE and CCLE options to RT1 and fix regression test RT\TEST\TESTTIM2 to allow remaining time interval to be same as previously or greater/less to prevent intermittant failures depending on system activity. DSH
462 09/25/06 XP P 1 Correct mz390 to always assume shorter operand is lower when comparing two string operands. DSH
463 09/25/06 XP P 1 Correct mz390 and az390 to correctly handle quoted string parm spanning 1 or more continuation lines followed by additional parms. DSH
464 09/25/06 XP E 1 Change az390 to only display MNOTE's o ERR file during final assembly phase. DSH
465 09/25/06 XP E 1 Change az390 to allow register 0 to function as a valid base for DSECT such as in the case of PSA.  See RT\TESTASM1.MLC. DSH
466 09/26/06 XP P 1 Correct mz390 lookahead support to handle single character symbols, unlabled DS/DC, and mulitple DSECT's.  See RT\TEST\TESTSYM1.MLC. DSH
1.1.02a         Cumulative PTF fixes for v1.1.02  
  444 09/12/06 XP E 1 Change MNOTE' process to exclude * type from ERR file. AK
  445 09/13/06 XP P 1 Correct mz390 dynamic array expansion bug causing expanded arrays to be reset to initial values.  See RT\TEST\TESTSET1. DSH
  446 09/21/06 XP P 1 Correct mz390 define function D' to return setb type versus seta type to prevent NOT operator from performing binary NOT versus logical NOT.  See RT\TEST\TESTSET1. DSH
  447 09/14/06 XP P 1 Correct mz390 N'&PARM(...) to return correct count when subscript includes variable.  See RT\TEST\TESTMAC1.MLC. DSH
  448 09/14/06 XP P 1 Correct az390 to allow use of DS/DC/EQU processes during lookahead phase of MLC loading without sym lock error. DSH
  449 09/16/06 XP P 1 Correct mz390 to restrict ordinary symbol lookup to just literal symbols with no quotes and variable setc symbols in AIF or SET expressions.  DSH
  450 09/16/06 XP P 1 Correct az390 to prevent truncation of symbol cross reference table when symbol only referenced in lookahead is encountered. DSH
  451 09/17/06 XP P 1 Correct az390 to prevent EQU symbol defined as relative via EQU from being updated to current location counter at end of BAL statement processing when alias EQU opcode being used. DSH
  452 09/18/06 XP P 1 Correct TTIMER to correctly return remaining time before canceling timer with option CANCEL.  See updated RT\TEST\TESTTIM2.MLC regression test. MM
  453 09/18/06 XP E 1 Speedup MVST using direct memory byte access.  See BMK\INSTTIME.BAT instruction timing report. MM
  454 09/18/06 XP E 1 Add pz390 instructions as follows:
1) TRE translate extended for > 256 character fields
2) TROO one byte to one byte
3) TROT one byte to two bytes
4) TRTO two bytes to one byte
5) TRTT two bytes to two bytes
See RT\TEST\TESTINS2.MLC regression tests and updated RT\TEST\TESTINS1.MLC instruction formats.
MM
  455 09/18/06 XP E 1 Remove erroneous console output from az390 and lz390 such as LISTUSE and ESD listings. MM
  456 09/18/06 XP P 1 Correct mz390 expression parser to correctly handle duplication operator within complex expressions.  See RT\TEST\TESTSET1. AB
  457 09/18/06 XP P 1 Correct az390 to allow literal references across multiple CSECTS. AB
  458 09/18/06 XP P 1 Correct az390 to support DC S type constants with explicit offset(base) self defining terms.  See updated RT\TEST\TESTDC1. AB
  459 09/18/06 XP P 1 Correct lz390 to prevent trap when external references not found. Correct az390 to generate CSECT ESD's in object file before ENTRY, EXTRN, and WXTRN entries. AB
  460 09/21/06 XP P 1 Correct gz390 to wait for ez390 to close after PF3 exit. DSH
             
1.1.02   09/12/06     Full release with cumulative fixes and enhancements
1. MVS macros now in optional download zip

2, z390 v1.1.02 regression tests now in optional download zip
To run all z390 regression tests, install z390 and the above zips into the z390 install directory with folder names option on, start z390 GUI or command line and then run RT.BAT.  It will take a few minutes and will end with list of difference files in descending order by size in the RT\ALL directory.  To verify that all the z390 install demos work without the optional zips, run RTDEMO.BAT.
 
  363 07/09/06 XP E 1 Move current MVS macro directory and TEST directory to two separate downloadable zip files on www.z390.org:
1.  z390_MVS.ZIP contains MVS 3.8J macros which has the following directory structure:
   MVS    - public domain MVS 3.8J directory
        MACLIB - MVS 3.8J macros in ascii with .MAC
        TEST - test assembly programs using MVS\MACLIB
            SAVE - last verified copy of test files
        DEMO - demo programs using MVS\MACLIB
            SAVE - last verified copy of demo files
        DIF - generated dif files for RTMVS.BAT
2.  z390_v1102_RT.ZIP contains the z390 regression test directory for z390 v1.1.02 which has the following structure:
  RT       - regression test primary directory
     TEST - source and generated test program files
         SAVE - last verified save of all TEST directory files
     DIF    - generated dif files for TEST versus SAVE
                  by running RTTEST.BAT from z390 root dir.
     ALL   - generated comparison dif files for RTLINK,
                  RTDEMO, RTCICS, RTMVS, and RTTEST
                   by running RT.BAT.

The RTTEST and other regression tests consist of the following:
  1.  Assemble, link, and execute each z390 regression test to
       generate TEST files BAL, PRN, OBJ, LST, LOG, ERR, etc.
  2.  Compare each TEST file with corresponding SAVE file to
       generate the DIF comparison files using Windows FC utility.
       (Note LINKLIB RTGENDIR.MLC and RTGENCMP.MLC
       macro text processing programs are used to comparison BAT.)
  3.  Sort and list the DIF directory in descending order by size of
       of the comparison file to highlight any changes.  A few tests
/       such as TESTIM2 using timing will always have differences.

The regression tests using the z390_MVS_MACLIB public domain macro library can be run by using the command RTMVS.BAT from the z390 command line.  The RTMVS regression tests include assembly and execution of DEMO program with WTO using the MVS WTO macro with no changes since the form of the WTO used is compatible at the SVC 35 interface level.  Note this is not true with most other macros and the z390 system macros must be used at assembly time.

AB
  395 08/05/06 XP E 2 Enhance TEST facility as follows:
1.  Correct IC and STC to only show 1 byte of storage.
3.  Change SS instr. to show up to 16 bytes of to and from fields.
4.  Allow up to 100 A hex address break settings.  Re-entry address stop to remove it or enter S to clear all breaks.
6.  Document that comments on break command show at break.
7.  Support use of "EPA" as entry point address reference.
8.  Support multiple indirect address references.
9.  Compact trace listing for duplicate lines.
See RT\TEST\TESTTST1 regression test.
AB
  400 08/07/06 XP E 1 Publish INSTIME V6 benchmark instruction time report contributed by Melvyn Maltz. MM
430 09/02/06 XP P 1 Correct az390 to allow low memory references using register 0 base. AB
  431 09/02/06 XP E 1 Add new option LISTUSE with default on to list current USING definitions after each USING and DROP statement.  Specify NOLISTUSE to turn this option off.  Also fix bugs in DROP dropping wrong labeled using and dropping labeled using by register in error. AB
432 09/03/06 XP P 1 Correct mz390 to close AREAD or PUNCH open file before switching between AREAD or PUNCH access to the same file so any of the 10 files for each type can be accessed repeatedly in either mode.  See TESTPCH1 regression test. DSH
433 09/03/06 XP P 1 Correct mz390 to always wait for az390 to complete execution when running option ASM.  If mz390 aborts due to severe error, force az390 to abort as well and wait for az390 to end after creating PRN with both mz390 and az390 abort errors. DSH
434 09/04/06 XP E 1 Improve performance of mz390 for large macro expansions:
1)  Correct mz390 to check MAXLCL versus MAXSYM for local variable overflow.
2) Save macro label line numbers to reduce need to repeat key index lookups for AGO and AIF statements.
3) Optimize local and global key index routines by eliminating use of random number function and just using string hashcode to derive hash index resulting in 10% elapsed time reduction for large programs.
4) Optimize regular expression parsing patterns to move most frequent patterns to the front and consolidate patterns if possible.
5) See RPI 439 for planned addition of pseudo code generator for faster execution of macro code statements.
DSH
435 09/04/06 XP P 1 Correct mz390 to support default allocation of local macro variable array when subscripted element is set prior to any declaration.  See updated RT\TEST\TESTSET1.MLC regression test. DSH
436 09/04/06 XP P 1 Correct mz390 to correctly parse AREAD and PUNCH operands for end of DSNAME and ignore comments.  See updated RT\TEST\TESTPCH3.MLC regression test. DSH
437 09/06/06 XP P 1 Eliminate TEXT option and always allow AREAD text input of any length from optional AREAD text files.  Inline AREAD input strings may also be longer than 71 characters if the starting inline data input line is continued with non-blank character in position 72. Note PUNCH output text file records can be of any length.  Also correct mz390 bug to check for macro not found previously to avoid erroneous error 119 macro index table exceeded error. DSH
438 09/07/06 XP E 1 Add az390 initial very limited support for DS/DC bit lengths if and only if the bit length is a multiple of 8.  See RPI 417 pending for addition of full bit length support. AB
440 09/08/06 XP E 2 Route all MNOTE's to ERR file as well as BAL and PRN files.  Correct ez390 and sz390 to honor NOCON option. AB
441 09/08/06 XP P 1 Update pz390 as follows:
1) Correct 0C7 on TP command with bad sign and length 1-8. 
2) Speed up TRT by ending loop at first hit.
3) Add move string instruction MVST.
See updated RT\TEST\TESTINS2.MLC.
MM
442 09/08/06 XP P 1 Correct az390 calculation of symbol value based on * location counter in DSECT during first pass which can cause mz390 to fetch bad value even though az390 corrects it on second pass.  See updated RT\TEST\TESTSYM1.MLC. DSH
443 09/10/06 XP E 1 Add new benchmark test macro text processing program BMK\BMKTIME.MLC which can be used to measure the elapsed time of any process run between calls to BMKTIME which records starting time on first call and ending time and elapsed time on second call with SYSPARM set to text file to contain timing statistics.  Run BMK\BMKTIME.BAT for example timing of DEMO\DEMOM8Q1.MLC showing 40k macro instructions per second versus 35k on previous release. DSH
             
1.1.01e   09/02/06     PTF cumulative fixes for v1.1.01  
  423 08/31/06 XP P 1 Prevent recursive abort error when az390 attempts to close down by catching internal exception on separate thread.  Also add same exception handling in ez390, sz390, and gu390_screen threads. AB
  424 08/31/06 XP P 1 Correct az390 to correctly handle invalid constants in E, D, F, H, and L type DC statements and issue appropriate error. AB
  425 09/01/06 XP P 1 Generate mz390 statistics just before END statement if BAL and STATS option specified so the statistics show up on both BAL and PRN files.  Force listing of all file cross references with error count > 0 at the end of  both PRN and ERR file for easy reference.  Show the total number of errors on each file reference.  Correct ERR file to set default .ERR suffix when not specified.  Add file and line cross reference after bal line number on all error messages (not available when az390 is run separately from mz390). AB
  426 09/01/06 XP P 1 If the mz390 macro expansion had hard errors, suppress multiple passes in az390 attempting to resolve forward references and go directly to last pass to generate PRN listing to save time. AB
  427 09/01/06 XP P 1 Correct mz390 to issue error if option NOASM is specified and attempt to access valid ordinary symbol name is made in AIF expression. AB
  428 09/01/06 XP P 1 Correct sz390 to ignore high bit in 8 byte address stop address. JG
1.1.01d   08/30/06     Cumulative PTF fixes for v1.1.01  
  410 08/12/06 XP P 2 Correct mz390 to issue error for incorrect DSNAME= or DDNAME= extension on PUNCH or AREAD statements.  See new LINKLIB\RTGENBAT.MLC.  Correct mz390 to substitute macro variables on PUNCH statement on BAL as well as PCH.  Correct AREAD to return 1 space for lines with all spaces or cr,lf only.  A 0 length string from AREAD indicates end of file.  Add AREAD and PUNCH I/O counts to mz390 stats.  See new regression test directory processing programs LINKLIB\RTGENDIR.MLC and LINKLIB\RTGENCMP.MLC used in RT batch commands to generated BAT files for comparing files in 2 directories.  If MNOTE level 16 or abort is issued, return it as mz390 return code instead of 0 which is returned for mnote levels 0-15 for az390 to list and handle.. DSH
  411 08/14/06 XP E 1 Improve performance of mz390 as follows:
1.  Reducing string concatenation wherever possible to reduce string garbage collection overhead.
2.  Replace while loops to init arrays with Array.fill function.
3.  Replace while loops to copy arrays with System.arraycopy.
AB
  412 08/14/06 XP P 1 Correct mz390 to reset abort flag during loading of macros in order to display multiple errors found during loading such as multiple duplicate macro labels.  Eliminate duplicate mz390I pgm and options msgs in z390 GUI log. Correct missing space on error message 72. AB
  414 08/14/06 XP P 1 Correct mz390 to recognize ERR(nnn) override for maximum errors.  If nnn is 0, no limit is set. AB
  415 08/14/06 XP P 1 Change mz390 to automatically call az390 when option ASM (renamed from option MFC) is on.  This enables mz390 to share the az390 symbol table during first pass for AIF expressions including ordinary symbols such as calculated length of DSECT's.  The ASM, ASML, and ASMLG commands have all been updated to eliminate separate az390 step by using mz390 with new default ASM and NOBAL which suppresses creation of BAL file.  The MAC command assumes NOASM and BAL to enable using the macro processor as a powerful macro based text editor with no mainframe ASM dependencies.  The AZ390.BAT command can still be used to run az390 separately after first creating BAL file using MAC with BAL option which may be used in testing.  See RT\TEST\TESTSYM1 for macro code test of ordinary symbol DSECT length in AIF. AB
  416 08/14/06 XP P 1 Correct az390 loop on invalid DS/DC length expression.  AB
  419 08/20/06 XP E 1 Correct mz390 T', L', and D' operators to correctly parse SETC variable text to extract first ordinary symbol as operand for operator.  The symbol may have labeled using prefix and may have trailing expression operator such as T'&PARM where &PARM is BLK.FLD+5.   See updated RT\TEST\TESTSYM1 regression test. AB
  420 08/21/06 XP E 1 Allow support for multiple AREAD and PUNCH files using ID=n where n is 0 to 9.  Also support DSN= as alias for DSNAME= in AREAD and PUNCH extended options, and add documentation on extensions to User Guide.  See RT\TEST\TESTPCH3 new regression test to copy and merge 2 text files. AB
  421 08/24/06 XP E 1 Correct support for &var.nn'...' to concatenate duplication string.  See updated RT\TEST\TESTOPR1 regression test. AB
  422 08/30/06 XP P 1 Correct incorrect comparison between two strings padded with blanks to the same length but with unequal EBCDIC characters > 128. AB
             
1.1.01c   08/10/06     PTF cumulative fixes for v1.1.01  
  390 08/04/06 XP P 1 Remove DSH2 change to FPCONVRT and change DSH3 to use IC RO versus IC R1 and remove the extra LR R0,R1.  Superseded by RPI 405.  RTLINK.BAT. DB
  391 08/04/06 XP P 2 Change FPCONMFC to change trailing null bytes in decimal output area to spaces.  See RTLINK.BAT. DSH
  393 08/05/06 XP P 1 Issue SF05 program check if wait svc issued with wait count higher than total entries in the ECB list or if ecb_list exceeds max of 16. MM
  394 08/05/06 XP E 2 Correct GETMAIN macro to issue warning and ignore any SP= subpool specified.  See RPI 244 and RPI 248 pending request for subpool support.  All pools are combined currently so PURGE of subpool is not currently supported. MM
  396 08/06/06 XP E 2 Change TESTTIM2 to expand STIMER REAL test to allow 15 seconds for task to get 2 seconds of cpu time.  It was set at 2.5 seconds and caused U101 abend when background Windows task caused cpu time to be shared thus requiring over 4 seconds to get 2. GG
  397 08/06/06 XP P 1 Fix pz390 to issue S0C5 on all memory accesses beyond current memory allocation based on MEM(mb) setting.  Previously it was only checking instruction address resulting in exception handler in ez390 trapping exception from pz390 running on separate thread causing synchronization problem with log output when running under z390 GUI interface.  Fix also applied to ez390 exception handler to try and correct synchronization problem when similar unexpected exceptions occurs in pz390. ABE
  398 08/06/06 XP P 1 Fix pz390 divide D and DR instructions to avoid truncating divisor prior to divide.  Also speed up D, DR, SLDL, SLDA, SRDL, and SRDA by using long shift and or versus byte buffer int stores and long fetch.  See updated TESTINS2 with expanded D and DR tests. GP
  401 08/07/06 XP P 1 Fix mz390 to expand arrays as required when multiple store values exceed current allocated size.  Previously only declaration or initial store index could automatically force expansion.  Also display separate statistics for global seta, setb, and setc cells.  See TESTSET2. AB
  402 08/07/06 XP P 1 Change mz390 to report count of MNOTE warnings with level 1-4. AB
  403 08/07/06 XP P 1 Change az390 to correctly restore original opcode usage when original opcode name is set to previously defined alternate name for the original opcode.  See updated TESTSYN2. AB
  404 08/07/06 XP E 1 Update mz390 to support EQU 4th and 5th operand assembler and program attributes and include all of the following expression operators (NC no change if already supported):
  A2B - convert value to binary string (3 = '11')
  A2C - convert value to character string (240 = '1')
  A2D-  convert value to decimal string (1 = '1')
  A2X - convert value to hex string (240 = 'F0')
  AND - logical and (NC)
  B2A - convert binary string to value (B2A('100') = 4)
  B2C - convert binary string to character string ('11110000' = '1')
  B2D-  convert binary string to decimal string ('100'  = '4')
  B2X - convert binary string to hex string ('11110000' = 'F0')
  C2A - convert 0-4 characters to value (C2A('0') = 240)
  C2B - convert character string to binary string ('1' = '11110000')
  C2D-  convert character string to decimal string ('1'  = '240')
  C2X - convert character string to hex string ('1' = 'F0')
  D2A - convert decimal string to value (D2A('-2') = -2
  D2B - convert decimal string to binary string ('4' = '100')
  D2C-  convert decimal string to character string('240'  = '1')
  D2X - convert decimal string to hex string ('240' = 'F0')
  DCLEN - length of string after reducing double ' and &
  DCVAL - return string with double ' and & reduced
  DCEQUOTE - return string without first and last ' if any
  DOUBLE - double quotes and & in string (NC)
  FIND - return index of any char in string2 found in string1 (NC)
  INDEX - return index of string2 found in string1 else 0 (NC)
  ISBIN - return 1 if valid binary string else 0
  ISDEC - return 1 if valid decimal string else 0
  ISHEX - return 1 if valid hex string else 0
  ISSYM - return 1 if valid character string for symbol else 0
  LOWER - return lower case string (NC)
  NOT - logical or arithmetic not (NC)
  OR - logical or (NC)
  UPPER - return upper case string (NC)
  SIGNED - return decimal string with minus sign if negative
  SLA - shift left arithmetic (2 SLA 1 = 4)
  SLL - shift left logical (2 SLL 1 = 4)
  SRA - shift right arithmetic (4 SRA 1 = 2)
  SRL - shift right logical (4 SRL 1 = 2)
  SYSATTRA - return assembler attribute for symbol (EQU 4th)
  SYSATTRP - return program attribute for symbol (EQU 5th)
  X2A = convert hex string to value (X2A('F0') = 240) 
  X2B - convert hex string to binary string ('F0' = '11110000')
  X2C-  convert hex string to character string('F0'  = '1')
  X2D - convert hex string to decimal string ('F0' = '240')
  XOR - logical exclusive or (NC)
AB
  405 08/07/06 XP P 1 Fix mz390 to correct error handling O' operator to test opcode and replace current FPCONVRT.MAC with updated version contributed by David Bond that has previous fixes plus new support for IEEE-754R decimal floating point ED, DD, and LD (MIN) and (MAX) values if the assembler supports z9-bc instructions including SRNMT tested via O'SRNMT.  See RPI's 406-407 for additional z390 support pending for z9-bc instructions and IEEE-754R decimal floating point.  See IBM General Decimal Arithmetic for overview.   See TESTOPR1 for updated O' tests. DB
  408 08/09/06 XP P 2 Fix gz390 GUAM graphical user access method to expand the default screen size by a few pixels to prevent cutting off part of border characters on screen.  Also fix trap in gz390 when running DEMOGUI5 which tries to resize graph view.  See RPI 137 pending to complete addition of graphics support when time permits. GP
  409 08/10/06 XP P 2 Optimize speed of mz390 starting with optimization of find_key_index to avoid extra string concatenation of type by passing char type separately.  Also skip string compares if not target type.  At least 10% speed improvement observed on 2 second macro expansion of TESTINS2. AB
1.1.01b   08/04/06     Cumulative fixes and enhancements  for 1.1.01  
  365 07/13/06 XP P 1 Correct az390 to support literals as target of prefix operators such as L'=C'...'.  See updated TESTASM1. DSH
  366 07/13/06 XP P 1 Correct mz390 to correctly handle mixed case keyword override of default values.  See LINKLIB\FPCONVRT. DSH
  367 07/13/06 XP P 1 Add az390 support for floating point constants using (MIN) and (MAX) to indicate limit values.  See TEST\TESTDC1 and LINKLIB\TESTFPC2. DSH
  368 07/13/06 XP P 1 Add az390 support for  S scale modifier and ignore ACONTROL and ALIAS control commands.  See TESTDC1 for scale test and TESTASM1 for ACONTROL and ALIAS. DSH
  369 07/14/06 XP P 1 Correct mz390 to ignore 4th and 5th EQU operands defining program type and assembler type which are ignored for now.  See updated TESTASM1. DSH
  370 07/14/06 XP E 1 Add extension macro CFD covert from decimal to support converting from free form decimal numbers including scientific notation in 45 character field to the following formats:
  1) Convert to 128 bit integer from 45 byte scientific notation
  2) Convert to EH short from 45 byte scientific notation
  3) Convert to EB short from 45 byte scientific notation
  4) Convert to DH long from 45 byte scientific notation
  5) Convert to DB long from 45 byte scientific notation
  6) Convert to LH extended from 45 byte scientific notation
  7) Convert to LB extended from 45 byte scientific notation
The macro uses svc 171.  See new regression test TESTCFD1 for examples.  See LINKLIB\TESTFPC1 for extensive test.
DSH
  371 07/14/06 XP P 1 Correct az390 to allow spaces within hexadecimal type DC constants such as DC X'0123 4567 89AB CDEF'.  See TESTDC1. DSH
  372 07/15/06 XP P 1 Correct az390 to correctly handle multiple LOCTR sections where new LOCTR is defined following previous LOCTR which is not the last LOCTR in the CSECT or DSECT.  See LINKLIB\FPCONVRT assembled by RTLINK.BAT for test. DSH
  373 07/16/06 XP P 1 Correct az390 alignment of L type 16 byte fields to multiple of 8 instead of 16.  See TESTDC1. DSH
  374 07/17/06 XP E 1 Add new z390 open source directory LINKLIB with the following programs:
1.)  FPCONVRT.MAC - floating point conversion routine generation macro contributed by David Bond with Tachyon Software.  The original source code can be downloaded here: ftp.tachyonsoft.com/tachyon/fpconvrt.zip.  Note the program can be assembled and executed using z390 without any changes.  However, 4 single line changes were required to FPCONVRT.MAC in order to successfully run the test programs below with identical results compared to z390 svc calls.  The changes are tagged with DSH1-DSH4. 
2.  FPCCONVRT.MLC - 3 line macro call program to assemble FPCONVRT.MAC to FPCONVRT.OBJ format for static linking using the ARCHLVL set by new ARCHLVL macro.
3.  ARCHLVL.MAC - macro to set desired OS or z/OS architecture level global variable &ARCHLVL and &ARCHSFX 32 or 64 bit register suffix of null or "G".  All of these programs have been successfully tested with ARCHLVL=2 for OS 32 bit linkage and also ARCHLVL=5 for z/OS 64 bit register linkage plus use of z9-101 instructions.  Note the current setting for this macro is ARCHLVL=5 for testing the 64 bit support.  However, you can use ARCHLVL=2 for typical 32 bit application testing on the PC.. 
4.  FPCONMFC.MLC - interface program to map z390 CTD and CFD macro calls into corresponding calls to FPCONVRT when the LINKAGE=MF option is used.  The CTD and CFD macros default to using z390 svc 170 and 171 for maximum speed.  The LINKAGE=MF option generates calls to FPCONMFC and in turn FPCONVRT for source code compatibility with the mainframe.  Note this program also uses ARCHLVL to determine correct linkage for FPCONVRT calls.
5.  TESTFPC1.MLC is a regression test of CTD, CFD, FPCONMFC, and FPCONVRT for all floating point types plus 128 bit integers using both SVC and MF linkage.  Note the default LINKAGE=SVC is significantly faster for testing on PC.  After testing you can use the MF calls to FPCONVRT when required to port applications to the mainframe.
6. TESTFPC2.MLC is regression test of all 6 floating point (MAX) and (MIN) value constant conversions to and from decimal values.
7.  CVTTOHEX.MLC is a callable routine to convert any number of specified bytes to hex for use in displays.  See TESTFPC1 for example use.
8.  See RTLINK.BAT for assembly, link, and execution of test programs in LINKLIB. 
DSH
  375 07/18/06 XP P 1 Correct az390 to issue error when USING label prefix used with absolute or complex expression reference.  See TESTERR2. DSH
  376 07/20/06 XP P 1 Correct pz390 to return condition code 1 when AL??? instructions turn on high bit but there is no carry.  Previously it was setting condition code 3 in error.  See updated regression test TESTINS1. AW
  377 07/20/06 XP P 1 Correct sz390 to prevent DCB recursive error processing trying to find file name for missing DDNAME.  Nasty bug as it puts Eclipse in a tight loop until stack overflows.  See TESTERR7. AW
  378 07/20/06 XP P 1 Correct az390 and lz390 to use the first SYSOBJ directory to access primary OBJ file.  It was failing when concatenated directories were specified.  See RTLINK.BAT for TESTFPC1 using SYSOBJ(LINKLIB).. DSH
  379 07/21/06 XP E 1 Update DO macro to use IF and ENDIF to support compound WHILE and UNTIL conditions.  See LINKLIB\FPCONMFC. DSH
  380 07/21/06 XP E 1 Add callable routine named CVTTOHEX to convert field to hex.  See LINKLIB\TESTFPC1 for example usage. DSH
  381 07/22/06 XP E 1 Update CALL macro to support register replacement of parameters in standard form as well as execute form.  See LINKLIB\TESTFPC1 calls to CVTTOHEX. DSH
  382 07/23/06 XP P 1 Fix az390 to correctly generated F and H constants up to 16 bytes and issue error if out of range.  It was limited to +-32 bit constants with extension.  Note 16 byte constants are an extension of HLASM.  See updated TEST\TESTDC1 and LINKLIB\FPCONMFC. DSH
  383 07/24/06 XP P 1 Fix pz390 MLG and MLGR to multiply R1+1 and S2/R2 to compute 128 bit result in R0:R1.  It was using R1.  See TESTINS2 and FPCONMFC. DSH
  384 07/26/06 XP P 1 Fix az390 and pz390 to generate all zeros for HFP E, D, and L exact zero and set LH second exponent to mod 127 value if underflow.  It was setting exponent to x'40'.  See TESTDC1 and TESTFPC1 and TESTFPC2. DSH
  385 07/26/06 XP E 1 Change lz390 to display each ESD CSECT included in 390 load module with relative offset and length on LST and ignore 0 length CSECT's.  Also display ENTRY and RLD's.  See TESTRLD1. DSH
  386 07/30/06 XP P 1 Fix pz390 to eliminate trap on MVCL when data length is zero and only pad characters stored.  See TESTFPC1. DSH
  387 07/30/06 XP P 1 Fix az390 and pz390 to support 20 bit signed displacement in LAY and other RXY type instructions.  See FPCONVRT when assembled using ArchLvl=5 which uses z9 processor instructions including LAY. DSH
  388 08/03/06 XP P 1 Fix az390 to correctly generate specified number of duplicate E, D, or F constants.  It was only generating one and overlaying the rest.  Also correct DS FD to generate 8 vs 4 byte fields.   See TESTDC1. DSH
  389 08/03/06 XP P 1 Fix pz390 to correct CVB, CVBY, CVBG, CVD, CVDY, and CVDG failing to convert some values correctly and not issuing fixed divide exception when expected in some cases.  See expanded regression test TESTCVB1 and TESTCVBG as well as updated TESTINS2. MM
1.1.01a   07/11/06     Cumulative fixes for release 1.1.01  
  359 07/08/06 XP P 1 Correct mz390 to handle macro prototype variables with mixed case names.  Previously they had to be caps to work properly.  See updated TESTMAC1. SB
  360 07/09/06 XP E 2 Add macro CTD and associated convert to display svc 170 to perform these extended display output conversions:
  1) Convert 128 bit integer to 40 byte display
  2) Convert EH short to 40 byte scientific notation
  3) Convert EB short to 40 byte scientific notation
  4) Convert DH long to 40 byte scientific notation
  5) Convert DB long to 40 byte scientific notation
  6) Convert LH extended to 40 byte scientific notation
  7) Convert LB extended to 40 byte scientific notation
See new TESTCTD1.MLC regression test.  Also see www.mfatc.org SQRT2 demos to calculate and display square root of 2 in HLASM, HLA, C++, COBOL, and Java with arbitrary BigDecimal class precision showing 1000 digit precision example in addition to the IEEE standard 32, 64, and 128 bit precision results.
DSH
  361 07/08/06 XP P 1 Add missing regression test batch command RT7.BAT which is the same as RT1 but with no check of 0 return code for ez390. AB
  362 07/08/06 XP P 1 Change ASM, ASML, ASMLG, MAC, and EXEC to all proceed without error if return code is not greater than 4.  Currently anything but 0 pauses with message to check errors. AB
  364 07/10/06 XP P 1 Correct SQDB instruction which was truncating IEEE 64 bit precision to 32 bit precision.  See updated TESTCTD1 regression test and www.mfatc.org HLASM SQRT2.MLC.. DSH
1.1.01   07/07/06     Maintenance Release  
  320 06/03/06 XP E 1 Update instruction timing statistics program and reports contributed by Melvyn Maltz.  The program now has directory option set by SYSPARM so program does not require reassembly to change directory.  See results showing performance gains with v1.1.01 versus base line using v1.0.12a.  The program documentation is here. MM
  355 07/01/06 XP E 1 Add updated documentation on program, and storage services contributed by Melvyn Maltz. MM
  357 07/06/06 XP E 1 Increase instruction execution speed by over 50% by breaking opcode primary switch into 4 separate switches to reduce Java virtual machine overhead of loading large switch table versus performing additional if statements.  Also reduce the size and therefore the memory working set of z390.jar over 50% by rebuilding classes for the jar without debugging information.  See performance results using www.mfatc.org MIPS.MLC demo program to caculate instruction rate for BRCT loop, and see regression test TESTTIM2.MLC instruction count for CLI, BNE loop while waiting for STIMER exit. DSH
  358 07/07/06 XP P 2 Correct TEST mode to prevent trap error on invalid S command such as S FF358. which is  an incomplete memory change break operand. AB
1.1.00f   07/06/06     PTF cumulative fixes for v1.1.00  
  325 06/03/06 XP P 1 Correct KEB and KDB to allow exact zero without error.  See updated TESTFP1. MM
  326 06/03/06 XP P 2 Add support for test data class instructions TCEB, TCDB, and TCXB.  See updated TESTFP1. MM
  333 06/04/06 XP P 1 Correct FIEBR, FIDBR, FIXBR, TBEDR, TBDR, CFEBR, CFDBR, CFXBR, CBEBR, CBDBR, CGDBR, CGXBR, CFER, CFDR, CFXR, CGER, CGDR, and CGXR  to support additional rounding modes specified by mask, and add support for SRNM to set rounding mode.  See updated TESTFP1. MM
  335 06/05/06 XP P 1 Correct mask trace on RRF2 format instructions such as TBEDR.  See updated TESTFP1. DSH
  347 06/12/06 XP E 1 Add test option to stop at specified instruction address using G or T with hex or relative address expression.  G or T with alpha opcode will stop at next opcode.  G or T with hex address or expression will stop at address.  G or T with decimal value will execute number of instructions.  See updated TESTTST1. AB
  348 06/13/06 XP P 2 Correct trace to only show 2 bytes of storage for half word RX and RXY type instructions.  Add blank line in trace after successful branch to indicate non-sequential code.  See updated TESTINS2 with trace compare. AB
  351 07/01/06 XP P 1 Correct OPSYN support to correctly find and replace opcodes which have been used prior to first opsyn reference.  See updated TESTYSYN2. AB
  352 07/01/06 XP P 1 Correct DCB support to only require full word alignment versus double word alignment. AB
  353 07/01/06 XP P 1 Correct mz390 expression parser to correctly handle target of prefix operator such as UPPER, LOWER, FIND, INDEX in parenthesis.  See updated TESTMAC1. SB
  356 07/05/06 XP P 2 Correct az390 to not abort on missing operands for CVD etc.  See updated TESTERR2. AB
1.1.00e   06/16/06     Cumulative fixes for v1.1.00  
  349 06/16/06 XP P 1 Correct mz390 to prevent loop when EQU parm contains error during loading of macro file. AB
  350 06/16/06 XP P 1 Correct mz390 TRACEALL option to prvent null value display instead of "OPEN CODE" for global values during loading of MLC file.  Note the TRACEM option does not display source during loading. AB
             
1.1.00d   06/16/06     Cumulative fixes for v1.1.00  
  317 05/25/06 XP E 2 Change DFHEIA0 and DFHEIA1 stubs to exit without allocating or deallocating DSA etc. when length is 0 indicating calling program does not use DSA or any CICS services.  This allows any program to be assembled using CICS option.  See RTCICS.BAT regression tests. DSH
  319 06/03/06 XP P 2 Fix TESTCMD2 to wait for both processes to finish before terminating normally with end of file message from both processes.  See updated TESTCMD2.MLC regression test. SD
  321 06/03/06 XP P 2 Correct ESTAE and ESPIE error MNOTE message to include macro names. MM
  322 06/03/06 XP P 2 Correct CALL macro to process VL option for MF=L option.  See updated TESTCAL2.MLC. MM
  323 06/03/06 XP P 1 Correct pz390 to stop on test opcode break point for first instruction in stimer exit. MM
  324 06/03/06 XP P 1 Correct GETMAIN macro code generated for A= option to store register 0 versus register 1.  Correct STORAGE macro to store address in memory at address specified in ADDR=(REG).  See updated TESTMEM1-3 test results. MM
  327 06/04/06 XP P 1 Issue error message if duplication factor negative. DSH
  329 06/04/06 XP E 1 Remove file suffix from all &SYS????_MEMBER variables for mainframe compatibility.  As long as default suffixes are used, this should minimize required user changes.  See updated TEST\TESTSYS1. AB
  330 06/04/06 XP E 1 Add all MNOTE errors with severity greater than 0 to ERR log file for both mz390 and az390.  See updated RTTEST.ERR log. AB
  331 06/04/06 XP P 1 Correct mz390 to expand macro if found for cancelled OPSYN opcode and correct error on repeated call to a loaded macro file containing inline macro. AB
  334 06/05/06 XP P 1 Move zstrmac structured macros to the main mac directory so there is no extra macro library parm required for use.  If user has different version of same structured macros, that library must be placed ahead of mac directory.  Add cics directory to PTF zip for all cics updates. DSH
  336 06/05/06 XP P 1 Correct mz390 AIF parsing error on expression with D' operator.  Correct support for SETA expression evaluation of ordinary symbol value.  See updated TESTMAC1. AB
  337 06/06/06 XP P 1 Correct z390 GUI dialog to correctly pass file name without truncating first character when execution path is a long spacey name in quotes. DSH
  338 06/08/06 XP P 1 Correct mz390 to correctly handle duplication factor for strings in expressions such as &X SETC (10)'1'.  See updated TESTMAC1. AB
  339 06/08/06 XP P 1 Ignore unsupported options on PRINT such as NOMCALL, UHEAD. AB
  340 06/08/06 XP P 1 Correct mz390 and az390 to support all symbol type attribute characters A-Z.  Correct mz390 and az390 to support value, length, and type  operands on EQU. AB
  341 06/08/06 XP P 1 Correct az390 to correctly process ORG ,  when there has not been any previous ORG or section change forcing section length update. See CICS\TESTAPL1.MLC which previously had wrong length of DFHEISTG DSECT. AB
  342 06/09/06 XP P 1 Correct mz390 parsing of parameters to correctly handle prefix operators within parenthesis such as (X+L'Y,L'X-L'Y).  See updated TESTASM1. AB
  343 06/09/06 XP P 1 Correct N'&array support to return highest subscript stored instead of current size. AB
  344 06/10/06 XP E 1 Change mz390 errors issued for undefined macro labels during loading to issue MNOTE 4 warning messages.  DSH
  345 06/11/06 XP P 1 Correct mz390 set statement processing to handle store into subscripted array using subscripted array subscript expression, and add bounds checking for both high and low subscripts. AB
  346 06/13/06 XP P 1 Correct mz390 expression parser to correctly evaluate C'....' self defining terms in lower case as well as upper case.  It was forcing value to use upper case previously. AB
             
1.1.00c   05/24/06     Cumulative fixes for v1.1.00  
  227 03/13/06 XP E 1 Add following enhancements to TN3270 support:
1) Replace gz390 GUAM GUI TN3270 screen display using JTextArea component with new Graphics2D display component which can support drawing multiple font characters and symbols, plus support extended TN3270 data stream highlighting and color attributes.  The Graphics2D component support is packaged in gz390_screen class which is loaded and controlled by GUAM gz390 driver.  test_screen is a new class which be run standalone for testing new graphics functions.
2)Add  APL character support via Graphics Escape order X'08' preceding APL character in TN3270 data stream.  See DEMO\DEMOAPL1.MLC for demo which shows all of the APL symbols using unicode characters.
2) Add GE graphic escape order X'08' to TN3270 SYBMOLS.  See DEMO\DEMOAPL1.MLC for display of APL graphics.
3) Support AID x'60' to indicate no AID since last reset keyboard.
4) Add support for GUAM SCREEN,COLOR command to set default TN3270 screen background and text colors.
5) Add support for SFE extended TN3270 data stream field start setting attributes, highlighting, and color.  Only the color is currently functional.  See RPI 203 targeted for June to add highlighting support.  See DEMOAPL1.MLC which uses SFE to display title text in blue versus default of black on green set via GUAM SCREEN,COLOR command.
GP
             
1.1.00b   05/16/06     Cumulative maintenance fixes for v1.1.00  
  314 05/12/06 XP P 2 Add old alternate opcodes AIFB and AGOB.  See updated TESTMAC2. SD
  315 05/13/06 XP E 1 Add the following mz390 support:
1)  Compound AIF/AIFB with alternate continuation format option.
2)  Computed AGO/AGOB with alternate continuation format option.
3) Improve mz390 execution speed using local key indexing to find macro labels instead of serial table search.  Increase local macro key hash index range from 13 to 47 to reduce requied compares.
4) Add new option REFORMAT with defaults set to false.  When specified BAL is reformatted to  place opcode starting in position 10 and operands in position 16.  The default is useful for structured code that is indented.
See updated TESTMAC2 and TESTERR1.
DSH
  316 05/15/06 XP E 1 Add the following basic structured programming macros and copy book in new ZSTRMAC directory:
1) IF, ELSE, ELSEIF, and ENDIF - alternate selection
2) DO WHILE=, DO UNTIL=, and ENDDO - iteration
3) ZSTREQU.CPY - copybook to define symbols E, EQ, NE, etc.
The ASMMSP copybook in the MAC directory must be included in each program using using the ZSTRMAC structured macros.  The  ZSTRMAC macros are public domain and are derived from macros on CBT overflow tape 178 which were developed in 1974.  See ACM SIGPLAN article date February 1975.  The macros were  contributed to the SHARE SPLA library in the late 1970's.  The macros have been renamed and updated for compatibility with the IBM toolkit structured macros based on this SHARE presentation by Edward Jaffe.  Individual IF test operands may be in (...) and compound tests may be connected with AND or OR.  The test operand sequence is:
1) compare instruction opcode
2) first compare instruction operand
3) BC compare type (see EQU symbols in ZSTREQU.CPY)
4) second compare instruction operand
See new DEMO\DEMOSTR1 for example program usage.
SD
             
             
1.1.00a   05/12/06     Cumulative fixes for Release 1.1.00  
  313 05/11/06 XP P 1 Correct mz390 and az390 following errors:
1)  Fix comma delimited continuation statements to correctly handle parameters containing single quote operators such as L'.  
2) Set positional parm count to 0 when single comma is used to allow comments on macro call statement.  It was being set to 1.
3) Fix expression parser to handle unary operators +- preceeding (...).
4) Show original macro name BAL and PRN files when macro OPSYN name alias is used.
5) Set return code for max MNOTE level, but do not issue az390 error which forces return code 16.
6)  Replace duplicate code for statement parsing to handle continuations with shared code in tz390 that uses precompiled regular expression parsing versus less efficient spilt() method.
DSH
             
1.1.00   05/09/06     Maintenance and enhancement release with initial
 z390 EXEC CICS Compatible Assembler Support
 
  243 03/20/06 XP E 1 Add option SYSTERM(file) support as follows:
1) Create or mod systerm file specified with .ERR suffix.  The default systerm file name is the same as the program name.
2) Update mz390, az390, lz390, and ez390 to mod the systerm file specified with program start and stop records plus error messages, and correct to always set return code.  Each record is prefixed with time of day unless NOTIMING specified.  The program end record includes return code, elapsed seconds, memory use in MB, total I/O count, and total instructions.
3) The batch commands MAC, ASM, ASML, ASMLG, and EXEC delete the default systerm file at the beginning.  The if errorlevel 1 pause has been removed from mz390.bat, az390.bat, lz390.bat, and ez390.bat.  The TEST z command resets error count and return code to zero.
See TEST\RTTEST.ERR for error log for all RTTEST regression tests.
AB
  280 04/12/06 XP E 1 Add WAIT support for multiple event ECBLIST.  See TESTTIM2 for ECB= and TESTECB1 for ECBLIST= regression tests. AB
  281 04/12/06 XP E 1 Add DCBE support for compatibility (z390 DCB supports 31 bit EODAD and SYNAD by default).  See updated TESTDCB2 using DCBE EODAD exit. AB
  308 05/04/06 XP E 1 Add initial support for z390 EXEC CICS Compatible Assembler Support as follows:
1) CICS indicates EXEC CICS program and honors PROLOG and EPILOG insertion options.
2) PROLOG defaults on to insert DFHEIGBL global variable macro at beginning of program, inserts DFHEISTG dynamic storage macro at first DFHEISTG DSECT statement, and inserts DFHEIENT entry macro at first CSECT in program.
3) EPILOG defaults on to insert DFHEIEND exit macro at END statement.
4) Correct QUAM WINDOW,VIEW switching support to not require reset of screen.  (Used by CICS.MLC to switch between MCS view for commands and TN3270 SCREEN view for transactions.
See CICS\TESTCIC1.MLC and CICS\TESTCIC2.MLC regression test application using EXEC CICS - SEND, RECIEVE, LOAD. RETURN.  See TESTGUI4 and TESTGU6 for EXEC CICS application supporting multiple TN3270 fields.  Use command RTCICS to assemble and link all CICS regression test programs and use new command CICS.BAT to start EXEC CICS command processor to run CICS tranactions.  Specify transaction name as PARM(name) option to start first transaction automatically.  See online documentation z390 EXEC CICS Assembler Support.
DSH
  309 05/04/06 XP P 2 Correct the z390 GUI EDIT menu selection to remember last directory accessed and start next selection there. SD
  310 05/07/06 XP P 1 Correct mz390 to issue error when non blank non macro comment line appears before the MACRO statement in a macro file. DSH
  311 05/07/06 XP P 1 Correct BLDL svc to issue error if the entries are not in alphabetical sequence and reduce entry length count to not include length for compatibility.  See updated TESTBLD1 and see usage in CICS.MLC command processor to find tranaction module in SYS390 dir. MM
  312 05/09/06 XP E 1 Add debugging usability improvements:
1)  Add SVC trace function name and key parms such as program name for LINK, LOAD, XCTL and DELETE.  plus register usage information.  See TESTINS2.LOG for example of SVC trace info.
2) Add program name to ending return code message in log to identify which program in a batch process caused non zero return code pause.
DSH
1.0.14d   05/02/06       24. RPI 305 update ESPIE and ESTAE to pass EPIE and ESTA control block
in register 1 to user exit. See new EPIED and ESTAD DSECT macros
defining layout of registers and PSW which user can modify prior to
exiting via BR 14. Recursive entry causes abend. See new TESTSPI1
and TESTSTA1 plus TESTINS2 which uses both. The ZCVTD macro has also
been updated to show location of these control blocks.

25. RPI 306 update mz390 to support OPSYN of any macro name. See
new TESTSYN2.MLC and TESTSYN2.MAC.

26. RPI 307 update pz390 to correct MYLR and MAYLR which had
duplicate setup calls corrupting next instruction. Also update
trace format for IPM. See updated TESTFP1 with new opcode tests
and new trace verfication.
 
1.0.14c   04/28/06       17. RPI 298 add MAYLR, MYLR, MAYHR, MYHR, MAYL, MYL, MAYH, and MYH
instruction support. Note results are normalized. Correct opcodes
for MY and MYH due to typo. Correct ez390 to return to TEST when
second opcode byte is invalid. Correct RXF and RRE FIX?? trace
formats.

18. RPI 299 Correct pz390 to issue 0C5 when accessing beyond memory.

19. RPI 300 Correct mz390 to expand COPY's within macros during
loading.

20. RPI 301 Correct az390 to handle base registers across LOCTR
more than 1 LOCTR section. Force 0C7 on 0 sign in PD. Correct
lz390 to verify ESD ranges in OBJ records.

21. RPI 302 Correct mz390 and az390 to allow tabs anywhere and
process as single space.

22. RPI 303 Correct ICM, ICMH, and ICMY to correctly set CC. See
TESTINS2 for additional tests added.

23. RPI 304 Correct az390 to support NOPRINT on PRINT statements.
 
 
1.0.14b   04/26/06       4. RPI 279 Add STIMER REAL,EXIT support plus TTIMER and POST.
See updated TESTTIM2.MLC

5. RPI 285 correct az390 to print errors and MNOTE's regardless of
PRINT OFF or NOGEN.

6. RPI 286 move z390 interval CVT memory fields to ZCVT
which starts at X'2000' after PSA. See ZCVTD macro and
TESTZCV1.MLC Move CVT to X'A000' with pointer at X'10' in PSA
and only define OS/MVS compatible fields in CVT such as CVTDATE and
CVTDCB. See TESTIPL1.MLC and CVTD.MAC.

7. RPI 288 correct az390 to handle ENTRY defined as CSECT.
See TESTENT1.MLC.

8. RPI 289 surpress EJECT and SPACE on PRN listing.

9. RPI 290 update all macros to always define label if any, and
check for MF= and issue MNOTE error if not supported. Add CALL
MF=L and MF=(E,list) support.

10. RPI 291 add ENQ and DEQ macros for compatiblity but don't
generate any code for testing.

11. RPI 292 Correct DCB to support MACRF field in (....).

12, RPI 293 add initial EXEC SQL INCLUDE member support which
parses all EXEC space delimited statements into macro comma
delimited call during MLC and macro loading. EXEC CICS and DLI
support is coming but only EXEC SQL INCLUDE member is supported
currently my executing macro by the member name specified. See
EXEC.MAC and TESTSQL1.MLC and TESTSQL1.MAC test.

13. RPI 294 Correct error message indicating MLC source not found.

14. RPI 295 correct condition codes for ICM, ICMH, ICMY, OIHL, OILH.
See updated TESTINS2.

15. RPI 296 correct the following instructions with no operands
CSCH, RSCH, SCHM, and XSCH.

16. RPI 297 change SNAP macro to use L vs LA for storage operands
to allow multiple CSECT ranges.
 
1.0.14a   04/19/06       1. RPI 241 - correct mz390 to ignore errors on &variable substitution
on BAL output and let az390 flag any errors. This allows invalid
variables in comments or data to not generate errors.

2. RPI 283 - correct FREEMAIN macro to ignore SP= and correct
other MNOTE error messages. Note SP= support will be required
only if the test application uses subpool purge. See pending RPI248.

3. RPI 284 - add the following maximum table limit optional overrides:
a. MAXCALL(50) - maximum nested macro calls
b. MAXESD(1000) - maximum external symbol definitions
c. MAXFILE(1000) - maximum macro files loaded
d. MAXGBL(50000) - maximum global macro variables and cells
e. MAXLCL(50000) - maximum local macro variables and cells
f. MAXLINE(200000) - maximum source MLC, MAC, and CPY lines loaded
g. MAXPARM(10000) - maximum positional and key word parameters
h. MAXRLD(10000) - maximum relocatable definitions
i. MAXSYM(50000) - maximum ordinary symbols and macro labels
j. Previous MAXFILE(50) for max file size renamed to MAXSIZE(50) mb
These limits are targeted to handle 99% of assembler programs
without overcommiting memory for the few very large programs that
will require one or more overrides. RPI's to adjust defaults welcome.
 
1.0.14   04/14/06       Add PROFILE and IPL options.  Add DS type extensions CA, CE, FD, AD, VD.  Add STIMER support.

RPI 244 - Improve macro compatibility by ignoring valid keyword parms that are not required, issuing MNOTE error for those options not supported yet, plus the following:

  • BLDL - add for support of DE= (See new TESTBLD1)
  • CALL - support LINKINST=
  • CLOSE support (reg)
  • DCB - allow LRECL=0
  • DCB - support RECFM=FA, FBA, VA, VBA
  • ESPIE - support PARAM=
  • ESTAE - support OV,CT and PARAM=
  • FREEMAIN - R0=len, R1=addr, check for conflicts
  • GETMAIN - support LOC=ANY, ignore SP=
  • LINK - support DE=
  • LOAD - support DE=
  • OPEN - support (reg) and  MODE=31
  • SNAP - support PSW option
  • STORAGE - support LOC=ANY, ignore SP=
  • TN3270 - add missing error messages for SBA edits
  • XCTL - support DE=

RPI 276 - Add following customization startup support:

  • 1) Add mz390 option PROFILE(copybook) which will insert COPY copybook as first statement in the MLC source being loaded into memory.  This copybook can include macro code to change global system variables, load and or execute macros, and could include use of AREAD to read the following source code and process it as text for analysis purposes and output reports via PUNCH.  See TESTPRO1.MLC executed with option PROFILE(TESTPRO1.CPY) to execute TESTPROS.MAC at startup and TESTPROT at end of mz390 processsing to generate MNOTE with start and end time and date..
  • 2)  Add ez390 option IPL(program) which will execute specified program on the SYS390 path at startup.  This module can update the CVT and any files requiring modification before starting normal execution of application program.  The address of the CVT is at X'16' in the reserved 8k PSA starting at  0.  The next 24k will be reserved for the CVT and any resident code placed there by SYSINIT.  The 24 bit DSA will start at x'10000' and the 31 bit DSA will start at x'1000000'.   See CVTD macro for currently supported fields.  See TESTIIPL2.MLC which displays IPL date from CVTDATE DS PL4 at offset x'38' in CVT which is initialized by TESTIPL1 using command ASMLG TEST\TESTIPL2  IPL(TEST\TESTIPL1).

RPI 277 - Correct az390 to correctly assemble instructions of type E ( PR. UPT, PTFF, SCKPF, TAM, SAM24, SAM31, SAM64, and TRAP2), plus type S (IPK, PTLB, SAL), plus type RRE (PALB).  These instructions may have leading comma before comments.  See updated TESTINS1.

RPI 278 - Correct az390 to support NOPRINT option on PUSH and POP.  See updated TESTASM1.

RPI 279 - Correct mz390 and az390 to use the timeout limit specified.  It was using local duplicate variable in error, and not responding to change in 15 second default via TIME(..)

RPI 280 – Correct mz390 max symbol test and increase both mz390 and az390 max symbol limit from 10,000 to 50,000.

RPI 259 - Add compatibility features:

1) Add all the remaining predefined &SYS variables with the following conventions:

  •   SYSADATA_DSN - full path and file name if any
  •   SYSADATA_MEMBER - current macro name if any
  •   SYSADATA_VOLUME - drive letter if any
  •   SYSIN_DSN - MLC full path and file name
  •   SYSIN_MEMBER = MLC file name without suffix
  •   SYSIN_VOLUME - MLC drive letter
  •   SYSJOB - current job = MLC file name without suffix
  •   SYSLIB_DSN - MAC full path and file name if any
  •   SYSLIB_MEMBER - MAC file name without suffix
  •   SYSLIB_VOLUME - MAC drive letter if any
  •   SYSLIN_DSN - OBJ full path and file name
  •   SYSLIN_MEMBER - OBJ file name without suffix
  •   SYSLIN_VOLUME - OBJ drive letter
  •   SYSM_HSEV - highest MNOTE error level
  •   SYSM_SEV - highest MNOTE level in last macro
  •   SYSOPT_DBCS - set false indicating no DBCS support
  •   SYSOPT_OPTABLE - "z390" opcode table name
  •   SYSOPT_RENT - set true if RENT option specified
  •   SYSOPT_XOBJECT - set true if GOFF or XOBJECT
  •   SYSPRINT_DSN - PRN full path and file name
  •   SYSPRINT_MEMBER - PRN file name without type
  •   SYSPRINT_VOLUME - PRN drive letter
  •   SYSPUNCH_DSN - PCH full path and file name
  •   SYSPUNCH_MEMBER - PCH file name without type
  •   SYSPUNCH_VOLUME - PCH drive letter
  •   SYSSEQF - source sequence field set to 0 length string
  •   SYSSTEP - current step = MLC file name
  •   SYSSTMT - next MLC statement number
  •   SYSTERM_DSN - ERR full path and file name
  •   SYSTERM_MEMBER - ERR file name without type
  •   SYSTERM_VOLUME - ERR file drive letter

See updated TESTSYS1.MLC regression test.

RPI 273 - Correct mz390 error message line number reference showing 0 vs 1 for continuation error on first line of file.  See updated TESTERR1.

RPI 274 - Fix following mz390 errors:

  • 1) Correct duplicate macro labels on MEND statements not correctly handled.  Regression from RPI 213 new support for macro labels on MEND caused by RPI 266 new support for inline macros in macro files which does support other duplicate macro labels.  See updated TESTMAC8.MLC and TESTMAC8.MAC.
  • 2) Correct expression parser to correctly handle C type self defining term with double quote embedded.  See updated TESTMAC1.
  • 3) Correct expression parser precedence table to correctly handle (A EQ B)OR('C' EQ 'D').  It was failing on ('.  See updated TESTMAC2.
  • 4)  Correct az390 dependent USING reference to DSECT symbol that has current addressability established by a previous labeled USING.  See updated TESTUSE1.
  • 6)  Correct mz390 macro variable substitution on OPSYN statements.  See updated TESTSYN1.

 

 
1.0.13e   04/09/06       22. RPI 259 add remaining &SYS global and local system variables for
compatiblity. See TESTSYS1.

23. RPI 273 correct BAL line number references in error messages.
See updated TESTERR1.

24. RPI 274 correct macro labels on MEND, C type self defining terms
with embedded quotes, cumplex AIF expression with OR(' sequence,
non specific USING reference to prior labeled USING, and OPSYN , error.
See TESTMAC8, TESTMAC1, TESTMAC2, TESTUSE1, and TESTSYN1.

25, RPI 275 correct ML and MLR to only use low 32 bits of r1+1.
See updated TESTINS2.
 
1.0.13d   04/05/06       19. RPI 270 add extended DS/DC types CA/CE/AD/FD/VD and 8 byte RLD
support.

20. RPI 271 correct interactive TEST dump format for last line.

21. RPI 272 correct MR instruction to only use low 32 bits of r1+1
and r2 to form 64 bit product stored in r1 and r1+1. It was using
all 64 bits of r1 and r1+1.
 
1.0.13c   04/03/06       13. RPI 235 - fix z390 CD command path display and support CD commands
without requiring space separator like Windons (i.e. CD..)

14. RPI 264 - improve error handling as followsL
a) Abort with error if source files contain non-ascii characters
b) If not TEXT option, abort if source line > 80
c) Allow up to 3 passes in az390 to reduce errors

15. RPI 265 - Correct az390 to support DC fields with no data for
alignment. See updated TESTDC1.

16. RPI 266 - Correct mz380 to support inline macros within macro files
as well as open code. See new TESTMAC8.

17. RPI 267 - Correct pz390 to only flush extended floating point cache
registers if both registers have not been changed and prevent TEST
mode trap when tracing to invalid instruction causing 0C1.

18. RPI 268 - Add option TEXT to enable mz390 to read and write text
files with any line length without continuation formatting. Also
add DSNAME= as well as DDNAME= extentions to AREAD and PUNCH to
enable reading and writing multiple source files in one
execution. See new TESTTXT1 which creates 2 HTML text files
from sinle eecution of testTXT1.MLC with option TEXT.
 
1.0.13b   03/22/06       5. RPI 237 - Correct DROP for labeled USING causing error. See updated
TESTUSE1.

6. RPI 251 - Fix bug in TEST trace option involving 3 flavors of RRF format
instructions. See updated TESTTST1 which now includes trace to break on CGXR.
See TESTTST1.SVG for expected log output used to verify batch TEST session.

7. RPI 252 - Publish updated Guide for Program Services and Storage Services
from Melvyn Maltz to document new STIMER and STORAGE macros.

8. RPI 254 - Support blank COM, CSECT, DSECT, LOCTR, RSECT, or START.
See TESTASM1.

9. RPI 256 - Allow macro labels to start with ._ as well as A-Z@#$.
Also issue error if az390 label has invalid characters.
See updated TESTMAC1 and TESTERR2.

10. RPI 257 - Correct mz390 to accept * as second operand in substring
expression indicating remaining length of string. See updated TESTMAC1.

11. RPI 258 - Correct az390 to process , delimiter on ORG statement.
See updated TESTASM1.

12. RPI 260 - Improve error message for expression parsing errors and
add documentation to user guide on how expressions are parsed using
variable stack and operator stack. See updated TESTERR2.
 
1.0.13a   03/20/06       1. RPI 232 - support integer constants with exponents such as 1E3 = 1000

2. RPI 236 - support running z390 from CD or read only server directory

3. RPI 242 - correct mz390 not initializing LCLA and GBLC variables in
some cases.

4. RPI 250 - correct mz390 to correctly handle keyword macro values with
special characters within (...) without quotes.
 
1.0.13   03/17/06       Add limited COM, RSECT, and START support.  Add CVT OS flag support.

RPI 209 - Add STIMER macro and svc support with option to wait specified period of time.  See TESTTIM2.MLC regression test for BINTVL, MICVL, and TUINTVL wait options.

RPI 210 - GETMAIN and FREEMAIN compatibility fixes:

  • 1)  Allow R/RU for FREEMAIN
  • 2)  Support LOC=(24) or (24,31) in addition to ABOVE/BELOW/ANY
  • 3) Add STORAGE macro support.
  • See TESTMEM3 for STORAGE amd LOC tests.

RPI 211 - Make TGET and TPUT more mainframe compatible including:

  • 1) Support register form with address and option bits in registers.
  • 2) Add NOEDIT option support
  • 3) Allow optional ESC, ERASE/WRITE, WCC in buffer.
  • See DEMO\DEMOGUI6.

RPI 212 - Correct TN3270 bugs:

  • 1) Initialize state of TN3270 screen to unprotected data field rather than protected.
  • 2) Wrap screen address when updating screen address for next input character.  Wrap to user input field else 0.
  • 3) Update status line with terminal errors and also show status of keyboard lock.
  • 4) Speed up processing by avoiding full screen update and GUI repaint too frequently.
  • See DEMO\DEMOGUI6.

RPI 213 - Correct mz390 to support macro label on MEND statement.  See TESTMAC4.MLC.

RPI 214 - Correct mz390 2 expression parser errors:

  • 1)  Correctly handle multiply as last operation in first operand of a sub-string expression (i.e. 'ABC'(1*2,1) becomes 'B').
  • 2)  Correctly handle string literal following sub-string expression without requiring concatenation operator (i.e. 'ABC'(2,1)'DEF' becomes 'BDEF'). 
  • See TESTMAC5.MLC.

RPI 216 - Change PF13 to PF24 alternate keystroke from shift F1-F12 to use control-alt F1-F12 to avoid conflicts with shift-F10 using in J2SE for popup menus.

See DEMO\DEMOGUI6.

RPI 217 - Correct GUAM graphics command for TEXT to correctly set text length of text.  See DEMO\DEMOGUI5.

RPI 218 - Improve pz390 performance significantly in GUAM mode by replacing ez390 thread yield with sleep interval.  See difference in DEMOGUI2 MIP rate calc increasing by over 1 MIP.

 

 
1.0.12b   02/27/06       8. RPI 219 corrections to bugs in v1.0.12a including:
a) Correct TGET macro errors
b) Correct TGET error messages
c) Correct TPUT to require WCC following optional ESC, WRITE for
FULLSCR mode.
d) For TPUT NOEDIT or ASIS, require WRITE command before WCC.
See new demo and regression test TESTGUI6 which is an interactive TN3270 application with 3 fields (1 is numeric). The user can tab between fields, enter any or all, see updates, use AID keys, F1 for help, and F3 for exit.
 
1.0.12a   02/24/06       Cumulative FIxes for v1.0.12

1. RPI 211 Make TGET and TPUT more mainframe compatible including:
a) Support register form with address and option bits in registers.
b) Add NOEDIT option support
c) Allow optional ESC, ERASE/WRITE, WCC in buffer.

2. RPI 212 - Correct TN3270 bugs:
a) Initialize state of TN3270 screen to unprotected data field rather than protected.
b) Wrap screen address when updating screen address for next input character. Wrap to user input field else 0.
c) Update status line with terminal errors and also show status of keyboard lock.
d) Speed up processing by avoiding full screen update and GUI repaint too frequently.

3. RPI 213 Correct mz390 to support macro label on MEND statement. See TESTMAC4.MLC.

4. RPI214 Correct mz390 2 expression parser errors:
a) Correctly handle multiply as last operation in first operand of a sub-string expression (i.e. 'ABC'(1*2,1) becomes 'B').
b) Correctly handle string literal following sub-string expression without requiring concatenation operator (i.e. 'ABC'(2,1)'DEF' becomes 'BDEF'). See TESTMAC5.MLC.

5. RPI 216 Change PF13 to PF24 alternate keystroke from shift F1-F12 to use control-alt F1-F12 to avoid conflicts with shift-F10 using in J2SE for popup menus.

6. RPI 217 Correct GUAM graphics command for TEXT to correctly set text length of text.

7. RPI 218 Improve pz390 performance significantly in GUAM mode by replacing ez390 thread yield with sleep interval. See difference in DEMOGUI2 MIP rate calc increasing by over 1 MIP.

 
1.0.12   02/20/06       Add z9 processor instructions.  Add TGET/TPUT FULLSCR and ASIS support.  
1.0.11   01/31/06       Add binary OBJ mainframe compatibility.  Add macro dynamic arrray expansion.  
1.0.10a   01/16/06       1. RPI 173 - add LRV, LPQ, and STPQ instructions
2. RPI 174 - fix ALC?? and SLB?? when input condition  code is 0
3. RPI 176 - add check for missing address parm to TIME macro
4. RPI 177 - add check for missing length parm to CMDPROC macro
 
1.0.10   01/14/06       Add OPSYN support and BMK\INSTTIME.MLC instruction timing analysis by Melvyn Maltz.
  1. RPI 107 - Improve maintainability of the z390 java source code by splitting sources into smaller classes by function:
  2. 1)  Move z390 instruction processing code out of ez390 to separate class pz390.
  3. 2)  Also changed ez390 to run pz390 on separate thread for about 10%-15% performance improvement across the board.
  4. RPI 148 - Add &SYSMAC system variable.  See TESTSYS1.
  5. RPI 149 - Fix bug when redefining instruction with inline macro with MFC option.  See TESTMAC3 which redefines B and BRC 15.
  6. RPI 150 - Add OPSYN support.  See TESTSYN1 regression test.
  7. RPI 151 - Add user option to define first level svc handler by setting new svc PSW mask to x'FF' and new address.  When mask is set, the old svc PSW is store and control is transferred to the new svc PSW address.  To execute native z390 svcs, the handler must reset new svc PSW mask to X'00'..  LPSW instruction enabled as part of this RPI to allow handler to exit via LPSW SVC_OLD instruction without using any registers.  WTO macro changed to use BRAS versus BAL so WTO can be used in handler without base register required.  See regression test TESTSVC1 which uses this option to map user svc 201 into a WTO svc 35.  Note it also checks for the svc 3 exit and does it in native mode so user does not have to turn off handler prior to normal exit.
  8. RPI 153 - Remove duplicate label from WTO MF=L option
  9. RPI 154 - Add new performance analysis program INSTTIME.MLC contributed by Melvin Maltz.  Run BMK\INSTTIME.BAT to generate new BMK\INSTTIME.OUT report file.   Note program has version and output path for report hard coded.  Starting with v1.0.10 the statistical report on z390 instruction timing will be available on web site here.
  10. RPI 155 - Upgraded to Sun Microsystems J2RE version 1.5.0.06 for build and regression testing.
  11. RPI 156 - Correct SNAP macro to support PDATA parm value of DCB instead of previous TIOT to show open DCB's with DDNAME and DSNAME.  This makes SNAP more consistent with TEST subcommand D.
  12. RPI 157 - Correct az390 to flag extra operands at end of expressions.  See updated regression tests TESTDC1, TESTASC1, and TESTERR2.
  13. RPI 158 - Correct LLIHH, LLIHL, LLILH, and LLILL load logical instructions to clear remaining bits in 64 bit register.  See updated TESTINS2 and other regression tests which used LL type instructions instead of II type instructions in error.  Change usage of LLILH and LLILL to IILH and IIll in SNAP macro caught by this fix.  See regression test TESTDMP4.
  14. RPI 159 - Correct az390 regular expression parser to return = as token in order to detect error when absolute value operand is incorrectly defined as literal.  See updated regression test TESTERR2.
  15. RPI 160 - Correct LLGT instruction which was loading from 4 bytes beyond D2(B2).  See TESTINS2 correction.
  16. RPI 161 - Correct az390 RXY to allow d2(,b2) like RX instructions by eliminating duplicate code which did not get fixed in RPI 3.  See updated TESTINS1 regression test.
  17. RPI 162 - Correct GETMAIN macro to correctly support new LV=nnnK or LV=nnnM option.  Correct mz390 to correctly return numeric portion of string followed by non-numerics (i.e. &LEN SETA &LV should return 1 not 0 for &LV=1K.  See new TESTMEM2 regression test. 
  18. RPI 163 - Update all macros to suppress register loads for same register.
  19. RPI 164 - Correct az390 to allow locally defined ordinary symbol to resolve EXTRN reference so that CALL and SUBENTRY will resolve to local static call without duplicate label error.  See new regression test TESTCAL1.  See regression tests TESTCAL1 and TESTCAL2.  Existing regression tests for external static calls and dynamic calls are TESTEXT2 and TESTLNK1.
  20. RPI 165 - Add USAGE statement references to az390 XREF list.
  21. RPI 166 - Fix az390 to correctly generate RSY and SIY type instructions such as SRAG and TMY with explicit base and displacement.  See updated TESTINS2 for SRAG and TMY with explicit base register.
  22. RPI 167 - Issue error message for any source MLC statement which is continued due to non-blank character in position 72 and the following line has non-blank text before position 16.  Fix continuation errors in XCTL, ESPIE, LINK, LOAD, DELETE, and SNAP. 
  23. RPI 168 - Correct directory null pointer exception when using path with . for current directory.
  24. RPI 169 - Correct az390, lz390, and ez390 to always use BAL, OBJ, and 390 as primary input extension ignoring any user override for mz390 primary input extension.  Correct mz390 error message 39 to insert space between text and missing file name.
  25. RPI 170 - Allow fifth positional parameter 'S' on READ or WRITE. Any other value is an error since this parm is only used or RECFM=U which is not supported, and DCBBLKSI is always used as length.  See TESTDCB9.
  26. RPI 171 - Correct mz390 and az390 expression parser handling of unary minus in complex expressions and allow multiple +- unary operators in succession.  See TESTSET1 and TESTASM`1.

 

 
1.0.09b   01/07/06       1 RPI 149 Fix bug when redefining instruction as macro with MFC option.  
1.0.09a   12/28/05       1.  RPI  148 Add &SYSMAC support  
1.0.09   12/23/05       Add MFI mainframe compatibility option with performance improvement, extended symbol type and length operator support, and additional global and local system variable such as &SYSDATE, &SYSCLOCK, &SYSTEM_ID, and SYSTEM_JAVA extension. 
  1. RPI 57 - Add symbol cross reference option to az390.  New XREF option for az390 is on by default.  Specify NOXREF to turn off the cross reference for symbols and literals.
  2. RPI 103 - Add TEST support for multiple + or - operands in memory addresses.   For example you can now entry L 12R?+11R?+13F. to add base R12+ index R11 + offset.
  3. RPI 127 - Allow user specified file type overrides on filename parm and directory lists using path\*.type.  See new regression test TESTMCR1.ASM which uses macros with MCR suffix.
  4. RPI 130 - Add the following mz390 system variables:
  5. &SYSASM = z390
  6. &SYSCLOCK = YYYY-MM-DD HH:MM:SS.mmmmmm
  7. &SYSDATC = YYYYMMDD year, month, day
  8. &SYSDATE = MM/DD/YY month, day, year within cc
  9. &SYSECT = current section
  10. &SYSLOC = current LOCTR or last section
  11. &SYSNEST = macro call nesting level
  12. &SYSPARM = mz390 user option sysparm(xxxxx)
  13. &SYSTEM_ID = operating system and version
  14. &SYSTEM_JAVA - Java vendor and version
  15. &SYSTIME = HH.MM time of day
  16. &SYSVER.= version of z390 macro assembler
  17. See TESTSYS1 regression test for all of above.  Note when option NOTIMING is specified the same time and date is always returned - 01/02/05 33:44:55.567000.
  18. RPI 133 - Add MAXFILE option with default of 10 MB maximum size for any output file from mz390, az390, lz390, or ez390.  You can override with MAXFILE(nn) in MB.
  19. RPI 138 - Change batch commands to place sysmac and syscpy parms before user overrides to they can be changed by user.
  20. RPI 139 - Allow comments on conditional macro instructions such as LCLA, SETA, AIF, etc..
  21. RPI 140 - Correct handling of * and .* comments in macros to avoid erroneous opcode processsing.
  22. RPI 141 - Correct handling of lower case macro opcodes.
  23. RPI 142 - Add mz390 support for T' operator types:
  24. ABCDEFHLPSVXYZ and explicit length types:
  25. RBCKKGGKPRVXRZ  plus O, J, I, and M types for omitted, control section, insruction, and macro labels.  See TESTSYM1 for additional regression tests added.
  26. RPI 143 - Correct N'&SYSLIST to return actual positional parm count rather than minimum of positional parms defined on prototype statement.
  27. RPI 144 - Correct precedence in mz390 expression parser to make + or - higher than logical compare
  28. RPI 145 - Correct precedence in mz390 expression parser to prevent error when K' operator appears as only token in substring starting offset expression ot when two K' operators appear in succession.
  29. RPI 146 - Add new mainframe compatibility option for mz390 called MFC as default which prevents instruction opcodes from being treated as macros unless previously defined via inline macro.  This option for mz390 replaces option SYM to request ordinary symbol label type and length support during macro processing.  To turn off both opcode checking and symbol support, specify NOMFC.  Also new statistic added showing unique instruction count.
  30. RPI 147 - For mainframe compatibility correct NOT for SETB type variables to return 0 or 1 rather than complement (ie -1 for NOT 1).

 

 
1.0.08c   12/20/05       1. RPI103 Allow multiple test memory address expressions with + or -
2. RPI143 Correct N'&SYSLIST to return actual parm count
instead of defined positional parms based on prototype
3. RPI144 Correct precedence between logical operators and + - * /
 
1.0.08b   12/19/05       1. RPI 57 Support az390 xref of symbols and literals by default.
Specify NOXREF to turn it off.
2. RPI 139 Allow comments on LCL/GBL/SET/AIF macro code statements
3. RPI 140 Correct handling of * and .* to skip parsing for opcode.
4. RPI 141 Correct handling of lower case macro opcodes.
5. RPI 142 Expand T' and L' support to include all DS/DC types plus J, I, M, and O types. See TESTSYM1 for expanded regression tests.
 
1.0.08   12/15/05       Add GUI graphical user interface with MCS console view for WTO and WTOR, TN3270 view for TPUT and TGET in edit and FULLSCR 3270 data stream mode, and graphic display view.
  1. RPI 47 - Add GUI option to ez390 which enables GUI dialog window with 3 different view options:
  2. 1) MCS console view for WTO and WTOR messages.  Run  DEMOGUI1 and DEMOGUI2 with GUI option for demo.
  3. 2) TN3270 view for TPUT and TGET with EDIT and FULLSCR options.  Run DEMOGUI3 and DEMOGUI4 with GUI option for demo  (FULLSCR support is not done yet and uses EDIT mode for now - see RPI 136).
  4. 3) GRAPH view support for graphics output generated using GUI macro graphics options.  Run DEMOGUI5 with GUI option for demo (Graphics support not done yet so demo just shows title and text output on graphic display for now - see RPI 137).  Note this demo also outputs MCS and TN3270 messages so you can view all 3 displays via menu.  See new z390 GUI Graphical User Interface Guide for supported macro interfaces. 
  5. RPI 105 - Research issue with maximum memory that can be allocated via MEM(mb) option on a system.  The J2RE virtual machine option -Xmx can be used to set maximum memory available.  See FAQ for more information and example.
  6. RPI 108 - Improve performance of additional compute intensive instructions:
  7. 1) BC no branch reduced from 519 to 343 NS by skipping RX target address fetch if no branch to be taken.
  8. 2) AP and all PD speedup by using Long versus BigInteger when values within range.
  9. 3) MVCL and MVCLE speedup by using block copy and fill.
  10. 4) MVZ, MVN, OC, NC, XC all speeded up by replacing byte loop with Long, Int, Short, byte loops.
  11. 5)All instructions speedup by replacing mem.get(...) buffered fetch with mem_byte[...] direct byte array fetch, also mem.put() and reg.get() and reg.put().
  12. See Benchmark Testing page for more results.
  13. RPI 109 - Fix packed decimal instructions to issue 0C7 versus 0C5 under certain error conditions.  Note 0C5 is the default abend for any error not recognized or specifically handled by ez390.
  14. RPI 110 - Fix SNAP macro bug setting wrong bit for STORAGE request.  Update SNAP svc to correctly format TIOT entries for closed files showing DCBOFLG open bit off.  Add check for register conflict.  See TESTDCBD for regression test including SNAP of open and closed DCB's.
  15. RPI 111 - Fix LOAD support to strip leading and trailing blanks in DSNAME field.  This fix causes a LOAD of a file name and suffix matching any previously loaded file or 390 program to be treated as identical resulting in CDE use count being incremended and same address being returned in register 0.  Register 1 is set to length in double words or 390 or bytes for any other file.  See updated TESTLOD2 regression test.
  16. RPI 112 - Fix I/O macros:
  17. 1)  POINT - add missing AGO
  18. 2) CLOSE - check for invalid DCB RX form (reg) vs ((reg))
  19. 3) Correct EZ390E error 90 for I/O error on READ/WRITE
  20. RPI 113 - Fix all z390 file handling to correctly handle files with drive letter and colon path but no file separator in the path.
  21. RPI 114 - Fix WTO and WTOR to use more unique labels to avoid duplicating user labels.
  22. RPI 115 - Fix mz390 and az390 continuation processing to correctly handle comma and space appearing within literal which is continued (previous truncating line after comma).  See TESTDCBA for example.
  23. RPI 116 - Issue error if no END statement found in az390.
  24. RPI 117 - Fix GETMAIN and FREEMAIN macros to allow 31 bit length for LV=, support nnnK = nnn * 1<<10 and nnnM = nnn * (1<<20) short form extensions, issue error for missing LV=, and correct spelling errors.
  25. RPI 118 - Fix LINK, LOAD, XCTL, and DELETE macros to use SR verus LA, check for register conflicts.  Correct OI for VL bit setting in LINK, XCTL, and CALL.  Remove BALR, USING and add optional register restore in XCTL.
  26. RPI 119 - Add floating point and hex options to EQUREGS macro.  See TESTSET1.MLC for new tests of multiple value sets required for EQUREGS update.  See TESTEQU1 regression test for use of REGS=GPR/FPR and TYPE=DEC/HEX options.
  27. RPI 120 - Fix assembly of SRP instruction when using explicit d2(b2) operand (was dropping base).  See updated TESTINS2 regression test.
  28. RPI 121 - Change TEST subcommand Q to abort rather than continue execution.  Fix G xxx where xxx is invalid to just issue error message and return to prompt instead of running.
  29. RPI 122 - Add support for following az390 statements:
  30. 1) AMODE, RMODE - ignored (use linker options)
  31. 2) AEJECT, ASPACE, CSPACE, EJECT,  PRINT, SPACE
  32. RPI 123 - Correct multiple directory search logic to correctly handle multiple directories in mz390, lz390, and ez390.
  33. RPI 124 - Truncate trailing blanks and sequence # beyond 72 during loading of mz390 and az390 source code.
  34. RPI 125 - Add support for setting multiple SET values in array by adding multiple expressions separated by commas,  See updated TESTSET1 regression test.
  35. RPI 126 - Ignore duplicate macro variable array declarations and use the first declaration to set fixed maximum array size.  This is a current restriction compared to mainframe which allows arrays to grow dynamically.
  36. RPI 129 - Fix mz390 expression parser to handle '....' setc strings where sdt of the form c'...' or b'...'  or x'...' is returned as regular expression for last character and single quote of literal. 
  37. RPI 131 - Ignore label field in TITLE statements to prevent duplicate label errors.
  38. RPI 132 - Correct ESPIE macro to correctly handle range of interrupt codes within list of interrupts.
  39. RPI 134 - Fix all macros to generate label if specified for &N.
  40. RPI 135 - Move shared tables and file methods to tz390 to reduce redundant code, and improve consistency.  Fix shared find file method used by mz390, lz390, and ez390 to support both ; and  + path separators.

 

 
1.0.07b   12/05/05       1.  RPI 47 new ez390 GUI option to support GUI window MCS view
(additional TN3270 view and graphics views coming in v1008)
2. RPI 111 remove leading and trailing blanks on file name for LOAD
3. RPI 112 correct POINT and CLOSE macro errors
4. RPI 113 correct file handling to support drive letter and no \.
5. RPI 114 correct WTO to use more unique labels to avoid duplication
6 RPI 115 correct mz390 and az390 continuation support to allow comma
space within character strings without truncation
7 RPI 116 issue error if no END statement in az390 causing literal error
 
1.0.07a   11/24/05       1.  RPI 105 execution paramter -Xmx can be used to increamse memory limit
2. RPI 108 ez390 performance improvements for BC, AP, MVCL
3. RPI 109 packed decimal instructions issue 0C5 verus 0C7.
4. RPI 110 SNAP macro correction
 
1.0.07   11/20/05       Add additional benchmark timing support and debugging aides
  1. RPI 8 2 Document instruction timing results on website and look for ways to speed-up frequently used instructions.  Performance RPI's will be accepted including requests to add new svcs and/or opcodes to "microcode" frequently used instructions loops that need more speed.  See instruction timming benchmark test program BMKINS1.MLC with results posted on Benchmark page of www.z390.org.  The first performance improvement completed was replacement of MVC byte loop with single function move or fill function resulting in reduction of 256 byte move from 41 microseconds to 880 nanoseconds.
  2. RPI 92 Correct instruction trace format errors in test versus normal instruction trace due to type index off by 1 causing those instructions such as CVDG at beginning of new type to be formatted as previous type.  See BMKINS1.MLC for usage of CVDG.
  3. RPI 93 Correct SNAP svc x'51' which was incorrectly using ending storage address as length instead of ending address.  See updated TESTDMP4.MLC.
  4. RPI 94 Add new extended TIME NS macro option to return high resolution nano-second timer value useful for interval measurements.  See BMKINS1 for example usage.
  5. RPI 95 Update LOAD macro with DDNAME= and DSNAME= support identical to LINK macro.  Add new XCTL macro using svc 7.  Add DDNAME= and DSNAME= conflict check on LINK, LOAD, XCTL, and DCB.  See TESTLNK1 for LINK tests.  See TESTLOD1 for LOAD tests, and see TESTXCL1-3 for XCTL test.  See TESTERR3 for conflict error tests.
  6. RPI 96 Add validity checking for DCB LRECL, BLKSIZE and RECFM.  Accept both OPEN file and OPEN (reg) as extensions for input.  Correct missing AGO in POINT macro.  See TESTERR3.
  7. RPI 98 Add new DUMP and ASCII mode to the GUI option menu. Also correct failure observed on first batch command after changing menu options due to not correctly flushing queues between end of previous batch initiator process and restart.  Manual test of batch commands with DUMP and ASCII options tested.
  8. RPI 99 Correct mz390 AIF expression parser bug when substring expression appears after logical operator in complex expression.  See TESTERR3 tests using complex AIF testsin DCB macro.
  9. RPI 100 When running in TEST mode, issue ABEND dump if requested before returning to test prompt.  Also reformat ABEND dump to include system/user type ABEND codes with PSW and current instruction.  If dump requested by caller or system dump option then also display GPR and FPR registers, TIOT DCB's if any, CDE program entries, and dump of each program.  See TESTDMP1 to TESTDMP4 for examples of ABEND and SNAP output.
  10. RPI 101 Correct erroneous read past end of file error due to not resetting TIOT DCB rba pointer on reopen of existing entry.  See new TESTDCBD and TESTDCBE (same test run in ASCII mode) regression test program provided by MM.  Note ASCII mode does not translate RT or VT input so all the hex values including EBCDIC characters are retained as is in input records.
  11. RPI 102 Add additional LOAD and DELETE macro support:  Return 390 file length as double word count in R1 for OS compatibility.  If DDNAME or DSNAME point to file spec with path, file name, and suffix other than 390 then set R0 to load point for file content and set R1 to total file length in bytes.  Allow DDNAME or DSNAME to replace EP or EPLOC.  See TESTLOD2 regression test loading 2 text files.
  12. RPI 106 Correct following instruction bugs: SPM and IPM not putting mask in correct position (MM)  NR, OR, and XR condition code not set (MM)  PR restoring R15 incorrectly (IS) See TESTINS2, TESTFP1, AND ESPIE macro updated regression tests.

 

 
1.0.06   11/14/05       Enhance ASCII mode support including PKA and UNPKA instructions.  Enhance CMDPROC to support multiple tasks.  Add DUMP option, SNAP macro, and TEST sub-commands to display GPR and FPR registers, CDE program info, TIOT DCB info, and memory statistics.  Add XLATE translation macro.

1.  RPI 85 - Issue errors for DC F and H type signed field values that exceed range for length specified.  See TESTERR2.

2.  RPI 86 - Add following additional TEST sub-commands:

  •   D - display DCB file information
  •   F - display floating point registers
  •   M - display memory totals
  •   P -  display program information 
  •   R - display general registers 
  • See TESTTST1 updated regression test.

3.  RPI 87 - Correct erroneous error 102 on ORG statement occurring whenever last expression calc prior to ORG resulted in absolute value rather than RX type symbol in same csect.  See TESTASM1.

4.  RPI 88 - Correct error in OPEN and CLOSE macro for DCB register parm.  Add DCB validity checking at execution time.  Note this RPI requires reassembly of all DCB's with new validation field named DCBID in DCB and DCBD macros.  See new TESTERR6 regression test.

6.  RPI 89 - Add option for LOAD and LINK to use extended keyword DDNAME= or DSNAME= defining program file path list or specific file via environment variable or program constant with file specification. If directory path list is specified, then EP or EPLOC is required to define the program name.  If a file specification for 390 program is specified, then it overrides any EP or EPLOC name.  DSNAME overrides DDNAME.  See TESTLNK1 for example regression test.

7.  RPI 90 - Correct v1.0.05 regression error causing trap when single character labels B, C, or X are used due to erroneous test of 2nd character for self defining term quote.  See TESTASM1 updated regression test.

8.  RPI 91 - Add support for XLATE macro via svc x'67' to translate between ASCII and EBCDIC.  See regression test TESTXLT1

 

 
1.0.05a   11/09/05       PTF with test fixes for 7 RPI's - ASCII and DUMP options, CMDPROC, and COPY with comments

1.  RPI 73 - ED, EDMK, PACK, UNPK, PKA, UNPKA ASCII support
2.  RPI 74 - issue errors for bad relative instruction addresses
3.  RPI 75 - add DUMP option with default set to indicative dump only
4.  RPI 76, 77, 79 - support multiple CMD processes and cleanup controls (see updated CMDPROC macro and TESTCMD1 and TESTCMD2)
5.  RPI 84 - allow comments on copy statements

 
1.0.05   11/04/05       Add TIME macro SVC 11 extensions for CLOCK type STCK, STCKE, and JAVA different epoch clock time formats

1.  RPI 58 - Correct STCK and STCKE to be mainframe OS time compatible.  STCK stores double word with bit 51 corresponding to microseconds from January 1, 1900.  STCKE stores 16 bytes with bit 59 corresponding to microseconds from January 1, 1900.  See TESTTIM1.MLC update.

2.  RPI 61 - Remove duplicate CR,LF from RECFM=FT and VT output format in ASCII mode.  No duplicates found, see RPI66 and regression test TESTDCBC.

3.  RPI 62 - Remove extra space from command recall in TEST mode.  Manual GUI test.

4.  RPI 63 - Recognize x'1A' as end of file marker on DCB RECFM=FT or VT read and branch to EODAD.  Note you can use superzap (www.superzap.net) to view and verify hex codes in any Windows file such as the input and output test file in this regression test.  I also used superzap to add the hex x'1a' code to test file with the command sequence OPEN, DUMP, SFL (set file length), and REP command.  See TESTEOF1.MLC.

5.  RPI 64 - Correct error handling for invalid DCBDSNAM field with or without TEST mode.  The DCB synad handling routine now issues error message followed by S013 abend for consistent handling with or without TEST active.  See TESTERR4.MLC.

6.  RPI 65 - Correct BALR, BASR, and BASSM to branch when R1 = R2.  See TESTINS2.MLC update.

7.  RPI 66 - Correct ASCII mode padding of RECFM=FT records to use ASCII X'20' versus EBCDIC X'40'.  This should also fix RPI61.  See TESTDCBC.MLC run in ASCII mode.

8.  RPI 67 - Change TEST mode command G, T, or Z opcode to always execute at least 1 instruction before breaking on next matching opcode.  Breaking on BCT to itself now executes once per G, T, or Z BCT.  Manual test.

9.  RPI 68 - Add 3 SVC type extended options to the current IBM compatible TIME macro:

  • 1.  CLOCKTYPE=STCK store double word with bit 51 = microseconds from Jan. 1, 1900 IBM Epoch.
  • 2.  CLOCKTYPE=STCKE store 2 double words with bit 59 = microseconds from Jan 1, 1900 IBM Epoch.
  • 3.  CLOCKTYPE=JAVA store double word with bit 63 = microseconds from Jan 1. 1970 Java Epoch.
  • See TESTTIM1.MLC update.

10.  RPI 69 - Change ED and EDMK to map X'40' to ASCII space X'20' when running in ASCII mode.  Note the following ASCII characters cannot appear as characters in ASCII mode due to conflicts with predefined special codes:

  •    1.  ASCII @ (X'40')
  •    2.  ASCII space (X'20')
  •    3.  ASCII ! (X'21')
  •    4.  ASCII " (X'22')
  • The above codes can be moved into edited fields after ED/EDMK.  See TESTASC3.MLC regression test which is run in ASCII mode.

11.  RPI 70 - After install of z390 v1.0.04 on Win/2000 with J2RE 1.5.0_5, system failure with error - java.lang.UnsupportedClassVersionError: mz390 (Unsupported major.minor version 49.0).  Planned fix is to build 1.0.05 on XP update 4 instead of XP update 5 since that fixed win/2000 problem seen back in v1.0.00.  Manual test on Windows/2000.

12.  RPI 71 - ez390 loader incorrectly relocating AL3(*) type address constant.  See TESTINS2.MLC  update.

 

 
1.0.04   10/29/05       Add CMDPROC macro and SVC 34 to start, stop, read, and write messages to Windows started task.

1.  RPI 60 – correct mz390 expression parser to correctly handle multiple logical conditions.  See GET, PUT, READ, WRITE macro example AIF test for R1 conflicts.

 
1.0.03b   10/26/05       1.  RPI 48 – correct GET, PUT, READ, and WRITE macros to detect register 1 conflicts and issue MNOTES.  See TESTERR3.

2.  RPI 49 – correct D instruction to use low half or register pair like DR.  See updated TESTINS2.

3.  RPI 50 – issue 0C1 abend for undefined svc requests versus abort error message so it can be trapped by TEST mode.

4.  RPI 51 – exit TEST mode on Q command without error message.

5.  RPI 52 – standardize all error messages using “?z390E error” where ? is G for GUI, M – macro processor, A – assembler, L = linker, and E – execution.

6.  RPI 53 – set R15 to error number in DCB synad exit.

7.  RPI 54 – document how to cancel batch tasks in user guide and FAQ on website.

8.  RPI 55 – update /SC startup option to execute GUI commands from specified file. 

9.  RPI 56 – update ABEND macro and SVC 13 processing to dump registers and program memory to log when DUMP is requested.

10.  RPI 59 – add DROP 15 to SUBENTRY to avoid multiple USING’s.

 
1.0.03a   10/23/05       PTF with hyper fixes for ED, EDMK, TM, and DCB I/O RECFM=FT for ASCII

1.  RPI 42 - use full EBCDIC to ASCII translate table for GET/PUT FT and
for PGMNAME, DDNAM, DSNAM translations.

2.  RPI 43 - correct ED/EDMK significance indicatior on 1 byte too early.

3.  RPI 44 - correct TM to set CC3 when AND'd mask and test byte = mask.

4.  RPI 45 - correct register label on TEST list command and trace regs.

 
1.0.03   10/21/05       Add CUSE, CLST, SRST instructions.  Add macro enhancements for SAVE, RETURN, LINK, LOAD, WTO MF=

1.  RPI 23  - add string instructions CLST, CUSE, and SRST.  See updated TEST\TESTINS2.MLC regression tests.

2.  RPI 24  - change batch task commands to use %~dp0 path wherever needed instead of changing directory to allow user to use relative paths in alternate directories.

3.  RPI 25 – change the trace options for mz390, az390, and lz390 to TRACEM, TRACEA, and TRACEL respectively.  The TRACEALL option will generate all detail traces.

4.  RPI 26 – correct DCB missing label .DDDEF

5.   RPI 27 – issue error message for all macro undefined keyword parameters

6.  RPI 28 – change default for DCB DSNAME field to EBCDIC.  Use ASCII option for all fields to be genereated in ASCII vs EBCDIC.

7.  RPI 29 – change error messages to have consistent error prefix in upper case with I or E for information or error.

8.  RPI 30 – add SAVE and RETURN standard linkage macros

9.  RPI 31 – set r15 to zero on normal svc exit.

10.  RPI 32 – support multiple directory list for SYSMAC, SYSCPY, SYSOBJ, and SYS390 delimited by “+” to avoid conflict with BAT parm parsing

11.  RPI 33 – change default PSW program mask to suppress fixed point overflow.  To trap this or other exceptions use ESPIE or ESTAE macros.  See regression test TESTINS2 for examples.

12.  RPI 34 – support EBCDIC and ASCII full charater set translation instead of only printable characters.

13.  RPI 35 – correct loop in batch task TEST mode execution when the GUI interface is cancelled before batch task is cancelled.

14.  RPI 36 – trap any abend in TEST mode and issue error message and return to the TEST prompt.

15.  RPI 37 – update user guide on use of G, T, Z to break on opcode, and other documentation updates.

16.  RPI 38 – issue error if user supplied register parameters conflict with use of R1 for DCB or DECB in GET, PUT, READ, or WRITE.

17.  RPI 39 – set batch return code to R15 on normal exit else 16.

18.  RPI 40 – correct 2 expression parser bugs in mz390 for ‘?’ string and ‘&MF (2)’(1,1) type operands where ? is a valid prefix operator such as T’ or K’ and &MF(2) is any parameter sublist in string.

19.  RPI 41 – add the following additional parameter support in macros:

  • CALL – VL positional parm
  • LINK – PARAM= and VL=1 keyword parms
  • WTO   - MF=L keyword parm

 

 
1.0.02   10/14/05       Add extended DCB DSNAME, DDNAME, and RECORD= optional fields

1,  RPI 14  - correct desktop z390 icon to point to install directory when location is changed by user during install

2.  RPI 15  - remove CMD prefix from GUI command line generated entries using file menu to run batch command tasks.  And turn off batch task when command is done.

3.  RPI 16  - remove dependency between TEST and TRACE options on the GUI options menu.

4.  RPI 17  - allow help commands such as HELP and ABOUT to be entered via command line by turning off CMD mode at end of each batch task unless user requested has requested it stay on via the view menu or CMD command.

5.  RPI 18  - add support for RECORD= parm on DCB to define default record area for GET, PUT, READ, WRITE if not specified on those macros referencing the DCB.

6.  RPI 19  - add support for DSNAME= on DCB defining ASCII file specification including path and delimited by null or double quotes for long spacey names up to 265 characters.

7.  RPI 20  - correct erroneous 62 error on output file which does not exist yet.

8.  RPI 21  - issue 0C5 addressing exception abend when PSW set to address beyond allocated memory.

9.  RPI 22  - turn time limit option off when test option specified.

 

 
1.0.01   10/06/05       1.  RPI 4  - Allow changing install directory

2.  RPI 5  - Option ASCII to generate ASCII vs EBCDIC character fields in DC C'...' etc.  Also support C"..." ASCII character generation.

3.  RPI 6  - Option to limit errors ERR(nn)

4.  RPI 7  - Document I/O support describing DCB and DDNAME usage.

5.  RPI 8  - Correct "compatible java" on about menu

6.  RPI 12  - remove erroneous error 35 after error 45

7.  RPI 13  - correct up and down arrow scrolling of previous commands entered via GUI command line.

 

 
1.0.00a   10/04/05       First PTF with RPI hyper fixes

1,  RPI  1 - RT=MANUAL MZ390 TRAP ON BAD DIR (NOW ISSUES ERROR 108)
2.  RPI  2 - RT=TESTDC1 AZ390 ERROR 51 DC DUP FIELD
3.  RPI  3 - RT=TESTINS1 AZ390 ERROR 35 RS/RX OMITTED INDEX REG COMMA
4.  RPI  9 - RT=TESTASM1 AZ390 ERROR 98 L' OPERATOR SYMBOL NOT FOUND
5.  RPI  10 - RT=TESTASM1 AZ390 ERROR 35 ORG WITHOUT OPERAND
6.  RPI  11 - RT=TESTDC1 AZ390 ERROR 38 DC S(ABS) NO BASE REG

 
1.0.00   09/30/05     Initial release  

This page last updated Sunday September 07, 2008.   Webmaster 
Copyright 2007 Automated Software Tools Corporation