En général, on réserve le terme de 'compilateur' pour transformer un programme écrit dans un langage de haut-niveau en exécutable et le terme d'assembleur pour transformer un programme écrit dans un langage asembleur en exécutable.
Mais dans un cas comme dans l'autre, il est nécessaire de préciser ou le langage de haut niveau ou le langage assembleur utilisé. Dans le cas du langage assembleur, celui-ci dépend du processeur ou micro-contrôleur utilisé.
Si tu donnes l'une ou l'autre de ces précisions, alors tu auras sans doute une réponse.
Bonne continuation.