Команда LOCK на самом деле не команда, а префикс к определенным командам. Служит для блокировки шины данных на время выполнения последующей команды.

 

Префикс LOCK
Синтаксис: LOCK
Операнды: Нет
Назначение: Блокировка шины данных
Процессор: 8086+
Флаги: Не изменяются
Комментарий: Префикс LOCK блокирует шину данных на время, требуемое для выполнения команды, идущей после этого префикса. В случае многопроцессорной среды эта блокировка может обеспечить исключительное использование процессором любой разделяемой области памяти на время выполнения команды.
Ограничения: Префикс LOCK работает только со следующими командами: ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, XADD, XCHG. При использовании префикса LOCK с другими командами генерируется исключение неопределенного кода операции.
Примеры:
lock
add	ax,[bx]