Method and apparatus for runtime remediation of object-code instructions in a computer program

   
   

A method and apparatus for runtime remediation of object-code instructions (such as date instructions that are not year 2000 compliant) in a computer program. Before runtime, a setup function of a program monitor locates each instruction to be remediated in a load module of a user program and overlays the instruction with a trap instruction. The address of the overlaid instruction is stored in a scan slot of a window control table (WCT). The text of the overlaid instruction is stored in a corresponding operand slot of the WCT along with control information including a set of flags and windowing and cycling parameters. At runtime, upon decoding a trap instruction, the CPU transfers control to an instruction simulation function of the program monitor, which searches the scan slots of the WCT for the one containing the address of the overlaid instruction. Upon finding the scan slot, the instruction simulation function performs an instruction simulation operation in accordance with the control information in the corresponding operand slot, then returns control to the user program. If an execute flag is not set, the instruction simulation function invokes a specified user routine without executing the overlaid instruction. If the execute flag is set, the instruction simulation function executes the overlaid instruction in a mode of operation determined by the remaining flags. In a windowing mode, one or both instruction operands are compared with a specified delimiter, and the instruction is executed as though a specified increment were added to the operand before performing the operation of the instruction if the operand is less than the delimiter. In a cycling mode, a specified increment is added to the result the instruction would otherwise produce if that result is less than zero.

Um método e um instrumento para a remediação runtime de instruções do objeto-código (tais como as instruções da data que não são o ano 2000 compliant) em um programa de computador. Antes do runtime, uma função da instalação de um monitor do programa encontra cada instrução para ser remediated em um módulo de carga de um programa de usuário e cobre a instrução com uma instrução da armadilha. O endereço da instrução do overlaid é armazenado em um entalhe da varredura de uma tabela do controle da janela (WCT). O texto da instrução do overlaid é armazenado em um entalhe correspondente do operando do WCT junto com a informação de controle including um jogo das bandeiras e de parâmetros do windowing e dar um ciclo. No runtime, em cima de descodificar uma instrução da armadilha, o processador central transfere o controle a uma função da simulação da instrução do monitor do programa, que procurara os entalhes da varredura do WCT por esse que contem o endereço da instrução do overlaid. Em cima de encontrar o entalhe da varredura, a função da simulação da instrução executa uma operação da simulação da instrução de acordo com a informação de controle no entalhe correspondente do operando, a seguir retorna o controle ao programa de usuário. Se uma bandeira executar não for ajustada, a função da simulação da instrução invoca uma rotina de usuário especificada sem executar a instrução do overlaid. Se a bandeira executar for ajustada, a função da simulação da instrução executa a instrução do overlaid em uma modalidade de operação determinada pelas bandeiras restantes. Em uma modalidade do windowing, um ou ambo o operando da instrução é comparado com um delimitador especificado, e a instrução é executada como se um incremento especificado foi adicionado ao operando antes de executar a operação da instrução se o operando for menos do que o delimitador. Em uma modalidade dando um ciclo, um incremento especificado é adicionado ao resultado que a instrução produziria de outra maneira se esse resultado fosse menos de zero.

 
Web www.patentalert.com

< System and method for detecting attempts to access data residing outside of allocated memory

< Method, apparatus and computer program product for processing cashless payments

> Method for compiling high level programming languages into embedded microprocessor with multiple reconfigurable logic

> Medium on which image modifying program is recorded, image modifying apparatus and method

~ 00105