I also recommend using D86 (which comes with A86) because it allows you to enter 8086 commands interactively so you can see what happens to all registers and flags after each instruction.
This code (as others have pointed out):
MOV AL, F2h ADD AL, 20h
will only affect AL flags and case. No other eight-bit register will be affected (even AH). AX will change because, because it consists of AH and AL, therefore, if AH was 42h:
Code AL AH AX MOV AL,F2h F2 42 42f2 ADD AL,20h 12 42 4212
The result of this particular operation sets the carry flag and the parity flag and clears the overflow, zero, sign, and auxiliary carry flags.
You might think that the overflow flag should be set, but the overflow flag processes the values ββas signed values ββ(in this case -14 and 32), and the addition does not exceed the maximum signed value (127). The carry flag processes the values ββas unsigned values ββ(242 and 32), and the addition exceeds the maximum unsigned value: 242 + 32 = 274, which is greater than 255, so the transfer is set.
Skizz
source share