Inline Assembler

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Wikitext.svg
Esta página ou seção precisa ser wikificada (desde agosto de 2015).
Por favor ajude a formatar esta página de acordo com as diretrizes estabelecidas.
Question book.svg
Esta página ou secção não cita fontes confiáveis e independentes, o que compromete sua credibilidade (desde agosto de 2015). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)

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.