Ассемблерная вставка

В программировании, ассемблерной вставкой называют возможность компилятора встраивать низкоуровневый код, написанный на ассемблере, в программу, написанную на языке высокого уровня, например, Си или Ada. Использование ассемблерных вставок может преследовать следующие цели:

  • Оптимизация: С этой целью, вручную пишется ассемблерный код, реализующий наиболее критичные в отношении производительности части алгоритма. Это позволяет программисту использовать в полной мере свою изобретательность, не ограничиваться конструкциями компилятора.
  • Доступ к специфичным инструкциям процессора: Некоторые процессоры поддерживают специальные инструкции, такие как сравнение с обменом и test-and-set — инструкции, которые могут быть использованы для реализации семафоров или других примитивов синхронизации и блокировок. Практически все современные процессоры имеют такие или сходные инструкции, так как они необходимы для реализации многозадачности. Специальные инструкции можно найти в системах команд следующих процессоров: SPARC VIS, Intel MMX и SSE, Motorola AltiVec.
  • Системные вызовы: Языки программирования высокого уровня редко предоставляют прямую возможность делать системные вызовы, для этих целей используется ассемблерный код.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я