ХАНДЫФАР
Сложение
_______________ADD AL, imm8 - Добавление imm8 к AL.
_______________ADD AX, imm16 - Добавление imm16 к AX.
_______________ADD reg/mem8, imm8 - Добавление imm8 к reg/mem8.
_______________ADD reg/mem16, imm16 - Добавление imm16 к reg/mem16.
_______________ADD reg/mem16, imm8 - Добавление знаково-расширенного imm8 к reg/mem16.
_______________ADD reg/mem8, reg8 - Добавление reg8 к reg/mem8.
_______________ADD reg/mem16, reg16 - Добавление reg16 к reg/mem16.
_______________ADD reg8, reg/mem8 - Добавление reg/mem8 к reg8.
_______________ADD reg16, reg/mem16 - Добавление reg/mem16 к reg16.
Добавляет целевой операнд (первый операнд) и исходный операнд (второй операнд), а затем сохраняет результат в целевом операнде. Целевым операндом может быть регистр или ячейка памяти; исходным операндом может быть непосредственное значение, регистр или ячейка памяти. (Однако два операнда памяти не могут быть использованы в одной инструкции.) Когда в качестве операнда используется непосредственное значение, оно расширяется по знаку до длины формата целевого операнда.
Инструкция add выполняет сложение целых чисел. Она вычисляет результат как для целочисленных операндов со знаком, так и без знака и устанавливает флаги OF и CF для указания переноса (переполнения) в результате со знаком или без знака соответственно. Флаг SF указывает на знак результата со знаком.
Эта инструкция может использоваться с префиксом lock, чтобы разрешить выполнение инструкции атомарно.
Флаги OF, SF, ZF, AF, CF и PF устанавливаются в соответствии с результатом.
Предположим, что регистр al содержит 1810 (001216), регистр bl содержит 410 (000416). После выполнения add al, bl регистр al будет содержать 2210 (001616).