Autor Tema: Varios ficheros *.asm en un mismo proyecto  (Leído 4803 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Solink

  • PIC10
  • *
  • Mensajes: 7
Varios ficheros *.asm en un mismo proyecto
« en: 24 de Junio de 2008, 19:01:32 »
Hola,
Estoy programando un pic 18f452 con el mplab ide y tengo algún problemilla:
Tengo un fichero *.asm que se me está haciendo enorme y había pensando en dividirlo en otros ficheros *.asm, así podría tener las rutinas asociadas a una tarea en un fichero, las rutinas de gestión de teclado a otro.... etc.
Lo que no sé es cómo tengo que hacerlo. He probado a cortar y pegar en otro fichero unas rutinas y en el principal a poner la línea #include <fichero.asm> y empiezo a obtener errores que no sé como resolver:
Labels must be defined in a code or data section when making an object file
Executable code and data must be defined in an appropriate section

¿Alguien me puede guiar?

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #1 en: 24 de Junio de 2008, 19:30:06 »
Tal vez tienes variables declaradas en el programa principal que estás usando en los subprogramas...
Tienes que definir en cada subprograma las variables implicadas...
Yo no trabajo mucho en asm desde que me pasé al C, pero creo que ese podría ser el problema.
Intenta eso a ver...
Si buscas en el resto del foro, hay mucha gente que trabaja de esa forma en asm. Fíjate en algun código que hayan posteado y ves cómo lo hacen.
Ok saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #2 en: 24 de Junio de 2008, 20:11:14 »
Bienvenido Solink!!!
Mi forma de hacerlo es:_ dividir el programa y agrupar las subrutinas de acuerdo a las funciones que realizan en ficheros ".inc", y luego en el programa general ( el .asm) incluirlos de la forma: INCLUDE NOMBREFICHERO.INC
cualquier inquietud estamos aqui...

Sal U2

Desconectado Solink

  • PIC10
  • *
  • Mensajes: 7
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #3 en: 25 de Junio de 2008, 07:04:13 »
Bienvenido Solink!!!
Mi forma de hacerlo es:_ dividir el programa y agrupar las subrutinas de acuerdo a las funciones que realizan en ficheros ".inc", y luego en el programa general ( el .asm) incluirlos de la forma: INCLUDE NOMBREFICHERO.INC
cualquier inquietud estamos aqui...

Sal U2


Gracias a los dos por contestar!
Me interesa tu forma de dividir el programa y supongo que la mejor forma de verlo sería con un ejemplo. Te importaría pasarme uno?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #4 en: 26 de Junio de 2008, 15:49:18 »
Solinc lo que estás buscando se llama "relocatable coding" o codificar en forma reubicable.
Eso está explicado en el manual del MPASM de microchip, no es la cosa más simple y además necesitas trabajar con el linker.
De esa forma uno crea archivos .asm (tantos como quieras o necesites) y los agregas al proyecto y luego al construirlo con el y con ayuda del linker file se arma tu archivo .hex

Si estás dando tus primeros pasos te sugiero que hagas lo que te dice picNIC de usar archivos .inc , si aún quieres aprender el modo relocatable te sugiero leas el manual y luego vengas con dudas más específicas  :) :)

En el manual hay ejemplos de lo que estás pidiendo ;)

- 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)

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #5 en: 26 de Junio de 2008, 20:18:46 »
UPA!!! eso no lo conocia  :shock: :shock: :shock:,como tantas cosas.. :mrgreen:
Cuestion de seguir leyendo...

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #6 en: 30 de Junio de 2008, 09:03:01 »
UPA!!! eso no lo conocia  :shock: :shock: :shock:,como tantas cosas.. :mrgreen:
Cuestion de seguir leyendo...

Lo enuncié nomás al tema pero es un tema extenso, me llevó a mi unos meses adaptar mi forma de programar al modo relocatable. 
Es una de las cosas que siempre digo que haré algún instructivo para que los que vienen detrás no deban renegar o lidiar como lo hice yo pero... si solo tuviera más tiempo...  :? :?

- 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)

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #7 en: 30 de Junio de 2008, 22:54:49 »


Lo enuncié nomás al tema pero es un tema extenso, me llevó a mi unos meses adaptar mi forma de programar al modo relocatable. 
Es una de las cosas que siempre digo que haré algún instructivo para que los que vienen detrás no deban renegar o lidiar como lo hice yo pero... si solo tuviera más tiempo...  :? :?
yo creo que la forma en que mejor se aprende es cuando uno invierte tiempo en solucionar uno mismo los obstaculos que se le van presentando. Ahi ,realmente, es cuando se graba en la mente lo que se esta estudiando con todas sus variantes.Pero ,bueno, a cambio hay que dejar mucho tiempo que a veces no se tiene....
SAl u 2

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #8 en: 01 de Julio de 2008, 08:35:01 »


