A method of disassembling object code to generate the original source code
is discussed, together with a lister for performing the disassembly. The
object code has relocation sections associated with some of the section
data. For each location in the section data the lister determines if there
is an associated relocation instruction and if there is, the lister
derives certain additional information concerning the section data. The
lister then generates the original source code, including the additional
information.
One example of the additional information is an arithmetic expression used
to calculate a value in a relocation instruction. The set of relocations
associated with the location of the instruction are read in turn by the
lister and by using an expression calculator and an expression stack, the
original arithmetic expression can be reconstructed.
Une méthode de démonter le code d'objet pour produire du code source original est discutée, ainsi qu'une listeuse pour effectuer le démontage. Le code d'objet a des sections de relocalisation liées à certaines des données de section. Pour chaque endroit dans section donnée listeuse détermine s'il y a une instruction associée de relocalisation et s'il y a, la listeuse dérive certaine information additionnelle au sujet des données de section. La listeuse produit alors du code source original, y compris l'information additionnelle. Un exemple de l'information additionnelle est une expression arithmétique employée pour calculer une valeur dans une instruction de relocalisation. L'ensemble de relocalisations s'est associé à l'endroit de l'instruction sont lus à leur tour par la listeuse et en employant une calculatrice d'expression et une pile d'expression, l'expression arithmétique originale peut être reconstruite.