Skip to content

Mezclar ficheros asm y C en GCC 6.x

Manuel Montoto edited this page Aug 8, 2018 · 4 revisions

Podemos ensamblar ficheros con el vasm incluido si especificamos el formato de salida como aout:

vasmm68k_mot.exe -m68040 -Faout prueba.asm -o pruebaasm.out

De esta manera los ficheros resultantes se pueden linkar directamente sin necesidad de conversores como el hunk2aout:

m68k-amigaos-gcc.exe -m68040 -O3 -fbaserel32 -fomit-frame-pointer prueba.c pruebaasm.out -o prueba.exe

Para llamar una rutina asm prueba_asm desde C/C++ tenemos que declarar la función y los registros en los que meter los parámetros así:

  extern void c2p1x1_8_c5_bm(
                             register char          *chunkybuffer asm("a0"),
                             register struct BitMap *bitmap       asm("a1"),
                             register int            chunkyxsize  asm("d0"),
                             register int            chunkyysize  asm("d1"),
                             register int            xoffset      asm("d2"),
                             register int            yoffset      asm("d3")
                             );
                             
#endif```
Clone this wiki locally