GNU Assembler
GNU Assembler (aussi appelé gas), est le logiciel assembleur du projet GNU, initialement destiné à compiler le système d'exploitation GNU.
Développé par | Projet GNU |
---|---|
Première version | |
Dernière version | Toolset version of binutils[1] |
Écrit en | C |
Type | Programme assembleur |
Licence | Licence publique générale GNU version 3 ou ultérieure |
Site web | www.gnu.org/s/binutils |
GNU assembler est l'équivalent de la commande as des systèmes d'exploitation Unix. C'est le back-end par défaut de GCC. Il fait partie du paquet GNU Binutils.
GNU Assembler est multiplate-forme. Il peut assembler pour différents processeurs. C'est un logiciel libre distribué selon les termes de la licence GNU GPL (version 2 puis version 3)[2].
Syntaxe générale
GNU Assembler a une syntaxe générale qui fonctionne de la même manière pour toutes les architectures qu'il utilise. La syntaxe inclut les directives d'assemblage et une méthode pour les commenter.
Critique
Une reproche qui lui est souvent faite est que pour les architectures X86 et X86-64 il utilise la syntaxe AT&T (placer la source avant la destination), plutôt que la syntaxe Intel (placer la destination avant la source, comme dans la plupart des langages évolués) utilisée par la plupart des autres assembleurs. Les dernières versions supportent désormais la syntaxe Intel, il suffit de le spécifier en utilisant l'instruction .intel_syntax
[3].
Notes et références
- « https://sourceware.org/git/?p=binutils-gdb.git;a=tree » (consulté le )
- GNU GPL V2 constaté dans le fichier COPYING du repertoire /gas de la version 2.16.1a des binutils, et GNU GPL V3 constaté dans le fichier COPYING du repertoire /gas de la version 2.25 des binutils.
- Redhat.com - manuals : AT&T Syntax versus Intel Syntax