Não, o assembler não é necessário em um compilador para executar o código. Um compilador é um programa de computador que traduz código de computador escrito em uma linguagem de programação (a linguagem de origem) em outra linguagem de programação (a linguagem de destino). A linguagem alvo geralmente é o código de máquina, que é a linguagem que a CPU do computador pode entender.
Montadores são um tipo diferente de programa de computador que traduz a linguagem assembly em código de máquina. A linguagem assembly é uma linguagem de programação de baixo nível projetada para ser facilmente traduzida em código de máquina. No entanto, os montadores não são necessários para compilar o código. Os compiladores podem traduzir o código-fonte diretamente em código de máquina sem a necessidade de um montador.
Na verdade, a maioria dos compiladores modernos não usa montadores. Em vez disso, eles usam um processo chamado “geração de código” para traduzir o código-fonte diretamente em código de máquina. A geração de código é um processo complexo que envolve diversas etapas diferentes, mas geralmente é mais eficiente do que usar um montador.