Como incluir o código assembly no meu código C em Turbo C?
-
04-07-2019 - |
Pergunta
Como incluir quaisquer linhas de código de montagem em meu programa C?
Em turbo c existe a possibilidade de adicionar um arquivo de código assembly (ASM) para um projeto de alguns arquivos .c?
Solução
Uma maneira de incluir assembly de código é adicionar uma função de invólucro e escrever o código de montagem no bloco asm, como mostrado no exemplo abaixo:
void wrapper_function()
{
asm
{
/* your assembly code */
}
}
Outras dicas
Você pode usar seu makefile para definir ações para diferentes tipos de destino. Para os tipos de C (por exemplo bla.c) tem o compilador C invocado. Para arquivos ASM, invocar o assembler. A saída a partir de qualquer deve ser um arquivo de objecto (por exemplo, .o), que podem todos ser compilado em conjunto pelo ligador.
Se você tem um pouco de montagem, vá em frente um inline. Caso contrário, eu recomendo módulos separados e decomposição funcional como a melhor maneira de gerenciar tudo. Especialmente se você precisa para suportar diferentes alvos (ou seja, desenvolvimento de plataforma cruzada).
Você também pode ligar nos arquivos objeto. Mas inline assembler é muito mais fácil de manter.
void func()
{
asm://assembly statements...
asm://assembly statements...
...
}