as

AS(1)                    Outils de Développement GNU                    AS(1)



NOM
       as - L'assembleur GNU portable

SYNOPSIS
       as [-a[cdhlns][=fichier]] [-D] [--defsym sym=val]
        [-f] [--gstabs] [--gdwarf2] [--help] [-I rép]
        [-J] [-K] [-L]
        [--listing-lhs-width=NBR] [--listing-lhs-width2=NBR]
        [--listing-rhs-width=NBR] [--listing-cont-lines=NBR]
        [--keep-locals] [-o fichobj] [-R] [--statistics] [-v]
        [-version] [--version] [-W] [--warn] [--fatal-warnings]
        [-w] [-x] [-Z] [--target-help] [options-cible]
        [--fichiers ...]

       Options de cible ARC :
          [-marc[5⎪6⎪7⎪8]]
          [-EB-EL]

       Options de cible ARM :
          [-mcpu=processeur[+extension...]]
          [-march=architecture[+extension...]]
          [-mfpu=format-virgule-flottante]
          [-mthumb]
          [-EB-EL]
          [-mapcs-32-mapcs-26-mapcs-float-mapcs-reentrant]
          [-mthumb-interwork] [-moabi] [-k]

       Options de cible D10V :
          [-O]

       Options de cible D30V :
          [-O-n-N]

       Options de cible i386 :
          [--32--64]

       Options de cible i960 :
          [-ACA-ACA_A-ACB-ACC-AKA-AKB-AKC-AMC]
          [-b] [-no-relax]

       Options de cible M32R :
          [--m32rx--[no-]warn-explicit-parallel-conflicts--W[n]p]

       Options de cible M680X0 :
          [-l] [-m68000-m68010-m68020⎪...]

       Options de cible M68HC11 :
          [-m68hc11-m68hc12]
          [--force-long-branchs] [--short-branchs]
          [--strict-direct-mode] [--print-insn-syntax]
          [--print-opcodes] [--generate-example]

       Options de cible MCORE :
          [-jsri2bsr] [-sifilter] [-relax]
          [-mcpu=[210⎪340]]

       Options de cible MIPS :
          [-nocpp] [-EL] [-EB] [-G nbr] [-mcpu=CPU ]
          [-mips1] [-mips2] [-mips3] [-mips4] [-mips5]
          [-mips32] [-mips64]
          [-m4650] [-no-m4650]
          [--trap] [--break] [-n]
          [--emulation=nom ]

       Options de cible MMIX :
          [--fixed-special-register-names] [--globalize-symbols]
          [--gnu-syntax] [--relax] [--no-predefined-symbols]
          [--no-expand] [--no-merge-gregs] [-x]
          [--linker-allocated-gregs]

       Options de cible PDP11 :
          [-mpic-mno-pic] [-mall] [-mno-extensions]
          [-mextension-mno-extension]
          [-mcpu] [-mmachine]

       Options de cible picoJava :
          [-mb-me]

       Options de cible PowerPC :
          [-mpwrx-mpwr2-mpwr-m601-mppc-mppc32-m603-m604-m403-m405-mppc64-m620-mppc64bridge-mbooke-mbooke32-mbooke64]
          [-mcom-many-maltivec] [-memb]
          [-mregnames-mno-regnames]
          [-mrelocatable-mrelocatable-lib]
          [-mlittle-mlittle-endian-mbig-mbig-endian]
          [-msolaris-mno-solaris]

       Options de cible SPARC :
          [-Av6-Av7-Av8-Asparclet-Asparclite
           -Av8plus-Av8plusa-Av9-Av9a]
          [-xarch=v8plus-xarch=v8plusa] [-bump]
          [-32-64]

