The inventive emulator dynamically translates instructions in code written for a first architecture into code for a second architecture. The emulator designates various checkpoints in the original code, and speculatively reorders the placement of the translated code instructions according to optimization procedures. If during the execution of the reordered code, a trap should occur, then the emulator resets the original code to the most recent checkpoint and begins executing the original code sequentially in a line-by-line manner until the section is completed or branched out of. The original code is reset by changing the program counter to the checkpoint, and reversing the effects of each instruction which has been executed subsequent to the checkpoint. Thus, any native instructions which correspond to original instructions which occur sequentially prior to the checkpoint have been executed, and any native instructions which correspond to original instructions which occur sequentially subsequent to the checkpoint have not been executed.

El emulador inventivo traduce dinámicamente instrucciones en el código escrito para una primera arquitectura en el código para una segunda arquitectura. El emulador señala varios puntos de comprobación en el código original, y reordena especulativo la colocación de las instrucciones traducidas del código según procedimientos de la optimización. Si durante la ejecución del código reordenado, una trampa ocurre, entonces los reajustes del emulador el código original al punto de comprobación más reciente y comienzan a ejecutar el código original secuencialmente de una manera línea por línea hasta que la sección se termina o se ramifica de. El código original es reajustado cambiando el programa opuestamente al punto de comprobación, e invirtiendo los efectos de cada instrucción que ha sido subsecuente ejecutado al punto de comprobación. Así, ninguna instrucciones nativa que corresponden a las instrucciones originales que ocurren antes del punto de comprobación se han ejecutado secuencialmente, y ninguna instrucciones nativa que corresponden a las instrucciones originales que ocurren secuencialmente subsecuente al punto de comprobación no se han ejecutado.

 
Web www.patentalert.com

< (none)

< Extended syntax record for assembler language instructions

> Method and apparatus for developing and placing a circuit design

> (none)

~ 00086