The NZVC condition codes scheme, and corresponding set of 14 conditions for branches, is the nearly only in current ISAs that utilizes condition codes at all. The first computer I know that used it is PDP-11 (1970).
Is PDP-11 the truly first for this?
How this scheme has been invented? I failed to find similar prototypes in earlier computers, and it looks like appeared "from scratch". The condition codes themselves in Program Status Word register (whatever used name was) were, of course, known for more than decade, but no such elaborated scheme was present. This looks like a single genius strike. Are there any memories from DEC?
UPDATE: more details: for example, to compare with System/360:
Signed arithmetic instructions produce condition code:
- CC=0: no overflow, result == 0
- CC=1: no overflow, result > 0
- CC=2: no overflow, result < 0
- CC=3: overflow, result sign/zero are irrelevant, compared with the overflow fact
Unsigned ("logical") arithmetic instructions produce condition code:
- CC: result is not zero
- CC: carry out of result width
One should combine results of both types to a single condition code set, and this is the first part of the leap I mean. The second one is using carry flag in combined 3-argument ADC/SBC operations (S/360 haven't done this despite carry bit in CC).