Invocacion de Subrutinas

Invocacion de Subrutinas

de Cecilia Denisse Deandraya Cuesta -
Número de respuestas: 1

Hola,


Quería saber si es posible no poner todo el código de cada subrutina invocada en un programa ajeno a ese. Es decir para probar en la placa la subrutina binapbcd, necesito llamar a pbcda7seg, para esto incluímos al final del programa princial todo el código de la subrutina, sabemos que es necesario incluirlo si no se agrega nada más pero ¿se puede de alguna forma llamar a esa subrutina desde una biblioteca o algo parecido? .

Saludos,

Cecilia.



En respuesta a Cecilia Denisse Deandraya Cuesta

Re: Invocacion de Subrutinas

de Julio Perez -

Cecilia:

disculpas porque nos había quedado este mensaje sin responder.

La respuesta breve es "Sí,  pero les va a dar más trabajo".

Las herramientas gnu que estamos utilizando permiten invocar al assembler (comando "as", o más específicamente "z80-coff-as") por separado para cada archivo fuente.

Luego debes invocar al linker (comando "z80-coff-ld") indicándole que concatene todos los archivos que generó el assembler para generar el código de máquina final.

Sin embargo, el ambiente que está armado usando el notepad++ está pensado para trabajar con un solo archivo fuente. Cuando usan "Macro > Compilar" se invocan en forma sucesiva el assembler y el linker con los parámetros adecuados para que todo funcione. La forma de trabajar en ese caso es poner las subrutinas en uno o varios archivos separados, y usar la directiva .include para incluirlos en el archivo del programa principal.

Si quieren trabajar ensamblando los archivos por separado pueden, pero van a tener que invertir esfuerzo adicional en aprender a invocar a mano assembler y linker en forma adecuada, o a utilizar herramientas que existen para automatizarlo (comando Makefile o similares). Si les interesa les podemos dar una mano, pero escapa a los requerimientos del curso.

Saludos,

julio