TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: bones18 en 27 de Octubre de 2006, 05:55:01

Título: Como puedo insertar un trozo de C en un codigo asm?
Publicado por: bones18 en 27 de Octubre de 2006, 05:55:01
Wuenas...

utilizo mplab para programar en assembler pero necesito una parte del codigo se me complica mucho y quisiera hacerla en C.

Como puedo insertar un trozo de codigo?

gracias!
Título: Re: Como puedo insertar un trozo de C en un codigo asm?
Publicado por: Nocturno en 28 de Octubre de 2006, 03:02:37
Creo que lo fácil es insertar ASM en C; para el caso contrario que solicitas, sólo se me ocurre compilar el programa en C, extraer el ASM desde el HEX y pegarlo en tu programa ASM.
Pero no sé si funcionará bien, el programa compilado mete muchas definiciones y configuraciones que quizás tu programa ASM no tenga.
Título: Re: Como puedo insertar un trozo de C en un codigo asm?
Publicado por: Chaly29 en 28 de Octubre de 2006, 11:04:04
Hola Nocturno, la que comentas es la única forma que conosco de introducir C en .asm (en realidad es introduce .asm en .asm), pero no es algo para nada sencillo tal como lo dices ya que hay que tener en cuenta un montón de variables que en el C por defecto no se definen.

Un saludo.

Atte. CARLOS.
Título: Re: Como puedo insertar un trozo de C en un codigo asm?
Publicado por: manuelroin24 en 28 de Octubre de 2006, 13:46:05
Yo creo q la solucion seria que te mandes a programar todo en C y si por el contrario quieres insertar Assembler ahi si se puede , bueno es solo una opinion no te compliques tanto , saludos
Título: Re: Como puedo insertar un trozo de C en un codigo asm?
Publicado por: maunix en 30 de Octubre de 2006, 09:17:23
Wuenas...

utilizo mplab para programar en assembler pero necesito una parte del codigo se me complica mucho y quisiera hacerla en C.

Como puedo insertar un trozo de codigo?

gracias!

¿Qué compilador de C estás usando?

Si usas el C18, en el C18 está bien explicado en el manual cómo hacer esto, pero como te han dicho, el proyecto SI o SI es en C al cual le agregas tus rutinas en ASM.

Hay que pensar que el proceso de compilación no es solo traducir ciertas funciones en ASM, también tiene en cuenta el uso del stack, el paso de parámetros, la devolución del resultado, y muchas otras cuestiones que influirán.  Es por ello que no hay (al menos no conozco) un compilador que solo te deje compilar un trozo de código para agregar a un ASM.

De hecho, si existiera, debieras configurar muchisimas cosas que tengan que ver con los parámetros, devolución de resultado, etc.

Saludos