Content-type: text/html
Manpage of AS
AS
Section: Outils de Développement GNU (1)
Updated: binutils-2.11.93.0.2
Index
Return to Main Contents
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.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- VOIR AUSSI
-
- COPYRIGHT
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 20:41:52 GMT, July 10, 2005