Команды ADD и ADC служат для реализации операций сложения чисел в различных вариациях. В качестве операндов для команд сложения могут выступать как регистры, так и ячейки памяти и конкретные значения. Команда ADD производит простое суммирование операндов. Команда ADC производит суммирование операндов и значения флага CF, что позволяет производить суммирование больших чисел, которые не помещающихся в указанные размеры операндов.

Команда ADD
Синтаксис: ADD op1,op2
Операнды: op1 - r/m8, r/m16, r/m32
op2 - r/m8, r/m16, r/m32, i8, i16, i32
Назначение: Сложение
Процессор: 8086+
Флаги: Флаги OF, SF, ZF, AF, CF и PF устанавливаются в соответствии с результатом.
Комментарий: Команда ADD выполняет целочисленное сложение двух операндов. Результат сложения помещается в первый операнд и выполняется соответствующая установка флагов.
Ограничения: Не допускается использовать ячейки памяти в качестве обоих операндов одновременно.
Примеры:
mov	ax,0005h
add	ax,0006h	;AX=000Bh
Команда ADC
Синтаксис: ADC op1,op2
Операнды: op1 - r/m8, r/m16, r/m32
op2 - r/m8, r/m16, r/m32, i8, i16, i32
Назначение: Сложение с флагом переноса
Процессор: 8086+
Флаги: Флаги OF, SF, ZF, AF, CF и PF устанавливаются в соответствии с результатом.
Комментарий: Команда ADD выполняет целочисленное сложение двух операндов и флага переноса CF. Результат сложения помещается в первый операнд и выполняется соответствующая установка флагов. Команда ADC обычно выполняется как часть операции сложения, работающей с несколькими байтами или словами.
Ограничения: Не допускается использовать ячейки памяти в качестве обоих операндов одновременно.
Примеры:
mov	ax,CFA3h
sub	dx,dx
add	ax,5426h	;DX=0000h, AX=23C9h, CF=1
adc	dx,0		;DX=0001h, AX=23C9h