Assembler Transformation

The CodeTurn Assembler Migration provides an automatic conversion of legacy Assembler to functionally equivalent C# or Java programs that run on Open Systems. The generated C#/Java code is of an unprecedented quality in the field of Assembler migration and enables the migration of applications that were previously considered to be unfit for migration.


For the longest time, legacy applications with a substantial portion of business logic written in Assembler (IBM z/OS, z/VSE or BS2000/OSD) were sentenced to eternal life on the legacy platform. The main points preventing their migration to Open Systems:

  • The manual redevelopment of large amounts of Assembler code in C# or Java is not realistic (financially nor technically) due to the lack of proper functional documentation of the existing source code, and lack of skills to manually reverse engineer them;
  • The quality of automated migration tools was too low, leaving too much manual analysis and development so that using said tools did not significantly reduce the cost and risk of the migration project.

With the development of the CodeTurn Assembler Migration tools finally a viable option is provided for this type of applications.

Supported Platforms

The following technologies are supported:

Image showing supported technologies

How Does It Work?

Usually, CodeTurn operates on the application source code, as this is where the real business logic can be found. For the Assembler Migration the process is slightly different and starts exclusively with the expanded Assembler compilation listings – as they can be generated with Assembler on the mainframe. This approach avoids the need to emulate both the Assembler Directive and Macro (directive) behavior at runtime on the target platform and allows an elegant conversion of the Assembler source code.

Any negative impact the expansion of the User Macro’s might have on the readability of the migrated source code is mitigated by the migration tool. An example of such action is preserving the Assembler DSECT names.

Key Features

Complete Solution

The migration solution covers each of the following elements of a mainframe Assembler applications:

  • Assembly instructions
  • Assembler instructions (directives)
  • User defined macro definitions (inline)
  • User defined macro invocations (inline & copybook)
  • Invocations of system defined macros
  • SVC calls

Generated Artefacts

Every mainframe assembly program is converted to a corresponding C# program or Java program.

Output Parametrization

The generated C#/Java code can be parametrized on multiple levels to optimally blend in with customer standards in these technologies:

  • Package names used in the source code
  • Identifier Casing in the source code

Comment Preservation

The original application comments (both the Full Line and Inline comments) are preserved in the target source code to enable future application maintenance.

Integration with other Technologies

Typically, the Assembler logic is only one part of the complete customer legacy code. For the most commonly used mainframe technologies (COBOL, Natural, IDMS) Astadia has developed migration solutions to C#/Java as well, and the migrated Assembler code seamlessly integrates with them.

Manual Migration?

Although the preferred approach is to work with the fully automatically converted code, in some particular cases a manual rewrite of a particular piece of Assembler code can be preferred. Such selective, limited scope rewrites can be performed and easily integrated in the automatically converted code as well.

Let's Talk

Get in touch with our experts and find out how Astadia's range of tools and experience can support your team.

contact us now