TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: blaguar en 02 de Octubre de 2008, 19:18:29

Título: Se puede?
Publicado por: blaguar en 02 de Octubre de 2008, 19:18:29
Hola que tal, soy novato en esto de la programacion de pic y quisiera preguntarles una cosilla mmm
Se que se puede intercalar codigo asm es un programa escrito en C pero, ¿se puede meter o llamar a una libreria escrita es C para uso en ASM?

Pregunto esto pq en muchos casos encontrar un driver de por ejemplo una pantalla LCD es mas facil hallarla en C que no es ASM.
Si no fuese asi creo que esto seria un condicionante a atreverme a programar en C y no en ASM, aun que pese a que suene raro, puedo entender mejor el ASM que no el C supongo que es pq no di con el libro adecuado " Programacion de pic en C para tontos " 

Un saludo y muchas gracias!!
Título: Re: Se puede?
Publicado por: Leon Pic en 02 de Octubre de 2008, 19:46:33
Hola blaguar. No se puede.

Es por eso que el lenguaje C, se a vuelto muy popular. Lo que tendrás que hacer, son las rutinas para cada cosa a controlar. O aprender el lenguaje C  :mrgreen:
Título: Re: Se puede?
Publicado por: blaguar en 02 de Octubre de 2008, 19:48:15
ok gracias por contestar, me intentare aplicar mas en C aver si m entra!!!  :-/
Título: Re: Se puede?
Publicado por: MLO__ en 02 de Octubre de 2008, 20:47:04
Hola.

No se puede linkear un programa completo, pero si se puede usar funciones compiladas en C para usarlas en ASM, se usan Unidades Multiples de Compilacion.

saludos
Título: Re: Se puede?
Publicado por: RICHI777 en 02 de Octubre de 2008, 21:23:04
Hola, en teoria poder se pude, aunque no es lo mas recomendable. Primero deberias compilar unicamente los modulos en C y generar los respectivos obj, para llamar a las funciones desde ASM debes aprender el convenio de llamadas, como se pasan los parametros en el stack, quien limpia el mismo y por donde se produce el retorno de la misma. Una vez realizado esto deberias linkear a mano definiendo los segmentos respectivos a cada area del programa ( BSS, DATA, CONST, ROM, etc, etc ).
Pero te comente antes, si recien empezas hacelo con C que despues de start-up es tan potente como ASM.

Saludos !
Título: Re: Se puede?
Publicado por: Leon Pic en 05 de Octubre de 2008, 22:05:50
Por lo que yo entendí, lo que quiere hacer, es insertar en el código asm, una parte del lenguaje C, como se hace en C cuando se inserta códigos de asm   :shock: :D

Pero la opción que te dan, es totalemente válido. Lo que enrealidad se hace, es traducir el lenguaje C a asm, llevándolo primero a compilarlo en hex, para luego utilizar un programita que te arma el asm a partir del archivo hex.