z390 Portable Mainframe Assembler and Emulator

z390 ASSIST Support

Automated Software Tools Corporation
z390 ASSIST support has been added at the request of Northern Illinois University for use in computer science classes.  The ASSIST support is enabled using the new option ASSIST which allows assembly and execution of all the z/Architecture problem state instructions including the new z10 instructions plus the following ASSIST instructions:
  • z390 ASSIST instructions
    • XDECI   RX X'53rxbddd' r1.s2 convert decimal to binary
      • Start scan for next decimal number at s2 skipping leading blanks
      • Convert decimal number to binary in r1 until non decimal character found
      • Set register 1 to address of the last non decimal character found
      • Set condition code 0 if number converted successfully else set condition code 3
    • XDECO RX X'52rxbddd' r1,s2 convert binary to decimal
      • Convert binary 32 bit r1 value to right justified 12 character decimal field at s2
    • XDUMP RXSS X'E06xbdddbddd' s1(x1),s2 - dump registers and/or storage
      • If no operands are specified, dump registers and the default storage area
        • If no XLIMD instruction has reset default storage dump area, dump all storage
      • if s1(x1) address of storage area and s2 length of area are specified just dump that area
    • XGET     RXSS X'E0Axbdddbddd' s1(x1),s2 read record from ASCII file DDNAME=XGET into area s1(x1) with length of s2
    • XHEXI   RX X'61' r1,s2 convert hex to binary (cc3 if no hex, update field addr)
    • XHEXO RX X'62' r1,s2 convert binary to hex (12 bytes, update field addr)
    • XLIMD RXSS X'E08xrbdddbddd' s1(x1),s2 set default XDUMP storage area address and length
    • XPNCH RXSS X'E04xbdddbddd' s1(x1),s2 write to DDNAME=XPNCH with length s2
    • XPRNT RXSS X'E02xbdddbddd' s1(x1),s2 write to DDNAME=XPRNT with length s2
    • XPUT    RXSS  X'E0Cxbdddbddd' s1(x1),s2 write to DDNAME=XPUT for length s2
    • XREAD RXSS X'E00xbdddbddd' s1(x1),s2 read record from DDNAME=XREAD for length s2
  • z390 ASSIST command can be used to assemble, link, and execute assist programs
    • Use the command ASSIST filename where filename is the base name of any mainframe assembler source program with file type MLC to assemble, link, and execute the program on Windows XP/Vista or Linux system using z390 GUI or command line interface.  This command sets the ASSIST option  and defines the following environment variables for input and output ASCII text files:
      • XREAD=filename.XRD
      • XPRNT=filename.XPR
      • XPNCH=filename.XPH
      • XGET=filename.XGT
      • XPUT=filename.XPT
    • All of the above files are optional and will be opened on first access and closed at end of execution or end of file.  All files are ASCII with automatic conversion from or to EBCDIC.  ASCII file records have trailing spaces removed and end with carriage return x'0d' and line feed x'0a'.  On input fields are padded with EBCDIC spaces x'40'.  Non ASCII output bytes are converted to periods.
      • If a file operation is successful the condition code is set to 0 for XREAD, XGET, and XPUT. 
      • XPRNT and XPNCH do not set condition code.
      • At end of file for XREAD or XGET, the condition code 1 is set.
      • If a file error occurs on XREAD, XPRNT, XPNCH, the program aborts with abend code S013.
      • If a file open error occurs, program terminates with S013 abend with error message showing the file specification which failed.
      • If any other error occurs on XGET or XPUT such as missing length, condition code 2 is set.
    • Starting with z390 v1.4.01a the following additional changes have been made for ASSIST use:
      • The ASSIST option changes new option LOADHIGH to NOLOADHIGH which then casues programs to start loading at X'10000' instead of high end of memory.
      • Registers are initialized to X'F4', memory above the PSA is initialized to X'F5', and uninialized areas of 390 load modules are initialized to X'F6' (new in z390 PTF v1403d).  Use NOINIT override to revert to setting all these areas to X'00'.
      • A trace table is used to display the last 10 instructions prior to abnormal termination of a program when the TRACE option is off.
      • The PSW displayed at abnormal termination includes ILC, CC, MASK, and AMODE.
    • Example commands:
      • ASSIST assist\DEMOAST1 - assemble, link, and execute new ASSIST demo program which uses the ASSIST XDECO and XPRNT instructions to print prime numbers to 100.  See the follwoing files:
        • assist\DEMOAST1.MLC - source program
        • assist\DEMOAST1.PRN - generated assembly listing
        • assist\DEMOAST1.LOG - generated output log including all XPRNT output
        • assist\DEMOAST1.XPR - generated output file with all XPRNT lines.
      • ASSIST assist\TESTAST1 - assemble, link, and execute new ASSIST regression test named TESTAST1.MLC in the assist sub-directory.  After the command completes, the following files are available for viewing:
        • assist\TESTAST1.MLC - source assembler program with ASSIST instructions
        • assist\TESTAST1.ERR - error log with start/stop messages plus any error messages
        • assist\TESTAST1.PRN - assembly listing
        • assist\TESTAST1.LST - linker listing
        • assist\TESTAST1.LOG - execution log with XPRNT and XDUMP output
        • assist\TESTAST1.XRD - XREAD test input file
        • assist\TESTAST1.XPR - XPRNT output file
        • assist\TESTAST1.XPH - XPNCH output file
        • assist\TESTAST1.XGT - XGET test input file
        • assist\TEST\AST1.XPT - XPUT output file
      • ASSIST assist\TESTAST1 TRACE - add the TRACE option to generate TESTAST1.TRE output file with XPRNT, XDUMP, plus instruction trace for use in debugging.
      • ASSIST assist\TESTAST1 TEST - add the TEST option to start interactive test execution of the program with prompts for test commands which support tracing one or more instructions, dumping and/or changing registers and memory, etc.  Type H for help list of test commands.
    • Installation of z390 with ASSIST:
      • Uninstall any versions of z390 prior to v1.4.01 and delete the install directory z390.
      • Uninstall any versions of J2SE prior to 1.6.0
      • Download and install latest update for J2SE 1.6
      • Download and install z390 v1.4.01 for Windows or Linux
      • Download and install z390 cumulative PTF fixes v1.4.01
      • Double click z390 desktop icon to start GUI interface
      • Enter command ASSIST assist\TESTAST1 to run the ASSIST regression test
      • Enter edit assist\TESTAST1.LOG to view output log.
      • Enter command ASSIST assist\DEMOAST1 to run the ASSIST demo to print primes to 100.



IBM, CICS, HLASM, MVS, OS/390, VSAM, z9, z10, and z/OS are registered trademarks
 of International Business Machines Corporation

This page last updated Wednesday May 23, 2012.   Webmaster  Sitemap
Copyright 2011 Automated Software Tools Corporation