Domanda

Come includere eventuali righe di codice assembly nel mio programma C?

In turbo c c'è la possibilità di aggiungere un file di codice assembly (.asm) a un progetto con pochi file .c?

È stato utile?

Soluzione

Un modo per includere il codice assembly è aggiungere una funzione wrapper e scrivere il codice assembly nel blocco asm, come mostrato nell'esempio seguente:

void wrapper_function()
{
    asm
    {
        /* your assembly code */
    }
}

Altri suggerimenti

Puoi usare il tuo makefile per definire azioni per diversi tipi di target. Per i tipi C (ad es. Foo.c) fare invocare il compilatore C. Per i file ASM, invocare l'assemblatore. L'output di entrambi dovrebbe essere un file oggetto (ad esempio .o) che può essere compilato insieme dal linker.

Se hai un po 'di assemblaggio, vai avanti in linea. Altrimenti, consiglio moduli separati e decomposizione funzionale come il modo migliore per gestire tutto. Soprattutto se è necessario supportare obiettivi diversi (ad es. Sviluppo multipiattaforma).

Puoi anche collegare i file oggetto. Ma l'assemblatore in linea è molto più facile da mantenere.

void func()
{
asm://assembly statements...
asm://assembly statements...
...
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top