Method and apparatus for controlling usage of a programmable computing machine
First Claim
1. A method of preventing unauthorized use of a program on a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
- (a) encoding the uncoded operation codes of instructions of the program as a function of location of the instructions of the program in a memory and as a function of the state of the machine prior to using the program on the computing machine; and
(b) adding to the computing machine a decoder to decode the encoded operation codes to perform the object of the program.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for controlling usage of a programmable computing machine which operates in accordance with uncoded or published machine language operation codes including uniquely encoding the uncoded operation codes of instructions of a program to be used on the computing machine as a function of location of the instructions in memory and as a function of machine state, and adding to the machine a decoder that decodes only the uniquely encoded operation codes. Apparatus for controlling usage of a programmable computing machine which operates in response to uncoded or published machine language operation codes including memories which store machine user created programs and operating system programs, in which each program has instructions with uncoded and encoded operation codes, decoders to decode the encoded operation codes of the instructions of the user created program and the encoded operation codes of the instructions of the operating system program, and a circuit to execute the instructions of the user created program and the operating system program having the decoded and the uncoded operation codes.
-
Citations
23 Claims
-
1. A method of preventing unauthorized use of a program on a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
-
(a) encoding the uncoded operation codes of instructions of the program as a function of location of the instructions of the program in a memory and as a function of the state of the machine prior to using the program on the computing machine; and (b) adding to the computing machine a decoder to decode the encoded operation codes to perform the object of the program. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. Apparatus for preventing unauthorized use of a program on a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
-
(a) means for storing prior to execution a machine language program having instructions with encoded operation codes; (b) means for decoding the encoded operation codes of the instructions, including means for converting the encoded operation codes of the instructions to the uncoded operation codes as a function of location of the instructions in said storing means and as a function of the state of the machine; and (c) means for executing the instructions of the program in accordance with the decoded operation codes. - View Dependent Claims (8, 9)
-
-
10. Apparatus for controlling usage of a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
-
(a) means for storing a machine user created program and an operating system program, each program having instructions including uncoded and encoded operation codes; (b) first means for decoding the encoded operation codes of the instructions of the user created program; (c) second means for decoding the encoded operation codes of the instructions of the operating system program; and (d) means for executing the instructions of the user created program and the operation system program having the decoded and the uncoded operation codes. - View Dependent Claims (11, 12, 13)
-
-
14. A method of preventing unauthorized use of a program on a programmable computing machine, comprising:
-
(a) encoding the instructions of the program prior to using the program on the computing machine as a function of the state of the machine; and (b) adding to the computing machine a decoder to decode the instructions to perform the object of the program. - View Dependent Claims (15)
-
-
16. A method of controlling usage of a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
-
(a) encoding the uncoded operation codes of instructions of a program to be used on the computing machine as a function of location of the instructions of the program in a memory and as a function of the state of the machine; and (b) adding to the computing machine a decoder to decode the encoded operation codes to perform the object of the program.
-
-
17. Apparatus for controlling usage of a programmable computing machine which operates in accordance with uncoded machine language operation codes, comprising:
-
(a) means for storing a machine language program having instructions with encoded operation codes; (b) means for decoding the encoded operation codes of the instructions, including means for converting the encoded operation codes of the instructions to the uncoded operation codes as a function of the location of the instructions in said storing means and as a function of the state of the machine; and (c) means for executing the instructions of the program in accordance with the decoded operation codes.
-
-
18. A method of controlling usage of a programmable computing machine, comprising:
-
(a) encoding the instructions of a program to be used on the computing machine as a function of location of the instructions of the program in a memory and as a function of the state of the machine; and (b) adding to the machine a decoder to decode the instructions to perform the object of the program.
-
-
19. Apparatus for preventing unauthorized use of programs on a programmable computing machine which operates in accordance with uncoded machine language operation codes, the programs including a first program and a second program, the first program and the second program each being stored in a respective memory and having instructions with encoded operation codes and uncoded operation codes, comprising:
-
(a) first means for decoding the encoded operation codes of the first program to produce decoded operation codes; (b) second means for decoding the encoded operation codes of the second program to produce decoded operation codes; (c) means for selecting the uncoded operation codes of the first program and the second program or the decoded operation codes of the first program or the decoded operation codes of the second program; and (d) means for automatically controlling said selecting means to select the uncoded operation codes of the first program and the second program or the decoded operation codes of the first program or the decoded operation codes of the second program as a function of the state of the machine. - View Dependent Claims (20, 21, 22)
-
-
23. Apparatus for preventing unauthorized use of programs on a programmable computing machine which operates in accordance with uncoded machine language operation codes, the programs including a first machine user created program and a second operating system program, the first program and the second program each being stored in a respective memory and having instructions with encoded operation codes and uncoded operation codes, comprising:
-
(a) first means for decoding the encoded operation codes of the first program to produce decoded operation codes, including; (i) first means for storing first predetermined data and for outputting the first data in response to the encoded codes of the first program stored in the memory; and (ii) first exclusive-Or means for producing the decoded operation codes of the first program in response to the first data and to addresses to locations in the memory at which the encoded operation codes of the first program are stored; (b) second means for decoding the encoded operation codes of the second program to produce decoded operation codes, including (i) second means for storing second predetermined data and for outputting the second data in response to the encoded operation codes of the second program stored in the memory; and (ii) second exclusive-Or means for producing the decoded operation codes of the second program in response to the second data and to addresses to locations in the memory at which the encoded operation codes of the second program are stored; (c) multiplexer means for selecting the uncoded operation codes of the first program and the second program or the decoded operation codes of the first program or the decoded operation codes of the second program; and (d) means for automatically controlling said multiplexer means to select the uncoded operation codes of the first program and the second program or the decoded operation codes of the first program or the decoded operation codes of the second program as a function of the state of the machine, including; (i) means for decoding operands of the instructions; and (ii) flip-flop means for changing state in response to the decoded operands.
-
Specification