Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
361 words
Within a computer system using instructions of variable length having operation codes that also indicate the instruction lengths; the computer system operation being controlled by a program tracing method; initially inputting into said computer system said program tracing method, a program to be traced and data to be processed by said program to be traced; said program tracing method including the steps of controlling a hardware instruction counter in said computer system for accessing each next required tracing instruction in said program tracing method, said program tracing method thereafter maintaining continuous control over said computer system, loading a programmed instruction counter with a direct or indirect address of a current instruction in said program to be traced, selecting one of a plurality of program tracing method routines by interpretation of an operation code in the current instruction determined by said loading step, moving the current instruction into an assigned area provided by the selected program tracing method routine obtained by said selecting step, executing said current instruction in said assigned area under control of the selected program tracing method routine, the execution of said current instruction being with said data to be processed and with data generated from execution of any prior instructions in said program to be traced, said executing step providing generated data for subsequent execution by said program to be traced, the data generated during said executing step by each instruction in said program to be traced being the same as data which would be generated by direct execution of said program to be traced with said data to be processed, machine-recording addresses in a tracing record for said current instruction executed by said executing step, and iteratively repeating the sequence of said loading step, said selecting step, said moving step, said executing step, and said machine-recording step for each next instruction indicated by the setting of said programmed instruction counter for said program to be traced, whereby no machine interrupt is required for tracing purposes by either the program tracing method or the program to be traced, and whereby no modification is required for tracing purposes to either the hardware or to said program to be traced.
Claim 2
Dependent Claim
361 words
Within a computer system using instructions of variable length having operation codes that also indicate the instruction lengths; the computer system operation being controlled by a program tracing method; initially inputting into said computer system said program tracing method, a program to be traced and data to be processed by said program to be traced; said program tracing method including the steps of controlling a hardware instruction counter in said computer system for accessing each next required tracing instruction in said program tracing method, said program tracing method thereafter maintaining continuous control over said computer system, loading a programmed instruction counter with a direct or indirect address of a current instruction in said program to be traced, selecting one of a plurality of program tracing method routines by interpretation of an operation code in the current instruction determined by said loading step, moving the current instruction into an assigned area provided by the selected program tracing method routine obtained by said selecting step, executing said current instruction in said assigned area under control of the selected program tracing method routine, the execution of said current instruction being with said data to be processed and with data generated from execution of any prior instructions in said program to be traced, said executing step providing generated data for subsequent execution by said program to be traced, the data generated during said executing step by each instruction in said program to be traced being the same as data which would be generated by direct execution of said program to be traced with said data to be processed, machine-recording addresses in a tracing record for said current instruction executed by said executing step, and iteratively repeating the sequence of said loading step, said selecting step, said moving step, said executing step, and said machine-recording step for each next instruction indicated by the setting of said programmed instruction counter for said program to be traced, whereby no machine interrupt is required for tracing purposes by either the program tracing method or the program to be traced, and whereby no modification is required for tracing purposes to either the hardware or to said program to be traced.
Claim 3
Dependent Claim
110 words
Within a program tracing method as defined in claim 1 in which, the tracing operation is quiesced while said tracing program maintains control of said computer system, in which after said loading step, the following steps are included branching around said selecting step, said moving step, said executing step, and said machine-recording step for each next instruction of said program to be traced while being quiesced; and said branching step correspondingly modifying said iteratively repeating step, executing-in-place each next instruction indicated by the content of said programmed instruction counter for said program to be traced under control of said program tracing method, whereby said branching step quiesces the tracing operation.
Claim 4
Dependent Claim
54 words
Within a program tracing method as defined in claim 2, in which the following steps are provided before said branching step, testing a program control switch for a quiescence status indication, and whereby the tracing operation continues in the absence of said testing step sensing any quiescence status indication by said program control switch.
Claim 5
Dependent Claim
70 words
Within a program tracing method as defined in claim 2, in which the following steps are provided before said branching step resetting a control bit by external control at any time during execution of said program tracing method, activating said iteratively repeating step, and deactivating said branching step in response to said control bit being reset, whereby said program tracing method is actiVated to trace said program to be traced.
Claim 6
Dependent Claim
102 words
Within a program tracing method as defined in claim 2, in which the following steps are provided before said branching step setting a control bit by external control at any time during execution of said program tracing method, activating said branching step and said executing-in-place step in response to said control bit being set by said setting step, whereby said program tracing method is in a quiescent state as long as said control bit is set, in which each next instruction in said program to be traced is executed without being traced but is continuously under control of said program tracing method.
Claim 7
Dependent Claim
179 words
Within a program tracing method as defined in claim 2, in which the following steps are provided before said loading step inputting first and second parameters to control an on-count sampling period and an off-count sampling period, which are alternate periods in a tracing sampling cycle, machine-changing a current one of said on-count and off-count sampling periods in accordance with a machine-measured progression of said program to be traced, machine-testing a current state of a no-sampling bit to determine which one of said alternate periods is a current sampling period, and switching said no-sampling bit to an opposite state when said machine-testing step indicates expiration of the current sampling period, whereby during each tracing sampling cycle said program tracing method is in a quiescent state as long as said no-sampling bit indicates said off-count sampling period is current and is in an active tracing state as long as said no-sampling bit indicates said on-count sampling period is current, and whereby cyclic sampling periods of tracing are independent of any predetermined sequence of instructions in said program to be traced.
Claim 8
Dependent Claim
71 words
Within a program tracing method as defined in claim 6, in which said machine-changing step comprises machine-computing the time for machine-execution of the current instruction of the program to be traced to determine its machine-measured progression, and decrementing the current sampling period in response to the time indicated by said machine-computing step, whereby said first and second parameters are the periods of time for the on-count and off-count sampling periods, respectively.
Claim 9
Dependent Claim
54 words
Within a program tracing method as defined in claim 6, in which said machine-changing step includes machine-decrementing the current sampling count by one for each instruction to be executed in the program to be traced, whereby said first and second parameters are the numbers of instructions in the on-count and off-count sampling periods, respectively.
Claim 10
Dependent Claim
307 words
Within a program tracing method for use with a computer system using instructions of variable length having operation codes that also indicate the instruction lengths, comprising the steps of inputting to the computer system a tracing program, a program to be traced, and data to be processed by said program to be traced, setting a programmed instruction counter in said tracing program with a direct or indirect address to a current traceable instruction to be executed in said program to be traced, setting a hardware instruction counter in said computer system with an address of a current tracing instruction to be executed in said tracing program, initiating execution of said tracing program with initial settings of said hardware and programmed instruction counters to the first instruction in said tracing program and in said program to be traced, respectively, accessing the operation code of the current traceable instruction at the address in said programmed instruction counter, selecting a tracing program routine by interpretation of the operation code of the current traceable instruction, signalling if said traceable instruction indicates that its following instruction to be executed in said program to be traced is a sequentially or non-sequEntially addressed instruction, recording any sequentially addressed instruction indicated by said signalling step from said program to be traced into one area in said tracing program routine, and recording any non-sequentially addressed instruction indicated by said signalling step into another area in said tracing program routine, executing any sequentially addressed instruction or any non-sequentially addressed instruction provided by said recording step within said tracing program routine without any required machine interrupt, setting into said programmed instruction counter the address of the next instruction to be executed in the program to be traced and generating a trace record based on data related to said sequentially addressed instruction as a result of said executing step.
Claim 11
Dependent Claim
307 words
Within a program tracing method for use with a computer system using instructions of variable length having operation codes that also indicate the instruction lengths, comprising the steps of inputting to the computer system a tracing program, a program to be traced, and data to be processed by said program to be traced, setting a programmed instruction counter in said tracing program with a direct or indirect address to a current traceable instruction to be executed in said program to be traced, setting a hardware instruction counter in said computer system with an address of a current tracing instruction to be executed in said tracing program, initiating execution of said tracing program with initial settings of said hardware and programmed instruction counters to the first instruction in said tracing program and in said program to be traced, respectively, accessing the operation code of the current traceable instruction at the address in said programmed instruction counter, selecting a tracing program routine by interpretation of the operation code of the current traceable instruction, signalling if said traceable instruction indicates that its following instruction to be executed in said program to be traced is a sequentially or non-sequEntially addressed instruction, recording any sequentially addressed instruction indicated by said signalling step from said program to be traced into one area in said tracing program routine, and recording any non-sequentially addressed instruction indicated by said signalling step into another area in said tracing program routine, executing any sequentially addressed instruction or any non-sequentially addressed instruction provided by said recording step within said tracing program routine without any required machine interrupt, setting into said programmed instruction counter the address of the next instruction to be executed in the program to be traced and generating a trace record based on data related to said sequentially addressed instruction as a result of said executing step.
Claim 12
Dependent Claim
70 words
Within a program tracing method as defined in claim 9, including before said accessing step the steps of examining for and servicing any computer interrupt signals caused by the addressed instruction in said program to be traced, said interrupt not being generated for tracing said addressed instruction, and said generating step providing a trace record that includes information provided by each computer interrupt generated in the program to be traced.
Claim 13
Dependent Claim
42 words
Within a program tracing method as defined in claim 10, in which said generating step further records into the trace record the location addresses within old and new status control words responding to a handled interrupt for said program to be traced.
Claim 14
Dependent Claim
73 words
Initialization for a program tracing method as defined in claim 9, in said inputting step further includes generating an address of a memory location for storing a control of quiescing and active tracing states of the tracing program, outputting the address of said memory location provided by said generating step for subsequent action, and setting a bit in said memory location to control the quiescing and active tracing states of said tracing program.