Um
assembler de três passagens adiciona alguns recursos adicionais além do que um
assembler de duas passagens pode fornecer:
-
Geração de Módulos de Carga Absoluta: Um montador de três passagens gera um módulo de carregamento absoluto, que contém todas as informações necessárias para carregar o programa diretamente na memória e executá-lo, independente do programa carregador.
-
Resolução de símbolo aprimorada: A terceira passagem do assembler resolve todas as referências de símbolos restantes, associando-as aos seus endereços de memória absolutos.
-
Suporte para código relocável: Montadores de três passagens podem criar código-objeto relocável, que pode ser carregado em diferentes endereços de memória em tempo de execução. Essa flexibilidade permite que o código seja compartilhado e carregado dinamicamente em diferentes partes da memória.
-
Gerenciamento eficiente de tabelas de símbolos: A tabela de símbolos é organizada de forma mais eficiente, otimizando o processo de consulta e resolução de símbolos, resultando em menor tempo de montagem.
-
Tratamento de erros aprimorado: Com três passagens, o montador pode fornecer mensagens de erro e diagnósticos mais abrangentes, identificando erros com mais precisão e ajudando os programadores a detectar e corrigir problemas com mais eficiência.
Esses recursos adicionais de um montador de três passagens simplificam o carregamento e a execução de programas, melhoram a eficiência geral do processo de montagem e fornecem um ambiente de montagem mais abrangente e fácil de usar.