Conclusion 

The following tables summarize the arithmetic instructions used with the 8086 microprocessor. A brief example is given for each instruction, and the flags affected by the instruction.
The “*” in the table means that the corresponding flag may change as a result of executing the instruction. The “-“ means that the corresponding flag is not affected by the instruction, whereas the “?” means that the flag is undefined after executing the instruction.

InstructionExample Meaning OFSFZFAFPFCF
ADD ADD AX, 7BHAX = AX + 7B * * * * * *
ADC ADC AX, 7BHAX = AX + 7B + CF* * * * * *
INC INC [BX] [BX] = [BX] + 1* * * * * -
DAA DAA Decimal Adjust after Add* * * * * *

Table: Addition Instructions

InstructionExample Meaning OFSFZFAFPFCF
SUB SUB CL, AH CL = CL – AH * * * * * *
SBB SBB CL, AH CL = CL – AH – CF * * * * * *
DEC DEC DAT [DAT] = [DAT] – 1 * * * * * -
DAS DAS Decimal Adjust after Sub* * * * * *
NEG NEG CX CX = 0 – CX * * * * * *

Table: Subtraction Instructions

InstructionExample Meaning OFSFZFAFPFCF
MUL MUL CL AX = AL * CL * ? ? ? ? *
MUL MUL CX (DX,AX) = AX* CX * ? ? ? ? *
IMUL IMUL BYTE PTR XAX = AL * [X] * ? ? ? ? *
IMUL IMUL WORD PTR X(DX,AX) = AX*[X]* ? ? ? ? *

Table: Multiplication Instructions

InstructionExample Meaning OFSFZFAFPFCF
DIV DIV WORD PTR XAX = Q(([DX,AX])/[X])? ? ? ? ? ?
DX = R(([DX,AX])/[X])? ? ? ? ? ?
IDIV IDIV BH AL = Q(AX/BH) ? ? ? ? ? ?
AH = R(AX/BH) ? ? ? ? ? ?

Table: Division Instructions

InstructionExample Meaning OFSFZFAFPFCF
CBW CBW AH = MSB(AL) - - - - - -
CWD CWD DX = MSB(AX) - - - - - -

Table: Sign Extension Instructions