DESCRIPTION
       GNU as est en réalité une famille d'assembleurs. Si vous utilisez (ou
       avez utilisé) l'assembleur GNU sur une architecture, vous devriez
       retrouver un environnement assez similaire quand vous l'utilisez sur
       une autre architecture. Chaque version a beaucoup en commun avec les
       autres, ceci incluant les formats de fichiers objets, la plupart des
       directives assembleur (souvent appelées pseudo-opérations) et la
       syntaxe de l'assembleur.

       as est destiné principalement à assembler la sortie du compilateur C
       GNU pour utilisation par l'éditeur de liens. Néanmoins, nous avons
       essayé de faire en sorte que as assemble correctement tout ce qui
       pourrait l'être par d'autres assembleurs pour la même machine. Cela
       ne signifie pas que as utilise toujours la même syntaxe qu'un autre
       assembleur pour la même architecture ; par exemple, nous connaissons
       de nombreuses versions de syntaxes de langages d'assemblage 680x0
       incompatibles.

       Chaque fois que vous exécutez as, il assemble exactement un programme
       source. Le programme source est composé d'un ou de plusieurs fichiers.
       (L'entrée standard est également un fichier).

       Vous donnez à as une ligne de commandes comportant zéro ou plusieurs
       noms de fichiers d'entrée. Les fichiers d'entrée éventuels sont lus
       (de gauche à droite). Un argument de ligne de commandes (à n'importe
       quel endroit) qui n'a pas de signification spéciale est considéré
       être un nom de fichier d'entrée.

       Si vous ne donnez aucun nom de fichier à as, il essaie de lire un
       fichier d'entrée à partir de l'entrée standard de as, qui est
       normalement votre terminal. Vous devrez peut-être taper ctrl-D pour
       indiquer à as qu'il n'y a plus de programme à assembler.

       Utilisez -- si vous devez nommer explicitement le fichier d'entrée
       standard sur votre ligne de commandes.

       Si le source est vide, as produit un petit fichier objet (vide).

       as peut écrire des avertissements et des messages d'erreur sur la
       sortie d'erreur standard (généralement votre terminal). Ceci ne
       devrait pas se produire si as a été lancé automatiquement par un
       compilateur. Les avertissements rapportent les suppositions effectuées
       par as pour pouvoir continuer à assembler un programme défectueux ;
       les erreurs rendent compte d'un problème grave qui provoque l'arrêt
       de l'assemblage.

       Si vous invoquez as via le compilateur GNU C (version 2), vous pouvez
       utiliser l'option -Wa pour passer des arguments à l'assembleur. Ceux-
       ci doivent être séparés les uns des autres (et de -Wa) par des
       virgules. Par exemple :

               gcc -c -g -O -Wa,-alh,-L fichier.c

       Ceci passe deux options à l'assembleur : -alh (émettre sur la sortie
       standard un listing des sources de haut niveau (high-level) et
       d'assemblage) et -L (maintenir les symboles locaux dans la table des
       symboles).

       Généralement, vous ne devrez pas utiliser ce mécanisme -Wa, car
       beaucoup d'options de ligne de commandes du compilateur sont passées
       automatiquement à l'assembleur par le compilateur (Vous pouvez appeler
       le pilote du compilateur GNU avec l'option -v pour voir précisément
       quelles options il transmet à chaque étape de la compilation,
       assemblage compris).

