The PDP-11: A case study of how not to design condition codes

This paper investigates a design weakness in the PDP-11 architecture, namely the condition code bits. Experience with the machine has demonstrated a number of “traps” for the unwary programmer stemming directly from an inconsistent and sometimes confusing scheme of condition code settings. This is particularly annoying in view of the otherwise clean architectural characteristics of the machine. A number of “principles” are proposed that would correct the deficiencies and could therefore be used as a guide for designing future machines. The paper also presents some measurements based on actual programmatic usage of the PDP-11 that question the validity of a condition code scheme as an efficient architectural technique.