System and method for enabling selective execution of computer code
First Claim
1. A computer system for enabling selective execution of sets of code in computer programs, comprising:
- memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes a first address identifier and a second address identifier, said first address identifier identifying said first address and said second address identifier identifying said second address, and wherein said processing circuitry is further configured to select one of said address identifiers based on said value of said mode indicator in response to said branch instruction.
2 Assignments
0 Petitions
Accused Products
Abstract
The system of the present invention utilizes memory for storing a computer program and processing circuitry for executing instructions of the computer program. In particular, the computer program includes at least one branch instruction and a set of code that is to be selectively enabled or disabled. The branch instruction includes an address identifier identifying a memory address to which the processing circuitry may branch when executing the branch instruction. The processing circuitry, in executing the computer program, receives run time data indicative of whether the set of code is enabled or disabled, and based on the run time data, the processing circuitry sets a value of a mode indicator. While the program is running, the processing circuitry executes the branch instruction. In executing the branch instruction, the processing circuitry, depending on the value of the mode indicator, branches to the address identified by address identifier or branches to a different address. The set of code is located at one of the foregoing addresses. Thus, execution of the set of code is either enabled or disabled by controlling the value of the mode indicator.
-
Citations
12 Claims
-
1. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes a first address identifier and a second address identifier, said first address identifier identifying said first address and said second address identifier identifying said second address, and wherein said processing circuitry is further configured to select one of said address identifiers based on said value of said mode indicator in response to said branch instruction. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes an address identifier that identifies said first address, wherein an instruction of said set of code is stored in said memory at said first address, and wherein said processing circuitry, in executing said branch instruction, is configured to identify said second address based on said first address when said set of code is disabled.
-
-
6. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes an address identifier that identifies said first address, wherein an instruction of said set of code is stored in said memory at said first address, and wherein said processing circuitry, in executing said branch instruction, is configured to flip a bit of said first address when said set of code is disabled.
-
-
7. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes an address identifier that identifies said second address, wherein an instruction of said set of code is stored in said memory at said first address, and wherein said processing circuitry, in executing said branch instruction, is configured to identify said first address based on said second address when said set of code is enabled.
-
-
8. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes an address identifier that identifies said second address, wherein an instruction of said set of code is stored in said memory at said first address, and wherein said processing circuitry, in executing said branch instruction, is configured to flip a bit of said second address when said set of code is enabled.
-
-
9. A computer system for enabling selective execution of sets of code in computer programs, comprising:
-
memory for storing a computer program, said computer program having a set of code and a branch instruction; and
processing circuitry configured to receive run time data indicating whether said set of code is enabled and to set a value of a mode indicator based on said run time data, said processing circuitry configured to receive and execute said branch instruction during a run of said computer program, said processing circuitry configured to branch to a first address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is enabled, said processing circuitry further configured to branch to a second address of said memory, in response to said branch instruction and based on said value of said mode indicator, when said set of code is disabled, wherein said branch instruction includes an address identifier identifying one of said addresses, wherein said branch instruction is encoded with an expression, and wherein said processing circuitry is further configured to compute a new address for each branch instruction that is encoded with said expression and that is executed by said processing circuitry during said run of said computer program, said new address based on an address identifier included in said each branch instruction.
-
-
10. A method for enabling selective execution of sets of code in computer programs, comprising the steps of:
-
storing a computer program in memory, said computer program having a set of code and a branch instruction, said branch instruction including an address identifier identifying a first address in said memory;
receiving, during a run of said program, run time data indicating whether said set of code is enabled;
setting a value of a mode indicator based on said run time data;
identifying a second address in said memory and in response to said branch instruction;
branching to said second address based on said value of said identifying step and said value of said mode indicator; and
executing an instruction at said second address in response to said branching step, wherein said identifying step includes the step of flipping a bit of a bit value representing said first address.
-
-
11. A method for enabling selective execution of sets of code in computer programs, comprising the steps of:
-
storing a computer program in memory, said computer program having a set of code and a branch instruction, said branch instruction encoded with an expression and including an address identifier identifying a first address in said memory;
receiving, during a run of said program, run time data indicating whether said set of code is enabled;
setting a value of a mode indicator based on said run time data;
identifying a second address in said memory and in response to said branch instruction;
branching to said second address based on said value of said identifying step and said value of said mode indicator;
executing an instruction at said second address in response to said branching step; and
computing a new address for each branch instruction from said computer program that is encoded with said expression and that is executed during said run of said program, said new address based on an address identifier included in said each branch instruction. - View Dependent Claims (12)
-
Specification