If you want to learn IBM mainframe assembly language but don’t have access to an IBM System/z machine, there is an excellent alternative: Z390 Portable Mainframe Assembler and Emulator. (Even if you do have access, you can find it helpful.) This product has a long, successful history, is freely distributed, and runs on Windows, Linux, and Mac PC’s. It also supports all the instructions described in the Principles of Operation manual of October, 2019 – very impressive!
I asked Don Higgins, the creator, to write a short article about his product. Here it is.
Z390 Portable Mainframe Assembler and Emulator Overview
November 20, 2020
Z390 is an open-source, Java-based mainframe assembler and emulator designed to run on Windows, Linux, and Mac PC’s. The predecessor to z390 was the PC/370 shareware mainframe assembler and emulator for MS-DOS PC’s. PC/370 was used by thousands of students at universities in the 1980s. In 1993 I sold PC/370 to Micro Focus, and in 1995 I went to work for Micro Focus developing the assembler component of the Micro Focus Mainframe Express product for Windows PCs. In 2004 I left Micro Focus and started the z390 open source project.
The original goal of z390 was to assemble, link, and execute problem state application programs on any platform that supports Java runtime. Over the years, the following major features have been added to z390:
- Macro process and assembler compatible with HLASM
- Linker to create executable modules
- Emulator with the following support:
- Problem state instruction execution
- Trace and dump options
- Floating-point, including HFP, BFP, and DFP.
- Storage management including GETMAIN and FREEMAIN
- QSAM, BDAM, and VSAM file management
- Sort merge utility
- zCOBOL compiler which generates z390 assembler
- zCICS transaction support developed by Melvyn Maltz
- Graphical User Interface
In 2012, I retired from z390 development for a while. Abe Kornelis and Melvyn Maltz continued to develop z390. In 2020 I returned and have spent most of 2020 upgrading the z390 assembler to correctly assemble all the IBM mainframe instructions in the Principles of Operation manual published in Oct. 2019. A test program named ZOPCHECK was developed to verify all 2357 opcode, mnemonic, and operand combinations.