# Un archivo .asm puede hacer referencia a otros dos archivos .asm?



## hector_siglo21 (Sep 20, 2010)

Hola Gente del foro, acudo a uds porque tengo una duda existencial.

Estoy decidido a armar el famoso "propeller clock" que anda circulando por internet, buscando di con el siguiente proyecto: http://users.skynet.be/fc052475/propellerclock/index.htm

Esta toda la info necesaria para construirlo salvo por un pequeño detalle. necesito modificar el codigo assembler para introducir las direcciones RC5 para el control remoto que vaya a utilizar.

Si bien el .hex para ambos PIC està disponible, el mismo fue compilado en base al control remoto que uso su autor.

Mirando un poco vi que hay un archivo prop.asm, mas otros dos: keys.asm (codigos para ese control que utilizo el autor) y CharGen.asm (generador de caracteres para la frase personalizada).

Mi duda es si para modificar las direcciones RC5 lo debo hacer sobre el archivo keys.asm o hay que modificar el prop.asm?. Si es el primer caso, como hago para obtener un solo .hex en base al .asm del reloj (prop.asm), codigos de control remoto (keys.asm) y generador de caracteres (CharGen.asm)?. En sintesis, hay que unificar todos los .asm para obtener un unico .hex para el PIC?.

Muchas gracias y disculpen mi ignorancia, apenas estoy queriendo incursionar en esto de la programacion de PIC y agradeceria que me aclaren estas dudas. Les dejo los archivos para que los vean.

gracias.

PD: Mi duda surgio al leer el codigo en prop.asm, vi que al principio dice: "Files required: Keys.asm CharGen.asm"


----------



## el-rey-julien (Sep 20, 2010)

la pregunta del titulo es si ,se puede hacer referencia en un  .asm a otros archivos .asm
para obtener un   solo   hex de los dos ams  es facil,
ay varios métodos ,
1 -crea un solo asm juntando los dos  asm,o los tres o cuatro.etc etc
2-el keys.asm y el CharGen.asm deben quedar así ,renombrarlos como keys.INC  CharGen.INC luego  en el  programa principal invocarlos con la orden  #include keys.INC
                                                                                          #include CharGen.INC
de esa manera se compilan   los   tres y   queda uno solo 
en cuanto a la otra pregunta no tengo ni idea cual archivo modificar  para tu control remoto,pero intuyo que seria el keys.asm


----------



## hector_siglo21 (Sep 20, 2010)

Hola!...gracias por aclararme las dudas. Leyendo tus respuestas y fijandome en el .asm principal (prop.asm) veo que està esa sentencia, dice asi:

list    p=16f628            ; list directive to define processor
    #include <p16f628.inc>        ; processor specific variable definitions
    #include "CharGen.asm"
    #include "Keys.asm"


Es esto a lo que te referias mas arriba, acerca de "incluir" los archivos .asm dentro de otro .asm?
Otra pregunta, asi como está, es posible que haciendo el proceso de compilacion ya queden esos .asm (keys.asm/CharGen.asm) incluidos en el .asm principal (prop.asm)?.

Gracias.


----------



## el-rey-julien (Sep 21, 2010)

> Otra pregunta, asi como está, es posible que haciendo el proceso de compilacion ya queden esos .asm (keys.asm/CharGen.asm) incluidos en el .asm principal (prop.asm)?.



así esta perfecto,al compilar el asm principal ,el propio compilador los une,
solo tenes que poner los tres asm en un mismo directorio  o carpeta,de otra manera el compilador no es capas de encontrarlos ,
en una palabra =  la etiqueta #include xxx.asm tiene la funcion de indicar al compilador que tambien incluya el archivo xxx,asm cuando lo compila (-----xxx.asm seria el asm que extra o librerias .INC) 
saludos


----------



## hector_siglo21 (Sep 21, 2010)

Gracias por tu ayuda, ya me aclaraste el panorama...

Un Abrazo.


----------



## Arsenic (Dic 28, 2014)

Hola, 4 años más tarde he descubierto este mismo proyecto. Aviso que hice el control remoto sugerido y no tengo ni idea de los keys que utiliza. Hay variantes interesantes al realizado originalmente con el PIC16F628A pero primero quiero dominar bien esta antes de lanzarme a hacer el otro, puesto que es mucho más sofisticado. Se me hace que el archivo que hay que modificar (habiendo leído lo que posteaste) es justamente el keys.asm pero no tengo ninguna pista sobre los que se utilizan en el control remoto realizado con un 16F84 que consta de 16 canales. ¿Ya lo hizo alguien?


----------

