Intel 8086 — первый 16-битный микропроцессор компании Intel. Разрабатывался с весны 1976 года и выпущен 8 июня 1978 года. Реализованная в процессоре архитектура набора команд стала основой широко известной архитектуры x86. Процессоры этой архитектуры стали наиболее успешной линией процессоров Intel. Современные процессоры этой архитектуры сохраняют возможность выполнять все команды этого набора.
Язы́к ассе́мблера — представление команд процессора в виде, доступном для чтения человеком. Язык ассемблера считается языком программирования низкого уровня в противовес высокоуровневым языкам, не привязанным к конкретной реализации вычислительной системы. Программы, написанные на языке ассемблера, однозначным образом переводятся в инструкции конкретного процессора и в большинстве случаев не могут быть перенесены без значительных изменений для запуска на машине с другой системой команд. Ассемблером также называется программа-компилятор, преобразующая код на языке ассемблера в машинный код. Программа, выполняющая обратную задачу, называется дизассемблером.
x86 — архитектура процессора и одноимённый набор команд, впервые реализованные в процессорах компании Intel.
Intel 80386 — 32-битный микропроцессор с архитектурой x86 третьего поколения фирмы Intel, выпущенный 17 октября 1985 года. Данный процессор был первым 32-разрядным процессором для PC. Применялся, преимущественно, в настольных и портативных ПК. В настоящее время в основном используется в контроллерах.
AT&T-синтаксис — один из форматов записи мнемоники инструкций процессора.
Intel 80286 — 16-битный x86-совместимый микропроцессор второго поколения компании Intel, выпущенный 1 февраля 1982 года. Представляет собой усовершенствованный вариант процессора Intel 8086 и обладает в 3—6 раз большей производительностью. Процессор применялся в основном в IBM PC-совместимых персональных компьютерах.
CPUID — ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип процессора и его возможности.
NASM — свободный ассемблер для архитектуры Intel x86. Используется для написания 16-, 32- и 64-разрядных программ.
Защищённый режим — режим работы x86-совместимых процессоров. Частично был реализован уже в процессоре 80286, но там существенно отличался способ работы с памятью, так как процессоры ещё были 16-битными и не была реализована страничная организация памяти. Первая 32-битная реализация защищённого режима — процессор Intel 80386. Применяется в совместимых процессорах других производителей. Данный режим используется в современных многозадачных операционных системах, Windows, Linux, macOS.
Дескрипторные таблицы — служебные структуры данных, содержащие дескрипторы сегментов.
В информатике NOP или NOOP инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.
Регистр флагов или слово состояния процессора (ССП) — специализированный регистр, отражающий текущее состояние процессора.
Таблица векторов прерываний используется в архитектуре x86 и ряде других архитектур и служит для определения корректного ответа на прерывания и исключения.
LDTR — специальный 16-битный регистр, содержащий селектор сегмента LDT. Расположение в памяти и размер определяются соответствующими полями дескриптора.
Дескриптор сегмента — служебная структура в памяти, которая определяет сегмент. Длина дескриптора равна 8 байт.
Сегментная защита памяти — один из вариантов реализации защиты памяти в процессорах архитектуры x86. Может применяться в защищенном режиме процессоров начиная с Intel 80286 и совместимых.
Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес, который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.
Дескриптор шлюза — служебная структура данных, служащая для различных переходов. Используется только в защищённом режиме. В реальном режиме некоторым аналогом может служить дальний адрес. Длина дескриптора стандартна и равна восьми байтам.
TSS — специальная структура в архитектуре x86, содержащая информацию о задаче (процессе). Может использоваться ОС для диспетчеризации задач, но обычно применяется только для переключения на стек ядра при обработке прерываний и исключений. В TSS содержится информация о:
- Состоянии регистров процессора;
- Разрешениях на использование портов ввода-вывода;
- Указатели на стек внутреннего уровня;
- Ссылка на предыдущую запись TSS.
Защита памяти — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надёжность работы как программ, так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты памяти и технологии ASLR или NX-бит.