U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Alternate execution and interpretation of computer program having code at unknown locations due to transfer instructions having computed destination addresses

Patent 5652889 Issued on July 29, 1997. Estimated Expiration Date: Icon_subject March 20, 2016. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Condition code graph analysis for simulating a CPU processor
Patent #: 4951195
Issued on: 08/21/1990
Inventor: Fogg, Jr., et al.

User interactive control of computer programs and corresponding versions of input/output data flow
Patent #: 5005119
Issued on: 04/02/1991
Inventor: Rumbaugh, et al.

Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison Patent #: 5175828
Issued on: 12/29/1992
Inventor: Hall, et al.

Inventor

Assignee

Application

No. 618573 filed on 03/20/1996

US Classes:

717/144, Including graph or tree representation (e.g., abstract syntax tree or AST)703/26, Of instruction715/504, Cell format control717/156Using flow graph

Examiners

Primary: Donaghue, Larry D.

Attorney, Agent or Firm

Foreign Patent References

  • 0372835 EP. 06/13/1990
  • 90/01738 WO. 02/13/1990

International Class

G06F 005/00

Abstract

It is not always possible or practical to fully translate an original computer program because execution transfer instructions may have computed destination addresses that cannot be determined until program execution. Instead, a digital computer alternately executes a translated program that is a partial translation of the original computer program, and interprets the original program. When execution of the translated program specifies a transfer to an untranslated portion of the original program, execution is transferred to an interpreter to interpret the original program. When interpretation of the original program reaches a portion of the original program having been translated, execution is transferred to the translated program. In a preferred embodiment, the original program is partially translated by automatically generating a flowgraph, and using the flowgraph to analyze the program to provide information about blocks of instructions in the flowgraph. An execution transfer instruction having a computed destination address that cannot be determined prior to execution is translated as an execution transfer to the interpreter for beginning interpretation at the computed destination address in the original program. When interpretation of the original program reaches a block entry point in a conversion table, execution is transferred to the translated program, beginning at a corresponding block entry point in the translated program.

Other References

  • Chow et al.; "Engineering a RISL Compiler," 1986, IEEE, New York, N.Y
  • Schinder, "Translation optimizes transfer of 8-bit programs to 16 bit," 1981, Electronic Design
  • Saari, "6800 Binary Code Translator," 1987, FORML Conf. Proceedings
  • Bergh et al., "HP 3000 Emulation of HP Precision Architecture Computers," Hewlett-Packard Journal, Dec. 1987, pp. 87-89
  • Eve M. Tanner, "Providing Programmers with a Driver Debug Technique," Hewlett-Packard Journal, Oct. 1989, pp. 76-80
  • Program Flow Analysis: Theory and Applications, Muchnick & Jones, eds., Prentice-Hall, Englewood Cliffs, NJ, 1981, pp. 160-161, 178-179, 184-187, 264-265, 272-275, 280-283, 294-297
  • Banning, "The XDOS Binary Code Conversion System," COMPCON 89 (Sep. 27, 1989) San Francisco, CA, pp. 282-287
  • Hunter and Banning, "DOS at RISC," Byte, vol. 14, No. 12, (Nov. 1989), St. Peterborough, United States, pp. 361-368
  • Gaines, "On the Translation of Machine Language Programs," Communications of the Association for Computing Machinery, vol. 8, No. 12, (Dec. 1965), New York, NY pp. 736-741
  • S. Reiss, "PECAN: Program Development Sustem That Supports Multiple Views," IEEE Transactions on Software Engineering, SE-11, No. 3., Mar. 1985, IEEE, New York, N.Y., pp. 276-285
  • Beyond RISC!--An Essential Guide to Hewlett-Packard Precision Architecture, Wayne E. Holt, Ed., 1988, Software Research Northwest, Inc., Vashon Isalnd, WA, pp. 225-238
  • The Handbook of Artificial Intelligence, vol. II, Barr & Feigenbaum, eds., William Kaufmann, Los Altos, CA, 1982, pp. 297-37
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$16.95more info
 
Sign InRegister
Username  
Password   
forgot password?