From SpecNext official Wiki
String - 0 1 ? ! S
Property describing effect of Z80 instruction on Half-carry flag, values:
- - means the flag is unchanged.
- 1 or 0 mean the flag is set or reset as appropriate.
- ? means we don't know what effect the instruction has on the flag.
- ! means the instruction has an unusual effect on the flag which is documented in the description.
- S means the effect on the flag is "standard". C is set if a carry/borrow occurred beyond the MSB; Z is set if the result of the operation is zero; H is set if a carry/borrow occurred beyond bit 3. S is set by sign bit of value. N is set by subtract-like instructions and zeroed by add-like ones. PV has multiple uses, depending on the instruction affecting it.
- P, V, and L are used for the P/V flag which has several standard effects. P means it's parity. V means it's overflow. L means it checks BC as loop counter for some of the block copy and search instructions: P/V = (BC != 0)