A scheme for the reaction of hemoglobin with ligands is described, which postulates the functional heterogeneity of the chains, considers all possible combinations of the distribution of the ligand on the four chains of hemoglobin, and does not require simplifying assumptions about the hemoglobin reactivity. Ten tetrameric species are considered, together with 16 reactions between these species, each with an “on” and an “off” rate constant. The dissociation of hemoglobin tetramers into dimers is also considered, with four “on” and four “off” rate constants for the reactions between dimers, and ten equilibrium constants for the reactions between tetramers and dimers. Moreover, some side reactions, such as the “trapping” of ligands by a hemoglobin competitor, are included. A FORTRAN program, suitable for microcomputers, is described for handling this scheme, with some examples showing its advantages.