В процессоре 80286 функция блокирования шины реализована иначе, чем в процессорах 386 DX и i486. Этот факт может быть, а может не быть явным для программ процессора 8086, в зависимости от того, как виртуальный монитор процессора 8086 обрабатывает префикс LOCK. Команды с префиксом LOCK чувствительны к IOPL; разработчики программного обеспечения могут эмулировать эти функции. Однако, поскольку программы процессора 8086 позволяют непосредственно выполнять LOCK, то программы, использующие специфические для процессора 8086 формы блокирования памяти, на процессоре i486 могут выполнятся неправильно.
Префикс LOCK и соответствующий ему сигнал шины следует использовать только для предотвращения прерываний операций пересылки данных другими хозяевами шины. Префикс LOCK можно использовать только с нижеперечисленными командами процессора i486, когда они модифицируют память. Исключение неопределенного кода операции может быть результатом использования префикса LOCK перед любыми другими командами или с командами, перечисляемыми ниже, когда они не выполняют операцию записи, изменяющую память, (т.е. операндом назначения является регистр ).
- Команды проверки и изменения битов BTS, BTR и BTC.
- Команды обмена XCHG, XADD, и CMPXCHG (префикс LOCK не нужен для команды XCHG ).
- Oднооперандные арифметические и логические команды INC, DEC, NOT, NEG.
- Двухоперандные арифметические и логические команды ADD, ADC, SUB, SBB, AND, OR, XOR.
Команды блокирования гарантируют блокирование только области памяти, определенной в операнде назначения, но может блокироваться и большая область памяти. Например, типичные конфигурации процессоров 8086 и 80286 блокируют все физическое пространство памяти.
В отличие от процессоров 8086 и 80286 и аналогично процессорам 386 процессор i486 отвечает на запрос управления шиной от других возможных ее владельцев, таких как контроллеры DMA, между пересылками частей невыровненного операнда, например двух слов, образующих двойное слово.