1. A digital circuit for counting instructions executed by a program running on a data processing system, the digital circuit comprising: an input section, including a plurality of digital gates, for receiving input signals when the program executes specified types of instructions on the data processing system, and for outputting signals representing selected ones of the executed instructions; a weighting section, including a plurality of digital weighting counters, for receiving the output signals representing the selected ones of the executed instructions, and for generating weights output signals representing assigned weighted values of the selected ones of the executed instructions; a group of opcode counters for counting the weighted output signals; and a selection logic section, including a plurality of digital comparators, for directing each of the weighted output signals to one opcode counter of the group of opcode counters, wherein the opcode counters maintain counts representing each of the specified types of instructions executed by the program on the data processing system.