Em programação de computadores, um inline assembler é um recurso de alguns compiladores que permitem código-fonte de baixo nível escritos em assembly serem embutidos em linguagens de alto nível como C ou Ada. Esta inclusão de código-fonte de baixo nível é usualmente feita por causa de uma das três razões:

  • Otimização: quando trechos de códigos-fonte são escritos em linguagem assembly para otimização, a maioria das partes com performance crítica de um algoritmo são substituidas por códigos-fonte assembly escritos pelo desenvolvedor.
  • Acesso a instruções específicas de determinado processador: alguns processadores disponibilizam instruções especiais, como "Compare and Swap" e "Test and Set" — instruções que podem ser usadas para construir semáforos ou outros mecanismo de sincronização e bloqueio primitivos. Atualmente os processadores modernos têm estas ou instruções similares, pois, elas são necessárias para implementar multi-tarefa (multitasking). Para dar alguns exemplos, instruções especializadas são encontradas nos conjuntos de instruções SPARC VIS, Intel MMX e SSE, e Motorola Altivec.
  • Chamadas de sistema: linguagens de alto nível raramente tem uma direct facility para fazer chamadas de sistema, então códigos-fonte em assembly são usados.

📚 Artikel Terkait di Wikipedia

D (linguagem de programação)

C); Arranjos dinâmicos e associativos; Presença de coletor de lixo; inline Assembler. Reduzir os custos de desenvolvimento de software em ao menos 10% com

Turbo C

Turbo C já na versão 4). Ele rodava em 384KB de memória. Permitia código inline assembly com total acesso aos nomes e estruturas do C, suportando todos

MATH-MATIC

personalizada. Os programas em MATH-MATIC poderiam incluir seções de inline assembler de código ARITH-MATIC e código de máquina do UNIVAC. O UNIVAC I tinha

Harbour (compilador)

DATA Nome INIT "" METHOD New() CONSTRUCTOR ACCESS Olhos INLINE ::pvtOlhos ASSIGN Olhos( x ) INLINE IIF( ValType( x ) == 'C' .AND. x IN "Azul,Castanho,Verde"