ADD             Add                                  Flags: O D I T S Z A P C
* - - - * * * * *
ADD destination,source

Logic destination ← destination + source

ADD replaces the destination operand with the sum of the source
and destination operands. It sets the carry flag if there is an
overflow.


Opcode Format
00 /r ADD r/m8,r8
01 /r ADD r/m16,r16
01 /r ADD r/m32,r32
02 /r ADD r8,r/m8
03 /r ADD r16,r/m16
03 /r ADD r32,r/m32
04 ib ADD AL,imm8
05 iw ADD AX,imm16
05 id ADD EAX,imm32
80 /0 ib ADD r/m8,imm8
81 /0 iw ADD r/m16,imm16
81 /0 id ADD r/m32,imm32
83 /0 ib ADD r/m16,imm8
83 /0 ib ADD r/m32,imm8


Length and timing
Operands Bytes 8088 186 286 386 486 Pentium
reg, reg 2 3 3 2 2 1 1 UV
mem, reg 2+d(0,2) 24+EA 10 7 7 3 3 UV
reg, mem 2+d(0,2) 13+EA 10 7 6 2 2 UV
reg, imm 2+i(1,2) 4 4 3 2 1 1 UV
mem, imm 2+d(0,2) 23+EA 16 7 7 3 3 UV*
+i(1,2)
acc, imm 1+i(1,2) 4 4 3 2 1 1 UV

* = not pairable if there is a displacement and immediate