La estructura e implementación de programas de ensamblaje.
Dado que las instrucciones en lenguaje ensamblador generalmente mantienen una correspondencia uno a uno con las instrucciones en lenguaje máquina, la estrategia básica utilizada en los algoritmos ensambladores es simple. Por lo general, se utiliza el algoritmo de escanear el programa fuente dos veces. El primer paso escanea el programa fuente y recopila información relevante sobre los símbolos en la tabla de símbolos en función de la definición y el uso de los símbolos. El segundo paso utiliza la información de símbolos recopilada en el primer paso para traducir las instrucciones simbólicas en el programa fuente a las correspondientes; instrucciones de la máquina una por una. El trabajo de traducción específico se puede resumir de la siguiente manera: reemplazar operaciones simbólicas con códigos de operación de la máquina; reemplazar direcciones simbólicas con direcciones numéricas; traducir constantes a la representación interna de la máquina; Además del trabajo de traducción anterior, el ensamblador también debe considerar: procesar pseudoinstrucciones, recopilar información de instrucciones de ensamblador proporcionada en el programa y realizar las funciones correspondientes. Proporcionar a los usuarios información y listados de programas fuente. El trabajo de procesamiento posterior al ensamblaje varía según el tipo de idioma de destino. Algunos inician la ejecución directamente y otros realizan la conexión y el ensamblaje primero. Si están disponibles funciones de ensamblaje condicional, macroensamblaje o ensamblaje avanzado, también se debe realizar el procesamiento de traducción correspondiente.
Suponiendo que la aplicación de símbolos específicos en lenguaje ensamblador debe aparecer después de la definición, el algoritmo de dos pasos se puede combinar fácilmente en un algoritmo de un solo paso para su implementación.