Logic ; FADD source ; FADD and FADDP ST ← ST + source ST(1) ← ST(1) + ST pop ST
; FADD dest, source ; FADDP dest, ST ST(dest) ← ST(dest) + ST(src) ST(dest) ← ST(dest) + ST pop ST
FADD/FADDP add the source operand to the destination operand.
The one-operand form of FADD adds a (single or double real) memory operand to ST. The two-operand form of FADD adds two register operands (ST must be one of these) and stores the sum in the destination register. FADDP works like the two-operand FADD but requires ST to be the source operand; it also pops the stack. The no-operand forms FADD and FADDP equal 'FADDP ST(1), ST'.
Opcode Format D8 /0 FADD m32 DC /0 FADD m64 D8 C0 + i FADD ST,ST(i) DC C0 + i FADD ST(i),ST DE C0 + i FADDP ST(i),ST DE C1 FADD DE C1 FADDP
Timing Variations/ operand 8087 287 387 486 Pentium fadd 70-100 70-100 23-34 8-20 3/1 FX fadd m32 90-120+EA 90-120 24-32 8-20 3/1 FX fadd m64 95-125+EA 95-125 29-37 8-20 3/1 FX faddp 75-105 75-105 23-31 8-20 3/1 FX