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