Язы́к ассе́мблера — представление команд процессора в виде, доступном для чтения человеком. Язык ассемблера считается языком программирования низкого уровня в противовес высокоуровневым языкам, не привязанным к конкретной реализации вычислительной системы. Программы, написанные на языке ассемблера, однозначным образом переводятся в инструкции конкретного процессора и в большинстве случаев не могут быть перенесены без значительных изменений для запуска на машине с другой системой команд. Ассемблером также называется программа-компилятор, преобразующая код на языке ассемблера в машинный код. Программа, выполняющая обратную задачу, называется дизассемблером.
Intel 80386 — 32-битный микропроцессор с архитектурой x86 третьего поколения фирмы Intel, выпущенный 17 октября 1985 года. Данный процессор был первым 32-разрядным процессором для PC. Применялся, преимущественно, в настольных и портативных ПК. В настоящее время в основном используется в контроллерах.
Полиморфизм компьютерного вируса — специальная техника, используемая авторами вредоносного программного обеспечения для снижения уровня обнаружения вредоносной программы классическими антивирусными продуктами.
AT&T-синтаксис — один из форматов записи мнемоники инструкций процессора.
Маши́нный код, маши́нный язы́к — система команд конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.
Бой в памяти — разновидность компьютерной игры «Дарвин», разработанная Александром К. Дьюдни. Помогал разрабатывать игру Дэвид Джонс, студент кафедры информатики университета Западной Онтарио, где преподавал Дьюдни.
«Ха́керы» — американский фильм Йена Софтли 1995 года. Съёмки фильма начались в ноябре 1994 года.
fasm — свободно распространяемый многопроходной ассемблер, написанный Томашем Грыштаром. fasm самодостаточен, изначально компилировался TASM-ом и стал способен собираться из собственных исходных кодов начиная с 4 мая 1999 в версии 0.90. fasm обладает небольшими размерами и очень высокой скоростью компиляции, имеет богатый и ёмкий макро-синтаксис, позволяющий автоматизировать множество рутинных задач. Поддерживаются как объектные форматы, так и форматы исполняемых файлов. Это позволяет в большинстве случаев обойтись без компоновщика. В остальных случаях нужно использовать сторонние компоновщики, поскольку таковой вместе с fasm не распространяется.
CPUID — ассемблерная мнемоника инструкции процессоров x86, используется для получения информации о процессоре. Используя её, программа может определить тип процессора и его возможности.
Объектный пул — порождающий шаблон проектирования, набор инициализированных и готовых к использованию объектов. Когда системе требуется объект, он не создаётся, а берётся из пула. Когда объект больше не нужен, он не уничтожается, а возвращается в пул.
NASM — свободный ассемблер для архитектуры Intel x86. Используется для написания 16-, 32- и 64-разрядных программ.
Регистр флагов или слово состояния процессора (ССП) — специализированный регистр, отражающий текущее состояние процессора.
Сравнение с обменом — атомарная инструкция, сравнивающая значение в памяти с одним из аргументов, и в случае успеха записывающая второй аргумент в память. Поддерживается в семействах процессоров x86, Itanium, Sparc и других.
EICAR — стандартный файл, применяемый для проверки, работает ли антивирус. По сути вирусом не является; будучи запущенным как COM-файл DOS, всего лишь выводит текстовое сообщение и возвращает управление DOS. Программа работает в средах, поддерживающих выполнение 16-битного ПО для DOS, таких как MS-DOS, OS/2, Windows 9x и 32-битные Windows NT. Под 64-битными версиями Windows файл не запускается.
GNU Assembler или GAS — ассемблер проекта GNU; используется компилятором GCC. Входит в пакет GNU Binutils. Кроссплатформенная программа, запускается и компилирует код для многочисленных процессорных архитектур. Распространяется на условиях свободной лицензии GPL 3.
Перехват — технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы.
Ассемблерная вставка — в программировании возможность компилятора встраивать низкоуровневый код, написанный на ассемблере, в программу, написанную на языке высокого уровня, например, Си или Ada. Использование ассемблерных вставок может преследовать следующие цели:
- Оптимизация: Вручную пишется ассемблерный код, реализующий наиболее критичные в отношении производительности части алгоритма. Это позволяет программисту не ограничиваться конструкциями компилятора.
- Доступ к специфичным инструкциям процессора: Некоторые процессоры поддерживают специальные инструкции, такие как сравнение с обменом и test-and-set — инструкции, которые могут быть использованы для реализации семафоров или других примитивов синхронизации и блокировок. Практически все современные процессоры имеют такие или сходные инструкции, так как они необходимы для реализации многозадачности. Специальные инструкции можно найти в системах команд следующих процессоров: SPARC VIS, Intel MMX и SSE, Motorola AltiVec.
- Системные вызовы: Языки программирования высокого уровня редко предоставляют прямую возможность делать системные вызовы, для этих целей используется ассемблерный код.
objdump (является частью GNU Binutils) — компьютерная программа для отображения различной информации объектных файлов. Например objdump может быть использован для разбора заголовков или дизассемблирования исполняемого файла.
Spectre — группа аппаратных уязвимостей, ошибка в большинстве современных процессоров, имеющих спекулятивное выполнение команд и развитое предсказание ветвлений, позволяющих проводить чтение данных через сторонний канал в виде общей иерархии кэш-памяти. Затрагивает большинство современных микропроцессоров, в частности, архитектур х86/x86_64 и некоторые процессорные ядра ARM.
Вирусоподобные частицы — молекуляные комплексы, похожие на вирусы, но не способные к инфицированию, поскольку не содержат вирусного генома. VLP могут формироваться естественным путём или синтезироваться посредством индивидуальной экспрессии вирусных структурных белков, которые в ходе самосборки образуют вирусоподобную структуру. Комбинации структурных белков капсида из разных вирусов можно использовать для создания рекомбинантных VLP.