This invention provides a low level code translation technique that
separates a source code into blocks based on a target processor register
capability. The source code of a source processor, is first divided into
source code blocks based on instruction sequence altering commands such as
branch or loop commands. Each of the source code blocks may be further
divided into translated code blocks based on the target register
capability. A head stub and a tail stub that perform housekeeping tasks
are added to each of the translated code block to form translated blocks.
The head stubs retrieve source register values from a source register map
to initialize target registers and the tail stubs store values of the
target registers into the source register map so that the register map
contains the most current values of the source registers.
Diese Erfindung liefert eine Codeumwandlungtechnik des niedrigen Niveaus, die ein Quellenprogramm in die Blöcke trennt, die auf einer Zielprozessor-Registerfähigkeit basieren. Das Quellenprogramm eines Quellprozessors, wird zuerst in die Quellenprogrammblöcke geteilt, die auf der Anweisungsfolge basieren, die Befehle wie Niederlassung oder Schleife Befehle ändert. Jeder der Quellenprogrammblöcke kann in die übersetzten Codeblöcke weiter geteilt werden, die auf der Zielregisterfähigkeit basieren. Ein Hauptstummel und ein Endstück roden, die Haushaltungaufgaben werden hinzugefügt jedem des übersetzten Codeblockes zu Form übersetzten Blöcken durchführen. Die Hauptstummel holen Quellregisterwerte von einem Quellregisterdiagramm zurück, um Zielregister zu initialisieren und die Endstückstummel-Speicherwerte der Zielregister in die Quelle registrieren Diagramm, damit das Registerdiagramm die gegenwärtigsten Werte der Quellregister enthält.