Autor Tema: Como puedo insertar un trozo de C en un codigo asm?  (Leído 2090 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado bones18

  • PIC12
  • **
  • Mensajes: 54
Como puedo insertar un trozo de C en un codigo asm?
« 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!

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Como puedo insertar un trozo de C en un codigo asm?
« Respuesta #1 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.

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Como puedo insertar un trozo de C en un codigo asm?
« Respuesta #2 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.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Como puedo insertar un trozo de C en un codigo asm?
« Respuesta #3 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
El conocimiento se consigue a base de esfuerzo...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Como puedo insertar un trozo de C en un codigo asm?
« Respuesta #4 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
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)