TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado 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!!
-
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:
-
ok gracias por contestar, me intentare aplicar mas en C aver si m entra!!! :-/
-
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
-
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 !
-
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.