|
|
En plus de traduire les mnémoniques d'instructions en code binaire, les assembleurs sont capables de gérer des noms symboliques pour les emplacements mémoire (pour stocker des données ou référencer des points du programme) et un langage macro pour effectuer des substitutions textuelles - typiquement utilisé pour coder des séquences courtes d'instructions fréquemment utilisées qui seront insérées dans le code plutôt que d'écrire des procédures.
Historiquement, les assembleurs sont apparus comme le premier outil permettant au programmeur de prendre du recul par rapport au code objet et de se consacrer à la programmation proprement dite. Les programmes assembleurs sont plus simples à écrire que les compilateurs pour les langages de haut-niveau. Ils sont disponibles depuis les années 1950.
Les programmes assembleurs donnent aussi un accés plus direct au microprocesseur que l'on souhaite programmer. Les assembleurs modernes, spécialement pour les architectures RISC comme MIPS, SPARC et HP Precision, optimisent les instructions générées pour exploiter plus efficacement le pipeline CPU.