Funcionamiento de Ensambladores: SYMTAB, Macros y Diccionarios RLD y ESD
Clasificado en Inglés
Escrito el en
español con un tamaño de 2,75 KB
Generación de la Tabla de Símbolos (SYMTAB)
Para la correcta generación de la SYMTAB, es fundamental seguir estos criterios:
- Es necesario utilizar el contador de localidades (LOCCTR).
- Su generación se lleva a cabo durante el primer paso del ensamblador.
- Debe incluir los valores numéricos de los distintos registros (A, B, L, etc.).
- Es recomendable generar un archivo intermedio que incluya las instrucciones precedidas por el valor del LOCCTR.
- Adicionalmente, puede crearse un archivo que contenga la información detallada de la tabla de símbolos.
Uso de TABSYM durante el Ensamblado
Primer Paso
Las etiquetas se introducen en la SYMTAB conforme aparecen en el código fuente, junto con su dirección de memoria correspondiente.
Segundo Paso
Los símbolos utilizados como operandos son buscados en la SYMTAB para obtener la dirección que sería insertada en las instrucciones del ensamblador.
Definición de una Macro
Una macro es un grupo de instrucciones repetitivas en un programa que se codifican solo una vez y pueden utilizarse cuantas veces sea necesario.
La principal diferencia entre una macro y un procedimiento es que en la macro se hace posible el paso de parámetros, mientras que en el procedimiento no. Al momento de ejecutarse la macro, cada parámetro es sustituido por el nombre o valor especificado al momento de llamarla.
Podemos decir, entonces, que un procedimiento es una extensión de un determinado programa, mientras que la macro es un módulo con funciones específicas que puede ser utilizado por diferentes programas.
Relocation Dictionary (RLD)
If programs are to be dynamically relocated in memory, the assembler must generate a table of those program locations that are not relocatable, called the Relocation Dictionary or RLD. For discussion purposes, we assume that the program START is 0. It is a simple adjustment otherwise. The RLD is used by the loader, which (for a START of 0) simply adds the program load point to the value pointed to by each (relative) location specified in the RLD.
External Symbol Dictionary (ESD)
A list of external symbols and their relocatable addresses which allows the linkage editor to resolve interprogram references. Abbreviated as ESD.