Кен Шериф выпустил целый пост про незадокументированные инструкции Intel 8086. Это только современные процессоры выдают исключение в ответ на неправильный код инструкции. В ранних чипах просто не было обнаружения некорректных инструкций.
Один интересный факт был настолько хорош, что Кен повторил его у себя в Twitter.
Первый байт инструкций имеет значение от 00
до FF
, то есть всего их 256. Так выглядит таблица всех возможных инструкций.

Корректные инструкции не выделены, они белые; цветные квадратики — это «дыры» незадокументированных инструкций. Одна из них расположена в квадратике D6
— это SALC
, Set AL to Carry.
Выполнение SALC
заменяет последовательность из трёх других микроинструкций. Сама по себе она не критична, процессор может обойтись без неё.
Хотя SALC
существует на всех процессорах x86, Intel вслух про неё не говорила до 2017 года. Это ловушка копирайта: если в копии 8086 инструкция SALC
присутствовала, то это было явное доказательство копирования микрокода и нарушения патентов Intel.
В 1984 году NEC представила V20 и V30, собственные улучшенные версии 8086. Intel подала в суд на NEC. Но в 1989 году судья встал на сторону NEC.
Причин у решения много, рассмотрены были многие другие детали, к примеру, соглашения лицензирования патентов между Intel и NEC 1976 года. Однако одна из причин сводится (стр. 49) к отсутствию инструкции SALC
в продуктах NEC. Копирования и нарушения патентов доказать получилось.