Обновить

Кен Шериф выпустил целый пост про незадокументированные инструкции 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. Копирования и нарушения патентов доказать получилось.

Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C. Одно окно, одна страница, один процесс — около 170 000 строк оригинального кода на C. В проекте не используется сторонний движок: ни Gecko, ни WebKit, ни Blink. Это свободное программное обеспечение, распространяемое на условиях лицензии GNU General Public License v3.0.

Представлен открытый минималистичный браузер Northstar, написанный полностью с нуля на языке C

Публикации