Lo enuncié nomás al tema pero es un tema extenso, me llevó a mi unos meses adaptar mi forma de programar al modo relocatable. 
Es una de las cosas que siempre digo que haré algún instructivo para que los que vienen detrás no deban renegar o lidiar como lo hice yo pero... si solo tuviera más tiempo...  :? :?
yo creo que la forma en que mejor se aprende es cuando uno invierte tiempo en solucionar uno mismo los obstaculos que se le van presentando. Ahi ,realmente, es cuando se graba en la mente lo que se esta estudiando con todas sus variantes.Pero ,bueno, a cambio hay que dejar mucho tiempo que a veces no se tiene....
SAl u 2

Sí, es la mejor forma experimentar uno mismo pero también es cierto que si otro te allana el terreno te evitas tener que lidiar con toda la complejidad de frente.  Por eso es importante tener un mentor o guía... cosa que no es fácil de conseguir porque esto de los sistemas embebidos es un área muy especializada y con poca gente 'grande' que lo pueda instruir a uno, al menos en mi país.

- 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)

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #9 en: 01 de Julio de 2008, 22:13:52 »
Maunix espero que no te hayan ofendido mis palabras,personalmente estoy agradecido de tus trabajos y post, como la de los otros foristas que dedican parte de su tiempo a divulgar sus conocimientos.
Las guias siempre son utiles, y mas si son en castellano...  No soporto el ingles :D :D ,es una realidad,pero no queda otra..

Sal u 2  (desde tu mismo pais... :lol:)

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #10 en: 02 de Julio de 2008, 08:16:05 »
Maunix espero que no te hayan ofendido mis palabras,personalmente estoy agradecido de tus trabajos y post, como la de los otros foristas que dedican parte de su tiempo a divulgar sus conocimientos.
Las guias siempre son utiles, y mas si son en castellano...  No soporto el ingles :D :D ,es una realidad,pero no queda otra..

Sal u 2  (desde tu mismo pais... :lol:)

Oh, coterráneo , nada más lejo de ofenderme.  Suelo ser difícil de hacer enojar, al menos por estas cuestiones  (si hablamos de políticos argentinos mi enojo avanza astronómicamente más rápido) :mrgreen: :mrgreen:

Simplemente quise destacar que opino también como vos que la experiencia hace que uno fije realmente los conocimientos pero si alguien te da una mano, te explica, te enseña, te muestra el camino , te allana el terreno es todo mucho más fácil y en el mismo tiempo que el otro aprendió A, el pupilo puede aprender A y B.  :)

Esto que diré no es por tus palabras, simplemente lo traigo a colación porque me vino a la mente hablar de esto  :) :)

Quisiera dejar este pensamiento plasmado por aquí...

Cuando me dicen "la experiencia es todo, estudiar no es tan importante" les destaco cosas simples como ... ¿qué hubiera pasado si no te hubieran enseñado a sumar, multiplicar o dividir en la primaria? ¿qué hubiera sucedido si nadie te explicaba cómo programar en una pc? ¿cómo hubiera sido todo? Acaso no habríamos estado un montón de tiempo (tal vez años) buscando "inventar" la forma de aprender a multiplicar? a dividir? Lo mismo con una computadora, acaso nos sentaríamos frente a ella a probar escribir cosas para luego ver si eso compilaba o no? (digo esto si tener ni manual ni texto de un compilador C por ejemplo).

Acaso no estaríamos años y años? así como los arqueólogos que tienen que buscar de a granitos de arena para poder reconstruir  parte de nuestra humanidad?

Entonces claro, vienen planteos como el de "si, esto está claro pero hay cosas en las uqe hay que experimentar" y si... es cierto pero en general uno no hace "investigación pura", uno aplica conocimientos de otro o de varios, los reune, los adapta y crea algo pero si no supiera de lo demás sería muy difícil o diez veces más trabajoso hacerlo.   

Entonces, para qué reinventar la rueda? para qué ponerlos a hacer cómo hacer un RTOS (sin leer siquiera algo de teoría total la práctica lo es todo) si hay cientos en el mercado de los más variados de forma y color? Incluso si hay muchos de libros escritos sobre el tema!

