Patent ID: 6075937
Filing Date: 2000-06-13
Classification: G06F

Abstract:
An emulation method for executing an incompatible computer program containing computer instructions of a computer architecture incompatible with target architecture used by the target processor, the emulation method comprisingstoring in a storage of the target processor an incompatible program comprised of incompatible instructions to be emulated by the target processor, and storing in the storage of the target processor one or more template routines for each operation code of each incompatible instruction contained of the incompatible program,accessing from the storage into a first portion of an incompatible instruction interpreter each incompatible instruction to be emulated,executing an emulation preprocessing method for each accessed incompatible instruction, the preprocessing method generating a search argument in a second portion of the incompatible instruction interpreter by performing the steps of:placing an operation code of the accessed incompatible instruction in the search argument,sensing the accessed incompatible instruction to determine if any other component of the instruction is required in the search argument for enabling a selection of a preferred target routine among plural target routines stored for the operation code of the instruction,transferring each required component of the incompatible instruction into the second portion of the incompatible instruction interpreter in combination with the opcode to generate the search argument,searching a template address table with the search argument to find a corresponding template address associated with the search argument to select the template routine among a plurality of template routines associated with the same operation code,accessing each template instruction in the template routine at the corresponding template address, andpreprocessing each template instruction in the template routine in preparation for emulating the accessed incompatible instruction by execution of the template routine in the target processor after each target instruction in the template routine is preprocessed.