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?

Foi útil?

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...
...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top