Abstract

There are many problems involved in transferring programs from one computer to another. This work is concerned with providing a solution to these problems in one of the most difficult cases, when the source and target programs are in assembly language. To this end, a suite of programs, called STRAPS, (Software TRAnsPort System), is presented, which is designed to automatically translate programs from one arbitrary assembly language into another. This is done by first translating the source program into a machine independent intermediate language. This resulting program is then checked against the instruction set of the target computer, which is input using a machine description language. If any instruction in the intermediate code has an equivalent operation on the target machine, but has operands which have unsupported address modes, the system will attempt to generate an instrucion pair which splits the operands into two address modes which are supported. The problem of register allocations is tackled using new global control-flow analysis techniques which find “regions” within a program, consisting of many instructions, over which a register allocation strategy can be determined.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call