Es cierto que a los títulos los dan la facultad o la universidad pero es en la vida en que realmente uno es lo que hace y no lo que dice un papel.  Muchos creen que porque estudiaron ingeniería ya son "ingenieros" y por eso pueden hacer montones de cosas... lamentablemente no es tan así y no es tan fácil.  Hay muchos técnicos que son más ingenieros que los ingenieros de títulos y muchos ingenieros de título que usan el método prueba y error como si fuera una metodología de la ingeniería cuando en realidad a uno le enseñan a buscarle la vuelta a la cuestión no a probar 100 veces como hacer algo...

Como coloralio, es importante siempre estudiar, contar con alguien que nos guíe mucho más porque aunque mas no sea porque te diga "lee de acá... o de allá..." ya con eso nos dice y mucho!.  Sumar años en algo no es sumar experiencia... es solo sumar años.  Cuántas veces leemos "10 años de experiencia en tal tema... " y durante esos 10 años se han hartado de hacer siempre lo mismo y de la misma forma?  Acaso no serían solo unos meses de experiencia con muchos años de antigüedad o continuidad?  :) 

Es para reflexionarlo ¿no?

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)

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #11 en: 02 de Julio de 2008, 23:16:54 »

Oh, coterráneo , nada más lejo de ofenderme.  Suelo ser difícil de hacer enojar, al menos por estas cuestiones  (si hablamos de políticos argentinos mi enojo avanza astronómicamente más rápido) :mrgreen: :mrgreen:

OK, OK... no digo nada del campo ni del gobierno... solo que me guarden un choripan.. :mrgreen:


Cuando me dicen "la experiencia es todo, estudiar no es tan importante" les destaco cosas simples como ... ¿qué hubiera pasado si no te hubieran enseñado a sumar, multiplicar o dividir en la primaria? ¿qué hubiera sucedido si nadie te explicaba cómo programar en una pc? ¿cómo hubiera sido todo? Acaso no habríamos estado un montón de tiempo (tal vez años) buscando "inventar" la forma de aprender a multiplicar? a dividir? Lo mismo con una computadora, acaso nos sentaríamos frente a ella a probar escribir cosas para luego ver si eso compilaba o no? (digo esto si tener ni manual ni texto de un compilador C por ejemplo).


Yo he escuchado en varios trabajos la misma frase, hasta llegue a escuchar  "para que vas a estudiar si despues vas a cobrar lo mismo"... ese tipo era un caso muy especial.. ja ja ja

Concuerdo con vos, no habria progreso sin acumulacion de informacion , cada persona tendria que inventar su propia rueda ..
si una persona no tienes estudios se le va a ser muy dificil poder ver la realidad tal cual es, (metiendonos un poco en politica)
cualquier politico le venderia espejitos de colores a esta persona. ya se, ya se, nos vendieron muchos y  tenemos un poco de estudio. Pero lo que pasa, es que nuestros politicos tienen mucho mas estudio... :D :D :D :D hasta doctorados en plaza de Mayo :D :D :D

Ahora entiendo mas tu punto de vista, releyendo el post no se porque escribi lo que escribi.
Suenan bastante feas esas palabras despues que hayas dicho que tenias intenciones de hacer tutorial al respecto, nuevamente disculpas... :(

Para terminar no quiero extender mas este post que se desvirtuo desde la inquietud principal..

Sal u 2


Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Varios ficheros *.asm en un mismo proyecto
« Respuesta #12 en: 05 de Julio de 2008, 13:27:51 »
Yo he escuchado en varios trabajos la misma frase, hasta llegue a escuchar  "para que vas a estudiar si despues vas a cobrar lo mismo"... ese tipo era un caso muy especial.. ja ja ja

Jeje, y si, un futbolista gana mucho más... y aunque uno gane lo mismo, a veces uno estudia porque le gusta , por el solo y simple hecho de querer saber más! y eso a muchos no les entra en la cabeza...

Cuantos docentes hay por vocación? porque la verdad ganan muuuy poco (al menos en argentina) y la lista sigue!! Que en la vida no todo es ganar plata... en fin, el tema es largo pero bueno, ahi tenes argumentos para refutarle a esa persona  :)


Ahora entiendo mas tu punto de vista, releyendo el post no se porque escribi lo que escribi.
Suenan bastante feas esas palabras despues que hayas dicho que tenias intenciones de hacer tutorial al respecto, nuevamente disculpas... :(
Para terminar no quiero extender mas este post que se desvirtuo desde la inquietud principal..

No hay nada que perdonar, está todo bien y respecto a desvirtuarse el hilo puede ser pero en este foro no siempre se habla del tema puntual y nada más, a veces uno se sale de la rama y la conversación atrapa y se sigue  :mrgreen: :mrgreen:

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)


 

anything