PortAsm/Z8K for POWER Architecture

Please note that PortAsm/Z8K for POWER is an older tool which is no longer supported. See here for our current range.


PortAsm/Z8K for POWER Architecture is a source-code translator which converts Zilog Z8000 assembly-language code into efficient, optimized, and maintainable POWER Architecture assembly-language. It provides a fast, easy and reliable way to port Z8000 assembler to the POWER Architecture architecture, avoiding the need for a lengthy and difficult re-write, which can introduce new bugs into a mature body of source code. It can be used either for applications written wholly in assembler, or for translating the assembler portions of applications written partly in Z8K assembler and partly in a high-level language such as C or Pascal.

PortAsm/Z8K analyzes the original source code, and separates the semantic meaning of Z8000 instructions or sequences of instructions from irrelevant side effects such as condition code updates which are not needed. After expanding macros and tokenizing the source file, PortAsm/Z8K:

  • Examines the Z8000 instructions in detail, analyzing content and program flow.
  • Maps Z8000 registers on to POWER Architecture registers, optimizing over blocks of code.
  • Replaces sequences of Z8000 instructions with efficient POWER Architecture equivalents.
  • Reproduces only the required behaviour of the Z8000 code, eliminating irrelevant side-effects as much as possible.
  • Adapts the code to fit into the target runtime environment.
  • Outputs a translated POWER Architecture source file, optionally retaining comments.
  • Optionally outputs additional debugging directives.

Features

  • Powerful, easy-to-use source-code analyzer and optimizing code generator.
  • Produces easy-to-read POWER Architecture assembler source code that uses the original symbolic labels and variable names.
  • Retains the original Z8000 code in the output file as comments, making the translation process transparent and aiding debugging (the original comments may also be retained).
  • Users can include hand-written POWER Architecture assembler in the original Z8000 source, which with conditional assembly directives makes it easy to maintain a single source base for both Z8000 and POWER Architecture targets.
  • Powerful code generation optimizations can be selectively enabled/disabled.
  • Integrates into the standard build process for easy code maintenance after the initial port.
  • Supports source-level debugging, using the original Z8000 code as source, making debugging very simple even for users who have little POWER Architecture assembler knowledge.

Supported POWER Architecture target assemblers

  • IBM 'as'
  • Metaware/Tasking 'asppc'
  • Diab Data 'das'
  • Gnu 'gas'
  • Metrowerks CodeWarrior (hosted under the CodeWarrior IDE)
  • Mentor Graphics Microtec 'asmppc'
  • WindRiver Tornado (Gnu gas)

Supported Runtime Environments

  • EABI/ELF standard for embedded applications (with DWARF debugging)
  • XCOFF-format (AIX, MacOS, and PowerOpen compatible)
  • SVR4/ELF POWER Architecture standard

Supported Hosts

  • Linux (x86)
  • Windows (Console applocation)