Z80 - adding numbers in U2 - settings of register flags
I don't know what U2 is.

In 8-bit binary,  

      200                          -&gt; 1100 1000
      -56 -&gt; 200                   -&gt; 1100 1000
   -(-56) -&gt; 56                    -&gt; 0011 1000
200-(-56) -&gt; 1100 1000 + 0011 1000 -&gt; 0000 0000 with carry flag
200-(-56) -&gt; 1100 1000 - 1100 1000 -&gt; 0000 0000 with no carry flag


The expression 200 - (-56) is problematic for 8-bit. 200 cannot be represented as an 8-bit signed number. While -56 cannot be represented as an unsigned number. That leads to the problem of interpreting what the expression really means. Depending on the context of the actual codes:

If the codes had been compiled to an 8-bit add then:
S = 0, V = 0, C = 1, Z = 1.

If the codes had been compiled to an 8-bit subtract then:
S = 0, V = 0, C = 0, Z = 1.

For 16-bit operation, it is simple:
S = 0, V = 0, C = 0, Z = 0.