OPTIONS
       -a[cdhlmns]
           Activer les listings, dans l'une quelconque des formes suivantes :

           -ac omettre les conditionnels faux

           -ad omettre les directives de débogage

           -ah inclure le source de haut niveau

           -al inclure l'assemblage

           -am inclure les développements de macros

           -an omettre le traitement des formes

           -as inclure les symboles

           =fichier
               fixer le nom du fichier de listing

           Vous pouvez combiner ces options ; par exemple, utilisez -aln pour
           le listing d'assemblage sans traitement des formes. L'option
           =fichier, si elle est utilisée, doit être la dernière. Seule, -a
           vaut -ahls par défaut.

       -D  Ignoré. Cette option n'est acceptée que pour assurer la
           compatibilité avec des scripts contenant des appels à d'autres
           assembleurs.

       --defsym sym=valeur
           Définir le symbole sym de valeur valeur avant l'assemblage du
           fichier d'entrée. valeur doit être une constante entière. Comme
           en C, un préfixe 0x indique une valeur hexadécimale, et un
           préfixe 0 indique une valeur octale.

       -f  « rapide » (fast) -- sauter les caractères d'espacement et le
           prétraitement des commentaires (supposer que la source est une
           sortie de compilateur).

       --gstabs
           Générer des informations de débogage au format stabs pour chaque
           ligne assembleur. Ceci peut faciliter le débogage de code
           assembleur, si le débogueur le supporte.

       --gdwarf2
           Générer des informations de débogage au format DWARF2 pour
           chaque ligne assembleur. Cela peut faciliter le débogage de code
           assembleur, si le débogueur le supporte. Note : cette option n'est
           prise en charge que pour certaines cibles, et pas toutes.

       --help
           Afficher un résumé des options de ligne de commandes et se
           terminer.

       --target-help
           Afficher un résumé des options spécifiques à la cible et se
           terminer.

       -I rép
           Ajouter le répertoire rép à la liste des chemins de recherche
           des directives « .include ».

       -J  Ne pas avertir en cas de débordement (overflow) signé.

       -K  Cette option est accepté mais n'a pas d'effet sur la famille
           CIBLE.

       -L
       --keep-locals
           Conserver (dans la table des symboles) les symboles locaux. Dans
           les systèmes a.out traditionnels, ceux-ci débutent par L, mais
           d'autres systèmes utilisent des préfixes locaux différents.

       --listing-lhs-width=nombre
           Fixer la largeur maximale, en mots, de la colonne de données en
           sortie pour un listing assembleur à nombre.

       --listing-lhs-width2=nombre
           Fixer la largeur maximale, en mots, de la colonne de données en
           sortie pour les lignes de prolongement dans un listing assembleur
           Ã  nombre.

       --listing-rhs-width=nombre
           Fixer la largeur maximale d'une ligne de code source d'entrée,
           affichée dans un listing, à nombre octets.

       --listing-cont-lines=nombre
           Fixer le nombre maximal de lignes affichées dans un listing pour
           une unique ligne d'entrée, à nombre + 1.

       -o fichobj
           Donner le nom fichobj au fichier objet généré par as.

       -R  Intégrer la section de données dans la section de texte (code).

       --statistics
           Afficher l'espace maximal (en octets) et le temps total (en
           secondes) utilisés durant l'assemblage.

       --strip-local-absolute
           Supprimer les symboles absolus locaux de la table des symboles
           sortante.

       -v
       -version
           Afficher le numéro de version de as.

       --version
           Afficher le numéro de version de as et se terminer.

       -W
       --no-warn
           Supprimer les messages d'avertissement.

       --fatal-warnings
           Traiter les avertissements comme des erreurs.

       --warn
           Ne pas supprimer les messages d'avertissement ou les traiter comme
           des erreurs.

       -w  Ignoré.

       -x  Ignoré.

       -Z  Générer un fichier objet même après des erreurs.

       -- ⎪ fichiers ...
           Entrée standard, ou fichiers source à assembler.

       Les options suivantes sont disponibles quand as est configuré pour un
       processeur ARC :

       -marc[5⎪6⎪7⎪8]
           Cette option sélectionne la variante du processeur central.

       -EB ⎪ -EL
           Sélectionner une sortie gros-boutiste (-EB) ou petit-boutiste
           (-EL).

       Les options suivantes sont disponibles quand as est configuré pour la
       famille de processeurs ARM :

       -mcpu=processeur[+extension...]
           Spécifier la variante de processeur ARM cible.

       -march=architecture[+extension...]
           Spécifier la variante de l'architecture ARM utilisée par la
           cible.

       -mfpu=format-virgule-flottante
           Spécifier le type d'architecture flottante utilisé par la cible.

       -mthumb
           Activer le décodage des instructions spécifiques Thumb.

       -mapcs-32 ⎪ -mapcs-26 ⎪ -mapcs-float ⎪ -mapcs-reentrant ⎪ -moabi
           Sélectionner la convention d'appel de procédure utilisée.

       -EB ⎪ -EL
           Sélectionner une sortie gros-boutiste (-EB) ou petit-boutiste
           (-EL).

       -mthumb-interwork
           Spécifier que le code a été généré avec la coopération entre
           le code Thumb et ARM Ã  l'esprit.

       -k  Spécifier quel code PIC (NdT : Position Independent Code, code
           indépendant de la position) a été généré.

       Les options suivantes sont disponibles quand as est configuré pour un
       processeur D10V :

       -O  Optimiser la sortie en parallélisant les instructions.

       Les options suivantes sont disponibles quand as est configuré pour un
       processeur D30V :

       -O  Optimiser la sortie en parallélisant les instructions.

       -n  Avertir quand des nops sont générés.

       -N  Avertir quand une instruction nop est générée après une
           instruction multiply 32 bits.

       Les options suivantes sont disponibles quand as est configuré pour le
       processeur Intel 80960 :

       -ACA ⎪ -ACA_A ⎪ -ACB ⎪ -ACC ⎪ -AKA ⎪ -AKB ⎪ -AKC ⎪ -AMC
           Spécifier quelle variante de l'architecture 960 est utilisée par
           la cible.

       -b  Ajouter du code pour collecter des statistiques concernant les
           branchements empruntés.

       -no-relax
           Ne pas modifier les instructions compare-and-branch pour les long
           déplacements ; générer une erreur si nécessaire.

       Les options suivantes sont disponibles quand as est configuré pour la
       série des Mitsubishi M32R :

       --m32rx
           Spécifier le processeur de la famille M32R utilisé par la cible.
           Le processeur par défaut est le M32R, mais cette option le
           remplace par le M32RX.

       --warn-explicit-parallel-conflicts or --Wp
           Produire des messages d'avertissement quand des constructions
           parallèles discutables sont rencontrées.

       --no-warn-explicit-parallel-conflicts or --Wnp
           Ne pas produire de message d'avertissement quand des constructions
           parallèles discutables sont rencontrées.

       Les options suivantes sont disponibles quand as est configuré pour la
       série des Motorola 68000 :

       -l  Raccourcir les références vers des symboles non définis à un
           mot au lieu de deux.

       -m68000 ⎪ -m68008 ⎪ -m68010 ⎪ -m68020 ⎪ -m68030
       ⎪ -m68040 ⎪ -m68060 ⎪ -m68302 ⎪ -m68331 ⎪ -m68332
       ⎪ -m68333 ⎪ -m68340 ⎪ -mcpu32 ⎪ -m5200
           Spécifier le processeur de la famille 68000 utilisé par la cible.
           Le processeur par défaut est le 68020, mais cela peut être
           modifié au moment de la configuration.

       -m68881 ⎪ -m68882 ⎪ -mno-68881 ⎪ -mno-68882
           La machine cible possède un (ne possède pas de) coprocesseur
           flottant. On présuppose l'existence d'un coprocesseur pour les
           68020, 68030, et cpu32. Bien que le 68000 de base ne soit pas
           compatible avec le 68881, une combinaison des deux peut être
           spécifiée, puisqu'il est possible de faire émuler les
           instructions du coprocesseur par le processeur principal.

       -m68851 ⎪ -mno-68851
           La machine cible possède un (ne possède pas de) coprocesseur
           d'unité de gestion de mémoire (memory-management unit, MMU). On
           présuppose l'existence d'une MMU pour les 68020 et supérieurs.

       Pour obtenir des détails concernant les options des fonctionnalités
       PDP-11 dépendantes de la machine, voyez @ref{PDP-11-Options}.

       -mpic ⎪ -mno-pic
           Générer du code indépendant (dépendant) de la position. -mpic
           est utilisé par défaut.

       -mall
       -mall-extensions
           Autoriser toutes les extensions du jeu d'instructions. C'est le
           comportement par défaut.

       -mno-extensions
           Désactiver toutes les extensions du jeu d'instructions. C'est le
           comportement par défaut.

       -mextension ⎪ -mno-extension
           Activer (désactiver) une extension particulière du jeu
           d'instructions

       -mcpu
           Activer les extensions du jeu d'instructions prises en charge par
           un CPU particulier, et désactiver toutes les autres extensions.

       -mmachine
           Activer les extensions du jeu d'instructions prises en charge par
           un modèle de machine particulier, et désactiver toutes les autres
           extensions.

       Les options suivantes sont disponibles quand as est configuré pour un
       processeur picoJava :

       -mb Générer une sortie au format gros-boutiste.

       -ml Générer une sortie au format petit-boutiste.

       Les options suivantes sont disponibles quand as est configuré pour la
       série des Motorola 68HC11 et 68HC12 :

       -m68hc11 ⎪ -m68hc12
           Spécifier le processeur utilisé par la cible. Le processeur par
           défaut est défini par une option de configuration lors de la
           construction de l'assembleur.

       --force-long-branchs
           Les branchements relatifs sont convertis en branchements absolus.
           Cela concerne les branchements conditionnels, les branchements
           inconditionnels et les branchements sur une sous-routine.

       -S ⎪ --short-branchs
           Ne pas convertir les branchements relatifs en branchements absolus
           quand le décalage (offset) est hors de portée.

       --strict-direct-mode
           Ne pas remplacer le mode d'adressage direct par le mode d'adressage
           étendu quand l'instruction ne prend pas en charge le mode
           d'adressage direct.

       --print-insn-syntax
           Afficher la syntaxe de l'instruction en cas d'erreur.

       --print-opcodes
           Afficher la liste des instructions avec leur syntaxe et se
           terminer.

       --generate-example
           Afficher un exemple d'instruction pour chaque instruction possible
           et ensuite se terminer. Cette option n'est utile que pour tester
           as.

       Les options suivantes sont disponibles quand as est configuré pour
       l'architecture SPARC :

       -Av6 ⎪ -Av7 ⎪ -Av8 ⎪ -Asparclet ⎪ -Asparclite
       -Av8plus ⎪ -Av8plusa ⎪ -Av9 ⎪ -Av9a
           Sélectionner explicitement une variante de l'architecture SPARC.

           -Av8plus et -Av8plusa sélectionnent un environnement 32 bits.
           -Av9 et -Av9a sélectionnent un environnement 64 bits.

           -Av8plusa et -Av9a activent le jeu d'instructions SPARC V9 avec les
           extensions UltraSPARC.

       -xarch=v8plus ⎪ -xarch=v8plusa
           Pour la compatibilité avec l'assembleur Solaris v9. Ces options
           sont équivalentes à -Av8plus et -Av8plusa respectivement.

       -bump
           Avertir quand l'assembleur passe à une autre architecture.

       Les options suivantes sont disponibles quand as est configuré pour un
       processeur MIPS :

       -G nbr
           Cette option fixe la taille maximale d'un objet pouvant être
           référencé implicitement par le registre « gp ». Elle n'est
           acceptée que pour les cibles qui utilisent le format ECOFF, comme
           une DECstation exécutant Ultrix. La valeur par défaut est 8.

       -EB Générer une sortie au format gros-boutiste.

       -EL Générer une sortie au format petit-boutiste.

       -mips1
       -mips2
       -mips3
       -mips4
       -mips32
       -mips64
           Générer du code pour un niveau particulier de l'architecture de
           jeu d'instructions (Instruction Set Architecture, ISA) MIPS.
           -mips1 correspond aux processeurs R2000 et R3000, -mips2 au
           processeur R6000 et -mips3 au processeur R4000.  -mips5, -mips32 et
           -mips64 correspondent aux processeurs génériques d'ISA MIPS V,
           MIPS32 et MIPS64, respectivement.

       -m4650
       -no-m4650
           Générer du code pour la puce MIPS R4650. Cela indique Ã
           l'assembleur d'accepter les instructions mad et madu, et de ne pas
           prévoir d'instruction nop autour des accès aux registres HI et
           LO.  -no-m4650 désactive cette option.

       -mcpu=cpu
           Générer du code pour un type de cpu MIPS particulier. C'est
           exactement équivalent à -mcpu, sauf qu'un plus grand nombre de
           valeurs de cpu sont comprises.

       --emulation=nom
           Cette option fait émuler par as un as configuré pour une autre
           cible, à tous les égards, ce qui inclut le format de sortie
           (choix entre ELF et ECOFF uniquement), le traitement des pseudo-
           opcodes (codes opératoires) qui peuvent générer des informations
           de débogage ou stocker des informations sur la table des symboles,
           et le boutisme (ordre des octets) par défaut. Les noms de
           configurations disponibles sont mipsecoff, mipself, mipslecoff,
           mipsbecoff, mipslelf et mipsbelf. Les deux premières ne modifient
           pas le boutisme par défaut qui est celui de la cible primaire pour
           laquelle l'assembleur a été configuré ; les autres utilisent par
           défaut le gros- ou le petit-boutisme comme indiqué par le b ou le
           l dans le nom. L'utilisation de -EB ou -EL surchargera dans tous
           les cas la sélection de boutisme.

           Cette option n'est actuellement supportée que lorsque l'as de la
           cible primaire est configuré pour une cible MIPS ELF ou ECOFF. En
           outre, la cible primaire ou d'autres spécifiées avec --enable-
           targets=... au moment de la configuration doit inclure la prise en
           charge de l'autre format, si tous deux doivent être disponibles.
           Par exemple, la configuration de l'Irix 5 inclut le support pour
           les deux formats.

           Par la suite, cette option supportera plus de configurations, avec
           un contrôle plus fin sur le comportement de l'assembleur, et sera
           prise en charge pour un plus grand nombre de processeurs.

       -nocpp
           as ignore cette option. Elle est acceptée pour assurer la
           compatibilité avec les outils natifs.

       --trap
       --no-trap
       --break
       --no-break
           Contrôle la façon de traiter le débordement consécutif à une
           multiplication, et la division par zéro. --trap ou --no-break (qui
           sont des synonymes) utilisent un mécanisme d'interception
           d'exceptions (trap) (et ne fonctionnent qu'avec l'architecture de
           jeu d'instructions (Instruction Set Architecture) de niveau 2 ou
           supérieur) ; --break ou --no-trap (également des synonymes, et le
           comportement par défaut) utilisent une interruption (break).

       -n  Quand cette option est utilisée, as émettra un avertissement Ã
           chaque fois qu'il génère une instruction nop depuis une macro.

       Les options suivantes sont disponibles quand as est configuré pour le
       processeur MCore :

       -jsri2bsr
       -nojsri2bsr
           Activer ou désactiver la transformation JSRI vers BSR. Par
           défaut, elle est activée. L'option de ligne de commandes
           -nojsri2bsr peut être utilisée pour la désactiver.

       -sifilter
       -nosifilter
           Activer ou désactiver le comportement du filtre à silicium. Par
           défaut, il est désactivé. La valeur par défaut peut être
           surchargée par l'option de ligne de commandes -sifilter.

       -relax
           Modifier les instructions de saut pour les longs déplacements.

       -mcpu=[210⎪340]
           Sélectionner le type de cpu présent sur le matériel cible. Ceci
           contrôle quelles instructions peuvent être assemblées.

       -EB Assembler pour une cible gros-boutiste.

       -EL Assembler pour une cible petit-boutiste.

       Voyez les pages info pour la documentation sur les options spécifiques
       au MMIX.

VOIR AUSSI
       gcc(1), ld(1), et les entrées Info pour les binutils et ld.

COPYRIGHT
       Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002
       Free Software Foundation, Inc.

       L'autorisation est accordée de copier, de distribuer et/ou de modifier
       ce document sous les termes de la GNU Free Documentation License
       version 1.1 ou toute autre version ultérieure publiée par la Free
       Software Foundation, sans section invariante ni texte de couverture ni
       texte de quatrième de couverture. Une copie de la licence est incluse
       dans la section intitulée « GNU Free Documentation License ».

TRADUCTION
       Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.



binutils-2.11.93.0.2             5 avril 2002                            AS(1)