3.4.2 Другие полезные команды

xadd назначение, источник – обмен местами и сложение.

Команда позволяет выполнить последовательно два действия:

обменять значения назначение и источник;

поместить на место операнда назначение сумму:
назначение = назначение + источник.

neg операнд – отрицание с дополнением до двух.

Команда выполняет инвертирование значения операнд. Физически команда выполняет одно действие:

операнд = 0 – операнд, то есть вычитает операнд из нуля.

Команду neg операнд можно применять:

для смены знака;

для выполнения вычитания из константы.

Дело в том, что команды sub и sbb не позволяют вычесть что-либо из константы, так как константа не может служить операндом-приемником в этих операциях. Поэтому данную операцию можно выполнить с помощью двух команд:

neg ax ;смена знака (ax)

add ax,340 ;

фактически вычитание: (ax)=340-(ax)