Erreur, l'assembleur n'est pas un programme écrit dans un mélange de plusieurs langages. Un assembleur est un programme de traduction qui traduit un programme écrit en langage assembleur en un programme équivalent en langage machine. L'entrée de l'assembleur est un programme source écrit en langage assembleur et la sortie est un programme cible exprimé en langage machine.
Le langage assembleur est un langage orienté machine conçu pour un ordinateur ou une série d'ordinateurs spécifique. Il se compose d'instructions d'exécution d'assembleur et de pseudo-instructions d'assemblage.
Bien que l'écriture de programmes en langage assembleur ne soit pas aussi simple et intuitive que les langages de programmation de haut niveau, le programme cible assemblé occupe moins de mémoire, a une efficacité de fonctionnement plus élevée et peut référencer directement diverses ressources de périphérique de l'ordinateur. Il est généralement utilisé pour écrire des programmes pour la partie centrale du système ou pour écrire des segments de programme qui nécessitent beaucoup de temps d'exécution et nécessitent des performances en temps réel élevées.
Informations générales
Les instructions d'exécution de l'assemblage sont des représentations symboliques des instructions machine. Les codes d'opération sont représentés par des symboles de mémoire et les codes d'adresse sont directement représentés par des étiquettes, variables. noms, constantes, etc. expriment. Les instructions d'exécution de l'assemblage sont traduites en instructions machine par l'assembleur, et les deux entretiennent essentiellement une correspondance biunivoque. Les pseudo-instructions d'assemblage, également appelées instructions d'assemblage, sont utilisées pour fournir à l'assembleur des symboles définis par l'utilisateur, les types de données, la longueur de l'espace de données, ainsi que des informations d'invite telles que le format et l'emplacement de stockage du programme cible. Sa fonction est d'indiquer à l'assembleur comment assembler. Les codes sources écrits en langage assembleur doivent être convertis en code machine exécutable à l'aide de l'assembleur correspondant. Ce processus est appelé processus d’assemblage.
De nombreux assembleurs peuvent reconnaître des étiquettes et des symboles représentant des adresses et des constantes, de sorte que les caractères puissent être utilisés pour représenter des opérandes sans avoir à les coder en dur. D'une manière générale, il existe une correspondance biunivoque entre un langage d'assemblage spécifique et un jeu d'instructions de langage machine spécifique.
De nombreux assembleurs fournissent des mécanismes de support supplémentaires pour le développement de programmes, le contrôle d'assemblage et le débogage auxiliaire. Certains outils de programmation en langage assembleur fournissent souvent des macros, également appelées assembleurs de macros.
Le langage assembleur n'est pas largement utilisé pour la programmation comme la plupart des autres langages de programmation ; dans les applications pratiques, il est généralement utilisé dans les opérations matérielles de bas niveau et l'optimisation exigeante des programmes. Le langage assembleur est requis pour les pilotes, les systèmes d’exploitation intégrés et les programmes exécutés en temps réel.
Catégorie
Assembleur simple
Assembleur simple Également connu sous le nom d'assembleur « charger et exécuter ». Il est largement utilisé en raison de sa simplicité. La caractéristique de ce type d'assembleur est que le programme en langage machine assemblé est placé directement dans la mémoire prêt à être exécuté. L'emplacement de stockage occupé par le programme cible est fixé lors de l'assemblage et ne peut pas être modifié ultérieurement. Par conséquent, cette méthode de travail ne peut pas fusionner plusieurs sous-programmes assemblés indépendamment en un programme complet et ne peut appeler que l'emplacement qui n'est pas en conflit avec le sous-programme cible. dans la bibliothèque de programmes.
Assembleur de modules
Assembleur de modules Développé pour s'adapter à la méthode de programmation des modules. En plus de surmonter les défauts des programmes d'assemblage simples, il offre également la possibilité de concevoir, coder et déboguer différents modules de programme en parallèle, et de modifier uniquement les modules concernés lors du changement de programme. Chaque module de programme assemblé est appelé module objet, et plusieurs modules objets sont combinés en un programme exécutable complet en connectant le programme assembleur.
Assembleur conditionnel
Assembleur conditionnel La caractéristique principale est la possibilité de choisir d'assembler certains segments de programme. Il convient à l'écriture de programmes ou de packages de programmes plus sélectifs, afin que les logiciels appropriés puissent être adaptés et compilés en fonction des besoins des utilisateurs et de la configuration de l'appareil. Ce type de langage assembleur introduit généralement des instructions d'assemblage telles que « transfert conditionnel » et « transfert » pour assembler sélectivement certains segments de programme ou contrôler le chemin de traitement du programme assembleur en fonction des conditions d'assemblage spécifiées par l'utilisateur.
Assembleur de macros
Assembleur de macros La fonctionnalité principale est d'ajouter une fonction de traitement de macro dans l'assembleur. Il permet aux utilisateurs de définir et d'utiliser facilement des macro-instructions et convient aux paragraphes de programme qui apparaissent à plusieurs endroits du programme, ont un certain format et peuvent être modifiés en ajustant quelques paramètres. L'utilisation de cette méthode réduit non seulement la longueur du programme et augmente la lisibilité, mais également lorsque le format du paragraphe du programme doit être modifié, seule la partie définition doit être modifiée au lieu de chaque point d'utilisation.
Assembleur de haut niveau
Assembleur de haut niveau Un assembleur qui utilise la structure d'instructions de contrôle d'un langage de programmation de haut niveau. Il conserve non seulement les avantages de la forte capacité d'expression et de l'efficacité élevée du fonctionnement du programme du langage assembleur, mais absorbe également pleinement les avantages des langages de haut niveau simples et faciles à lire.
En effet, le programme assembleur de haut niveau permet aux utilisateurs d'utiliser des instructions de contrôle de langages de programmation de haut niveau (telles que des instructions conditionnelles, des instructions de boucle, des fonctions et des procédures) pour écrire la partie contrôle du programme. , et permet également aux utilisateurs d'utiliser directement le langage assembleur pour contrôler directement l'allocation de stockage, accéder au matériel de registre et décrire des algorithmes difficiles à exprimer dans des langages de haut niveau.
Le premier assembleur de haut niveau est l'assembleur de langage PL/360 développé par N. Worth pour le système IBM360. Sa caractéristique est que la partie contrôle du programme est écrite à l'aide d'instructions de contrôle de langage de haut niveau, tandis que le traitement des données. la pièce est écrite à l'aide des instructions d'assemblage IBM360. Depuis, des assembleurs similaires à ALGOL et FAT, similaires à FORTRAN, sont apparus les uns après les autres.
Pour plus de connaissances connexes, veuillez visiter : Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!