1. A digital circuit for counting instructions executed by a program running a data processing system, the digital circuit comprising: an input section, including a plurality of digital select gates for receiving input signals when the program executes specified types of instructions on the data processing system, each of the select gates including a select input for receiving a select signal for determining which groups of the input signals received by the each select gate are output as output signals from the said each select gate and for representing selected ones of the executed instructions; a weighting section, including a plurality of digital weighting counters, for receiving output signals representing the selected ones of the executed instructions, and for generating weighted output signals representing assigned weighted values of the selected ones of the executed instructions; a group of op counters for counting the weighted output signals; and a logic section, including a plurality of digital comparators, for directing each of the weighted output signals to one op counter of the group of op counters, wherein the op counters maintain counts representing each of the specified types of instructions executed by the program on the data processing system.