Inline Assembler
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (Agosto de 2015) |
Este artigo não cita fontes confiáveis. (Agosto de 2015) |
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.