I didn't understand when the sign flag is set, and when the parity.

As I know, the sign flag indicates the sign of the result of an operation, 0 for positive numbers and 1 for negative numbers.

So why in the next code:

```
mov al, -5 
sub al, 124

```

The SF is zero? The result is negative number.

About the PF, Why in a and b, the PF is set?

```
a) sub al, al.

b) mov al, 127
   add al, 129

```