Fiche technique | |
---|---|
Système d'exploitation : | DOS, Xenix |
Auteur : | Eric Isaacson |
Date de publication : | 1984 à 1995 |
Catégorie : | Compilateur assembleur |
Site Web : | http://eji.com/a86/ |
Introduction
Le compilateur A86 est langage de programmation Assembleur pour la famille des microprocesseurs 80x86 proposé par Eric Isaacson, ayant déjà travailler sur le projet ASM86 pour l'entreprise Intel. Le A86 accepte les fichiers source du langage assembleur et les transforme directement en : fichiers .COM exécutables sous DOS, à partir du déplacement 0100 dans un segment de code; de fichiers .OBJ adaptés aux liaisons d'un éditeur de liens; ou de fichiers objets commençant au déplacement 0, adaptés à la copie vers des ROM. Le A86 est un programme complet de qualité professionnelle. Il a été conçu A86 pour qu'il soit aussi étroitement compatible que possible avec le langage d'assemblage standard d'Intel et d'IBM.
Les caractéristiques du A86 sont les suivantes :
- Le A86 est incroyablement rapide - 4 fois plus rapide que MASM V5.1. Sur un ordinateur moderne typique (Pentium II avec des fichiers source déjà mis en cache sur le disque) le A86 s'assemble à une vitesse de plus de 100 000 lignes par seconde.
- Le A86 est simple à utiliser. Vous pouvez lui fournir un programme contenant uniquement des instructions machine, sans les directives (NAME, ASSUME, SEGMENT PARA PUBLIC, PROC, ENDP, END, PUBLIC, EXTRN,...) nécessaire avec les autres assembleurs. La sortie de l'A86 peut être un fichier .COM, prêt à être exécuté immédiatement. Vous n'êtes pas obligé de passer par un éditeur de liens (LINKER). Ou, si vous voulez passer par un éditeur de liens, A86 produira un fichier .OBJ correct même si aucune directive administrative n'est donnée - les paramètres par défaut sont compatibles avec la plupart des langages de haut niveau. (Si vous avez des programmes écrits pour un autre assembleur contenant les directives, vous pouvez les laisser dedans : le A86 les connaît et est programmé pour agir sur eux lors de l'assemblage de fichiers .OBJ et les ignorer lors de l'assemblage de fichiers .COM.)
- Malgré sa simplicité, le A86 encourage la programmation modulaire, même dans son mode .COM, avec des fichiers sources développés séparément. Cela est dû au fait qu'A86 assemble plusieurs fichiers source dans sa ligne d'appel; et parce qu'A86 assemble les fichiers source plus rapidement que les éditeurs de liens d'autres personnes peuvent lier leurs fichiers objets. Vous bénéficiez de tous les avantages des systèmes de relocalisation / liaison (création de bibliothèques de modules de programme fiables que vous pouvez reconstituer), sans les inconvénients (perte excessive de temps et de code source).
- Le A86 a une capacité suffisante pour de très grands projets de programmation. Sa capacité de table de symboles est d'environ 3000 symboles de 10 lettres, plus de la place pour 15 Ko de texte de définition de macro compressé. Les 10 lettres sont une longueur moyenne de symbole; le A86 reconnaît jusqu'à 127 lettres dans un symbole.) De plus, la fonction d'étiquette locale générique du A86 double efficacement la capacité de votre table de symboles.
- Le A86 a des fonctionnalités d'extension de langage de programmation, dont, une fois que vous commencez à utiliser, vous ne voudrez plus vous passer. Ceux-ci incluent plusieurs opérandes pour PUSH et POP; les retours conditionnels; le MOV d'un registre de segment à un autre; vérification de l'assertion du temps de montage; structures basées; et le «IF (drapeau) (instruction)» plutôt que la combinaison de deux instructions CMP et Jcc.
- Le processeur macro de l'A86 sont remarquables, réalisant un équilibre optimal entre la facilité d'utilisation et la puissance brute. Ses capacités de bouclage et de concaténation de texte vous permettent de définir des macros sophistiquées, dont les appels ressemblent aux instructions machine les entourant; sans la syntaxe d'invocation maladroite requise par d'autres processeurs de macro de la puissance d'A86.
- Le A86 fournit des messages d'erreur en anglais clairs, donnés juste au point du code source où A86 a détecté l'erreur. Les messages sont en fait insérés dans votre fichier source, où vous pouvez les lire et corriger votre code en même temps. Vous pouvez supprimer les messages vous-même, ou le A86 les supprimera pour vous lorsqu'il réassemble le fichier. (votre source d'origine est conservée dans x.OLD si vous le souhaitez. Vous pouvez également désactiver cette fonctionnalité et envoyer des messages d'erreur dans un fichier .ERR.)
- Le A86 fournit un complément complet d'opérateurs arithmétiques d'expression de temps d'assemblage, compatibles avec les langages de programmation assembleurs d'Intel et d'IBM. Le A86 fournit également une arithmétique à virgule flottante à 4 fonctions dans les expressions de temps d'assemblage utilisées pour les initialisations en virgule flottante (une fonctionnalité exclusive à A86).
- Le A86 assemble l'ensemble d'instructions à virgule flottante des coprocesseurs 8087/287/387/IIT, et l'ensemble d'instructions étendu de la série 186/286/NEC, y compris les instructions uniques NEC. La version 386, A386, rassemble toutes les nouvelles instructions pour les processeurs via le Pentium 3 et l'Athlon.
- Le A86 a une fonction de bibliothèque de fichiers source intégrée. Toutes les procédures ou macros non définies dans votre programme sont automatiquement recherchées dans un fichier de bibliothèque spécial A86.LIB, et les fichiers source associés sont automatiquement assemblés. Cette situation rend l'accès aux routines de la bibliothèque aussi simple que dans le langage de programmation «C». Un exemple de fichier A86.LIB est inclus dans la version partagiciel du paquet. Seuls les utilisateurs enregistrés peuvent disposer de l'outil A86LIB, avec lequel vous pouvez créer vos propres fichiers de bibliothèque.
- Le A86 dispose d'une fonction de liste puissante, vous permettant une flexibilité totale sur le format de vos listes, et comprenant un algorithme extrêmement sophistiqué pour générer automatiquement des sauts de page aux endroits sensibles.
- Le A86 fonctionne avec un débogueur symbolique associé, le D86, pour rendre le meilleur environnement de développement disponible pour le PC.
Concurrent
Les concurrents du A86 sont MASM de Microsoft, et TASM de Borland.