INTRODUCTION
Avant même d’étudier, ou plutôt de présenter très succinctement quelques remarques d’ordre général à propos du langage assembleur, il convient de s’interroger sur les raisons de son éventuelle utilisation. En effet, la mise en œuvre d’une application, écrite totalement ou partiellement en langage assembleur requiert entre autre une relative maîtrise de ce langage informatique. Il est donc tout à fait indispensable de développer des argumentations susceptibles de justifier l’usage de ce langage, d’autant que sa mise en œuvre ne peut être envisagée qu’à l’issue d’une longue et difficile période d’apprentissage. De plus, il ne saurait être question d’abreuver le lecteur de la connaissance stérile de nombreux langages informatiques, sauf dans le cas où la connaissance de certains de ces langages se révèle nécessaire, en particulier par le caractère très spécifique de l’application ou par les limites imposées par le ou les langages déjà étudiés.
POURQUOI UTILISER LE LANGAGE ASSEMBLEUR ?
L’utilisation du langage assembleur se doit d’être justifiée par des arguments de poids, tant l’investissement intellectuel requis pour sa parfaite connaissance est important. La conception de logiciels, quel que soit le domaine de l’application envisagée, se traduit en particulier, lors de la réalisation informatique du produit, par l’écriture d’algorithme. Or, dans de très nombreux cas, certains algorithmes, tout à fait performants pour le traitement d’une quantité réduite d’informations, deviennent d’une utilisation difficile voire impossible à envisager lorsqu’ils concernent de plus grandes masses d’informations. C’est le cas en particulier d’algorithmes de tri, de recherche, etc.
DÉPENDANCE DU LANGAGE ASSEMBLEUR
Plus que tout autre, le langage assembleur est très fortement dépendant de plusieurs facteurs.
En effet, par sa nature même, ce langage est directement lié au jeu d’instructions du microprocesseur. Or, le plus souvent, les jeux d’instructions des divers microprocesseurs sont totalement incompatibles, sauf cas très particulier où les concepteurs de ces circuits intégrés ont souhaité une compatibilité totale ou partielle, pour des raisons évidentes de coût de développement, ou pour des raisons historiques. D’autre part, les applications écrites en langage assembleur sont très fortement dépendantes de l’environnement hardware du microprocesseur. Plus encore que la précédente cette dépendance est susceptible de remettre en cause gravement la portabilité des programmes utilisant totalement ou le plus souvent partiellement le langage assembleur,même entre système informatique organisé autour du même microprocesseur.
Cours complet introduction au langage assembleur (305 KO) (Cours PDF)