CPUs for embedded systems are providing increasingly better speed and
capacity at lower cost. At the same time, embedded system software is
becoming more complex. The result is increasing pressure to move from
assembler language to higher level languages such as C, C++ or COBOL. This can
now be achieved without losing the considerable investment in existing
assembler code by using the FermaT Migration Service.
This system originally written for IBM Mainframe Assembler has now
been enhanced to enable systems written in Assembler on other processors
to benefit from totally automatic migration to high level languages
such as C, C++ or COBOL.
The use of input and output parser technology means that it is
relatively easy for SML to tune the FermaT Migration Service to
support the many different processors and specific versions
of assembler in use by customers today. The resultant generated
code is restructured for easy on-going maintenance by customer
programmers, it is then compiled for the target processor using
standard supported compilers and optimisers.
The following diagram depicts the FermaT migration technology and use of the
1. Translation from Assembler to WSL
A sophisticated Assembler parser is used to capture the entire functionality
of the Assembler code using full assembler listings. This is then automatically converted to
intermediate Wide Spectrum Language (WSL) designed specifically to support
2. Transformation of the WSL
Once the entire functionality of the Assembler code has been replicated
within WSL, a series of sophisticated code transformations (up to several
thousand per module) are automatically
applied to the code to restructure and simplify the code to its optimum
logical state prior to migration to the chosen target language.
3. Translation from WSL to target language
Once the automatic restructuring has been completed, an additional set
of language specific transformations are applied which convert the WSL
representation of the Assembler.