zOS Assembler: Source Code Validation/Recovery

Software asset management is notoriously difficult; or conversely it’s always very easy to have concerns that source code no longer reflects the production program. On occasions it’s also possible for source code to be lost altogether. These problems often arise as a result of unnoticed errors while moving between different software management schemes e.g. as a result of a merger or acquisition.

Our goal is to restore confidence in the source code behind your production programs. With prices from as low as 10 eurocents per line of code piece of mind can usually be achieved within your departmental budget.

The service can be tailored to your needs and may consist of any of the following:

Typically our help will be based around the following in-house utilities that we have created:

Unloaded PDS Extractor Extracts loadmodules and their directory information from an IEBCOPY unloaded dataset.
Advanced Disassembler Builds normalized listing files for each CSECT within a zOS load module. Provides assembler and link/bind information for module.
Macro identifier A work in progress, identifies and inserts macros into a normalised listing file.
You can see sample output from the above processes here.
Listing Normalizer Converts a zOS HLASM produced listing to a normalized format for use by our other utilities.
Listing comparator Compares two normalized listings.
Listing to Source converter Converts a normalised listing into source code to be re-used as input to the High Level Assembler.

You can find more detail about these utilities below or you can go directly to a description of the procedure for recoverying or validating assembler source code using our services.

Get Started with ASCV ASCR

 

 

Unloaded PDS Extractor

This simple utility extracts the loadmodule information from both the directory and the PDS member ready for use by the dis-assembler.

The Advanced Dis-assembler - DA390

A key element to our services, the dis-assembler:

You can see sample output produced by the disAssembler here.

Listing Normalizer

Before comparing disAssembled code with supplied output from an existing HLASM produced listing, that listing must be normalized. That is to say the output Object code will be placed contiguously within the listing. This means:

Listing Comparator

Compares two (normalized) listings on an object code basis allowing discrepancies to be shown within the context of the available listings thereby making synchronization updates as easy as possible.

Listing to Source Code Conversion

Once happy with a final normalized listing the appropriate source code can be easily obtained via this simple utility.

 

Get Started with ASCV ASCR