Pourquoi les compilateurs produisent-ils du code assembleur?

Le langage d'assemblage est converti en langage machine par l'assembleur. Pourquoi un compilateur convertirait-il un langage de haut niveau en assembleur? Ne peut-il pas convertir directement du langage de haut niveau en code