SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: jaumegs en Domingo 4 de Diciembre de 2005, 13:04

Título: Asm Y C
Publicado por: jaumegs en Domingo 4 de Diciembre de 2005, 13:04
Como puedo introducir código en ensamblador dentro de un programa en C?

Sabeis de alguna web que lo explique o ponga ejemplos(en español)?

SALUDOS ;)
Título: Re: Asm Y C
Publicado por: carmamezo en Domingo 4 de Diciembre de 2005, 13:29
Todos los compiladores de C admiten sentencias en ensamblador (o eso creo):

En el Visual studio de Microsoft:
agregar lo siguiente:
__asm "instrucción en ensamblador"

en caso de querer insertar varias instrucciones seguidas:
__asm{
"instrucciones en asm"
}

Se pueden usar todas las variables creadas durante el código, ahora bien, no soporta la mayoría de las directivas en macroensamblador.

Si usas otro compilador, investiga un poco, puede que se parezca a lo anterior, en forma de asm("instrucciones en asm") o algo parecido...
Un saludo.
Título: Re: Asm Y C
Publicado por: patitofeo en Lunes 5 de Diciembre de 2005, 19:03
Citar
   Todos los compiladores de C admiten sentencias en ensamblador (o eso creo)

Los compiladores de C normalmente no incluyen la posibilidad de añadir codigo de ASM entre las lineas de codigo de C. De hecho, el visual Studio de Microsoft no es un compilador de C, sino de C++ (incluso algunos diríamos que nisiquiera de C++).

El Ansi C no contempla esta posibilidad.

Lo que tendrias que hacer es ensamblar por separado tu codigo en ASM para conseguir el fichero Objeto. (*.o ó *.obj) y despues importar las funciones que hayas creado desde el código C.

Finalmente deberás lincar todos los objetos (tanto los de c como los de Asm) para crear tu ejecutable.

No sé si es por esto por lo que preguntabas, pero espero haberte servido de ayuda.

Saludos
Título: Re: Asm Y C
Publicado por: bob esponja en Lunes 5 de Diciembre de 2005, 19:37
en que compilador?