AS - l'assembler GNU portabile.
as [-a[cdhlns][=file]] [--alternate]
[-D]
[--defsym sym=val] [-f] [-g]
[--gstabs] [--gstabs+]
[--gdwarf-2] [--help] [-I dir] [-J]
[-K] [-L]
[--listing-lhs-width=NUM]
[--listing-lhs-width2=NUM]
[--listing-rhs-width=NUM]
[--listing-cont-lines=NUM]
[--keep-locals] [-o objfile] [-R]
[--statistics] [-v]
[-version] [--version] [-W] [--warn]
[--fatal-warnings]
[-w] [-x] [-Z] [--target-help]
[target-options]
[--⎪files ...]
oPZIONI target Alpha:
[-mcpu]
[-mdebug ⎪ -no-mdebug]
[-relax] [-g] [-Gsize]
[-F] [-32addr]
Opzioni target ARC :
[-marc[5⎪6⎪7⎪8]]
[-EB⎪-EL]
Opzioni target ARM :
[-mcpu=processor[+extension...]]
[-march=architecture[+extension...]]
[-mfpu=floating-point-format]
[-mfloat-abi=abi]
[-meabi=ver]
[-mthumb]
[-EB⎪-EL]
[-mapcs-32⎪-mapcs-26⎪-mapcs-float⎪
-mapcs-reentrant]
[-mthumb-interwork] [-k]
Opzioni target CRIS :
[--underscore ⎪ --no-underscore]
[--pic] [-N]
[--emulation=criself ⎪ --emulation=crisaout]
[--march=v0_v10 ⎪ --march=v10 ⎪
--march=v32 ⎪ --march=common_v10_v32]
Opzioni target D10V :
[-O]
Opzioni target D30V :
[-O⎪-n⎪-N]
Opzioni target i386 :
[--32⎪--64] [-n]
Opzioni target i960 :
[-ACA⎪-ACA_A⎪-ACB⎪-ACC⎪-AKA⎪-AKB⎪
-AKC⎪-AMC]
[-b] [-no-relax]
Opzioni target IA-64 :
[-mconstant-gp⎪-mauto-pic]
[-milp32⎪-milp64⎪-mlp64⎪-mp64]
[-mle⎪mbe]
[-mhint.b=ok⎪-mhint.b=warning⎪-mhint.b=error]
[-x⎪-xexplicit] [-xauto] [-xdebug]
Opzioni target IP2K :
[-mip2022⎪-mip2022ext]
Opzioni target M32R :
[--m32rx⎪--[no-]warn-explicit-parallel-conflicts⎪
--W[n]p]
Opzioni target M680X0 :
[-l]
[-m68000⎪-m68010⎪-m68020⎪...]
Opzioni target M68HC11 :
[-m68hc11⎪-m68hc12⎪-m68hcs12]
[-mshort⎪-mlong]
[-mshort-double⎪-mlong-double]
[--force-long-branchs] [--short-branchs]
[--strict-direct-mode] [--print-insn-syntax]
[--print-opcodes] [--generate-example]
Opzioni target MCORE :
[-jsri2bsr] [-sifilter] [-relax]
[-mcpu=[210⎪340]]
Opzioni target MIPS :
[-nocpp] [-EL] [-EB] [-O[optimization
level]]
[-g[debug level]] [-G num] [-KPIC]
[-call_shared]
[-non_shared] [-xgot]
[-mabi=ABI] [-32] [-n32] [-64]
[-mfp32] [-mgp32]
[-march=CPU] [-mtune=CPU] [-mips1]
[-mips2]
[-mips3] [-mips4] [-mips5] [-mips32]
[-mips32r2]
[-mips64] [-mips64r2]
[-construct-floats] [-no-construct-floats]
[-trap] [-no-break] [-break] [-no-trap]
[-mfix7000] [-mno-fix7000]
[-mips16] [-no-mips16]
[-mips3d] [-no-mips3d]
[-mdmx] [-no-mdmx]
[-mdebug] [-no-mdebug]
[-mpdr] [-mno-pdr]
Opzioni target MMIX :
[--fixed-special-register-names] [--globalize-symbols]
[--gnu-syntax] [--relax] [--no-predefined-symbols]
[--no-expand] [--no-merge-gregs] [-x]
[--linker-allocated-gregs]
Opzioni target PDP11 :
[-mpic⎪-mno-pic] [-mall] [-mno-extensions]
[-mextension⎪-mno-extension]
[-mcpu] [-mmachine]
Opzioni target picoJava :
[-mb⎪-me]
Opzioni target 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]
Opzioni target SPARC :
[-Av6⎪-Av7⎪-Av8⎪-Asparclet⎪-Asparclite
-Av8plus⎪-Av8plusa⎪-Av9⎪-Av9a]
[-xarch=v8plus⎪-xarch=v8plusa] [-bump]
[-32⎪-64]
Opzioni target TIC54X :
[-mcpu=54[123589]⎪-mcpu=54[56]lp]
[-mfar-mode⎪-mf]
[-merrors-to-file <filename>⎪-me
<filename>]
Opzioni target Xtensa :
[--[no-]text-section-literals] [--[no-]absolute-literals]
[--[no-]target-align] [--[no-]longcalls]
[--[no-]transform]
[--rename-section oldname=newname]
GNU as è in realtà una famiglia di
assemblatori. Se si usa (o si è usato) l'assemblatore GNU in una
architettura, si dovrebbe trovare un ambiente abbastanza simile quando lo si
usa in un'altra architettura. Ciascuna versione ha molto in comune con le
altre, inclusi i formati dei file oggetto, la maggior parte delle direttive
assembler (spesso chiamate pseudo-ops) e la sintassi assembler.
as è fatto principalmente per assemblare l'output
del compilatore GNU C "gcc" per l'uso da
parte del linker "ld". Ciononostante
abbiamo provato a far assemblare correttamente a as qualunque cosa
venga assemblata correttamente da altri assemblatori per la stessa macchina.
Le eccezioni sono documentate esplicitamente. Ciò non significa che
as usa sempre la stessa sintassi di un altro assemblatore per la
stessa architettura; per esempio conosciamo molte versioni incompatibili
della sintassi del linguaggio assembly 680x0.
Ogni volta che si esegue as esso assembla esattamente un
programma sorgente. Il programma sorgente è fatto di uno o più
file. (Anche lo standard input è un file.)
Si inserisce as in una linea di comando che ha zero o
più nomi di file di input. I file di input sono letti (da sinistra a
destra). Un argomento della linea di comando (in qualunque posizione) che
non ha alcuno speciale significato è considerato un nome di file di
input.
Se non si dà a as alcun nome di file esso tenta di
leggere un file di input dallo standard input di as , che è
normalmente il proprio terminale. Si potrebbe dover digitare ctl-D
per dire a as che non c'è più programma da
assemblare.
Usare -- se si ha bisogno di nominare esplicitamente il
file dello standard input nella propria linea di comando.
Se il sorgente è vuoto, as produce un piccolo, vuoto
file oggetto.
as può scrivere avvisi e messaggi di errore sul file
dello standard error (solitamente il proprio terminale). Ciò potrebbe
non accadere quando un compilatore esegue as automaticamente. Gli
avvisi riportano un'assunzione fatta, in modo che as possa continuare
ad assemblare un programma; gli errori riportano un grave problema che
arresta l'assemblaggio.
Se si invoca as atraverso il compilatore C GNU, si
può usare l'opzione -Wa per passare argomenti
all'assemblatore. Gli argomenti dell'assemblatore devono essere separati tra
loro (e da -Wa) da virgole. Per esempio:
gcc -c -g -O -Wa,-alh,-L file.c
Questo passa due opzioni all'assemblatore: -alh (emette un
elenco sullo standard output con livello alto e sorgente assembly) e
-L (mantiene i simboli locali nella tabella simboli).
Solitamente non c'è bisogno di usare questo meccanismo
-Wa, poiché molte opzioni dei compilatori a linea di comando
sono automaticamente passate all'assemblatore dal compilatore. (Si
può chiamare il driver del compilatore GNU con l'opzione -v
per vedere precisamente quali opzioni esso passa a ciascun passo di
compilazione, incluso l'assemblatore).
- -a[cdhlmns]
- Attiva le elencazioni, in una tra molte modalità:
- -ac
- omette i falsi condizionali
- -ad
- omette le direttive di debugging
- -ah
- include il sorgente di alto livello
- -al
- include l'assembly
- -am
- include le macro espansioni
- -an
- omette il processamento dei form
- -as
- include simboli
- =file
- imposta il nome del file elencato
Si possono combinare queste opzioni; per esempio, usare
-aln per l'assembly listing senza il processamento dei form.
L'opzione =file , se usata, deve essere l'ultima. Da solo, -a
significa -ahls.
- --alternate
- Inizia in modalità macro alternata, vedere
@ref{Altmacro,,".altmacro"}.
- -D
- Ignorato. Questa opzione è accettata per compatibilità di
script con chiamate ad altri assemblatori.
- --defsym
sym=value
- Definisce il simbolo sym con il valore value prima di
assemblare il file di input. value deve essere una costante intera.
Come in C, un 0x iniziale indica un valore esadecimale, e un
0 iniziale indica un valore ottale.
- -f
- ``fast''---skip salta spazi e commenti di preprocessing (assume che il
sorgente sia l'output del compilatore).
- -g
- --gen-debug
- Genera informazioni di debugging per ciascuna linea sorgente
dell'assembler usando il formato di debug preferito dal target. Questo
attualmente significa uno tra STABS, ECOFF o DWARF2.
- --gstabs
- Genera informazioni stabs di debugging per ciascuna linea dell'assembler.
Questo potrebbe aiutare il debugging del codice assembler, se il debugger
lo può gestire.
- --gstabs+
- Genera informazioni stabs di debugging per ciascuna linea dell'assembler,
con estensioni GNU che probebilmente solo gdb può usare, e che
può mandare in crash altri debugger o farli rifiutare di leggere il
proprio programma. Questo può aiutare il debugging del codice
assembler. Attualmente la sola estensione GNU è la locazione della
directory di lavoro corrente al momento dell'assemblaggio.
- --gdwarf-2
- Genera informazioni di debugging DWARF2 per ciascuna linea dell'
assembler. Questo può aiutare il debugging del codice assembler, se
il debugger può usarlo. Notare che questa opzione è
supportata solo da alcuni target, non da tutti.
- --help
- Stampa un sommario delle opzioni della linea di comando ed esce.
- --target-help
- Stampa un sommario di tutte le opzioni specifiche del target ed esce.
- -I dir
- Aggiunge la directory dir all'elenco di ricerca per le direttive
".include" .
- -J
- Non dà alcun avviso dell'overflow con segno.
- -K
- Emette avvisi quando le tabelle di differenza sono alterate per lunghi
spostamenti.
- -L
- --keep-locals
- Mantiene (nella tabella simboli) i simboli locali. Su sistemi a.out
tradizionali esso inizia con L, ma sistemi differenti hanno
etichette di prefissi locali differenti.
- --listing-lhs-width=number
- Imposta la massima ampiezza, in parole, della colonna dati in output per
un assembler che elenca number.
- --listing-lhs-width2=number
- Imposta la massima ampiezza, in parole, della colonna dati in output per
le linee di continuazione in un assembler che elenca number.
- --listing-rhs-width=number
- Imposta la massima ampiezza di una linea sorgente di input, come
visualizzato in un elenco, in number byte.
- --listing-cont-lines=number
- Imposta il numero massimo di linee stampate in un elenco per una singola
linea di input in number + 1.
- -o objfile
- Nomina il file oggetto di output da as objfile.
- -R
- Racchiude la sezione dati nella sezione testo.
- --statistics
- Stampa lo spazio massimo (in byte) e il tempo totale (in secondi) usato
dell'assembly.
- --strip-local-absolute
- Rimuove i simboli locali assoluti dalla tabella simboli in uscita.
- -v
- -version
- Stampa la versione di as.
- --version
- Stampa la versione di as ed esce.
- -W
- --no-warn
- Sopprime i messaggi di avviso.
- --fatal-warnings
- Tratta gli avvisi come errori.
- --warn
- Non sopprime i messaggi di avviso e non li tratta come errori.
- -w
- Ignorato.
- -x
- Ignorato.
- -Z
- Genera un file oggetto anche dopo degli errori.
- -- ⎪ files ...
- Lo standard input, o i file sorgenti da assemblare.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore ARC .
- -marc[5⎪6⎪7⎪8]
- Questa opzione seleziona la variante core del processore.
- -EB ⎪ -EL
- Seleziona l'output di tipo big-endian (-EB) o little-endian (-EL).
Le seguenti opzioni sono disponibili quando as è
configurato per la famiglia di processori ARM .
- -mcpu=processor[+extension...]
- Specifica quale variante del processore ARM è il target.
- -march=architecture[+extension...]
- Specifica quale variante dell'architettura ARM è usata dal
target.
- -mfpu=floating-point-format
- Seleziona quale architettura Floating Point è il target.
- -mfloat-abi=abi
- Seleziona quale ABI floating point è in uso.
- -mthumb
- Abilita la decodifica delle sole istruzioni Thumb.
- -mapcs-32 ⎪
-mapcs-26 ⎪ -mapcs-float ⎪ -mapcs-reentrant
- Seleziona quale convenzione di chiamata della procedura è in
uso.
- -EB ⎪
-EL
- Seleziona l'output di tipo big-endian (-EB) o little-endian (-EL).
- -mthumb-interwork
- Specifica che il codice è stato generato con un'interazione tra
codice Thumb ARM in mente.
- -k
- Specifica che è stato generato codice PIC.
Vedere le pagine info per la documentazione delle opzioni
specifiche di CRIS.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore D10V.
- -O
- Ottimizza l'output parallelizzando le istruzioni.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore D30V.
- -O
- Ottimizza l'output parallelizzando le istruzioni.
- -n
- Avvisa quando sono generati dei nops.
- -N
- Avvisa quando è generato un nop dopo un'istruzione di
moltiplicazione a 32-bit.
Le seguenti opzioni sono disponibili quando as è
configurato per il processore Intel 80960.
- -ACA ⎪ -ACA_A ⎪
-ACB ⎪ -ACC ⎪ -AKA ⎪ -AKB ⎪ -AKC ⎪
-AMC
- Specificano quale variante dell'architattura 960 è il target.
- -b
- Aggiunge codice per raccogliere statistiche sulle ramificazioni
prese.
- -no-relax
- Non altera le istruzioni compare-and-branch sui lunghi spostamenti; errore
se necessario.
Le seguenti opzioni sono disponibili quando as è
configurato per le serie Ubicom IP2K.
- -mip2022ext
- Specifica che le istruzioni estese IP2022 sono permesse.
- -mip2022
- Ripristina il comportamento di default, che restringe le istruzioni
permesse a quelle base IP2022.
Le seguenti opzioni sono disponibili quando as è
configurato per le serie Renesas M32R (una volta Mitsubishi M32R).
- --m32rx
- Specifica quale processore nella famiglia M32R è il target. Il
default è normalmente l'M32R, ma questa opzione lo cambia in
M32RX.
- --warn-explicit-parallel-conflicts
or --Wp
- Produce messaggi di avviso quando vengono incontrati costrutti paralleli
discutibili.
- --no-warn-explicit-parallel-conflicts
or --Wnp
- Non produce messaggi di avviso quando vengono incontrati costrutti
paralleli discutibili.
Le seguenti opzioni sono disponibili quando as è
configurato per le serie Motorola 68000.
- -l
- Riferimenti più corti a simboli indefiniti, di una parola invece di
due.
- -m68000 ⎪
-m68008 ⎪ -m68010 ⎪ -m68020 ⎪ -m68030
- ⎪ -m68040 ⎪ -m68060 ⎪ -m68302 ⎪ -m68331
⎪ -m68332
- ⎪ -m68333 ⎪ -m68340 ⎪ -mcpu32 ⎪
-m5200
- Specifica quale è il processore target nella famiglia 68000. Il
default è normalmente il 68020, ma può essere cambiato in
fase di configurazione.
- -m68881 ⎪
-m68882 ⎪ -mno-68881 ⎪ -mno-68882
- La macchina target ha (o non ha) un coprocessore floating-point. Il
default è supporre un coprocessore per 68020, 68030, e cpu32.
Sebbene il 68000 di base non sia compatibile con il 68881, può
essere specificata una combinazione dei due, poiché è
possibile fare l' emulazione delle istruzioni del coprocessore con il
processore principale.
- -m68851 ⎪
-mno-68851
- La macchina target ha (o non ha) un'unità coprocessore di gestione
memoria. Il default è supporre un MMU per 68020 e superiore.
Per dettagli sulle opzioni delle caratteristiche PDP-11 dipendenti
dalla macchina, vedere @ref{PDP-11-Options}.
- -mpic ⎪
-mno-pic
- Genera codice indipendente dalla posizione (o dipendente dalla posizione).
Il default è -mpic.
- -mall
- -mall-extensions
- Abilita tutte le estensioni dei set di istruzioni. Questo è il
default.
- -mno-extensions
- Disabilita tutte le estensioni dei set di istruzioni.
- -mextension
⎪ -mno-extension
- Abilita (o disabilita) una particolare estensione del set istruzioni.
- -mcpu
- Abilita le estensioni del set di istruzioni supportate da una particolare
CPU, e disabilita tutte le altre estensioni.
- -mmachine
- Abilita le estensioni del set di istruzioni supportate da un particolare
modello di macchina, e disabilita tutte le altre estensioni.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore picoJava.
- -mb
- Genera output in formato ``big endian''.
- -ml
- Genera output in formato ``little endian''.
Le seguenti opzioni sono disponibili quando as è
configurato per le serie Motorola 68HC11 o 68HC12.
- -m68hc11 ⎪
-m68hc12 ⎪ -m68hcs12
- Specifica quale è il processore target. Il default è
definito dalla opzione di configurazione quando si costruisce
l'assembler.
- -mshort
- Specifica di usare l'intero 16-bit ABI.
- -mlong
- Specifica di usare l'intero 32-bit ABI.
- -mshort-double
- Specifica di usare il doppio 32-bit ABI.
- -mlong-double
- Specifica di usare il doppio 64-bit ABI.
- --force-long-branchs
- Le ramificazioni relative sono trasformate in assolute. Questo riguarda
ramificazioni condizionali, ramificazioni non condizionali e ramiicazioni
a una subroutine.
- -S ⎪
--short-branchs
- Non trasforma le ramificazioni relativa in assolute quando l'offset
è fuori gamma.
- --strict-direct-mode
- Non trasforma il modo ad indirizzamento diretto in modo ad indirizzamento
esteso quando l'istruzione non supporta il modo ad indirizzamento
diretto.
- --print-insn-syntax
- Stampa la sintassi dell'istruzione in caso di errore.
- --print-opcodes
- stampa l'elenco delle istruzioni con sintassi ed esce.
- --generate-example
- stampa n esempio di istruzione per ciascuna possibile istruzione e quindi
esce. Questa opzione è utile solo per il testing as.
Le seguenti opzioni sono disponibili quando as è
configurato per l'architettura SPARC:
- -Av6 ⎪ -Av7 ⎪
-Av8 ⎪ -Asparclet ⎪ -Asparclite
- -Av8plus ⎪
-Av8plusa ⎪ -Av9 ⎪ -Av9a
- Seleziona esplicitamente una variante dell'architettura SPARC.
-Av8plus e -Av8plusa seleziona un ambiente a 32
bit. -Av9 e -Av9a seleziona un ambiente a 64 bit.
-Av8plusa e -Av9a abilita il set di istruzioni
SPARC V9 con estensioni UltraSPARC.
- -xarch=v8plus
⎪ -xarch=v8plusa
- Per compatibilità con l'assembler Solaris v9. Queste opzioni sono
equivalenti rispettivamente a -Av8plus e -Av8plusa.
- -bump
- Avvisa quando l'assembler commuta su un'altra architettura.
Le seguenti opzioni sono disponibili quando as è
configurato per l'architettura 'c54x.
- -mfar-mode
- Abilita il modo di indirizzamento esteso. Tutti gli indirizzi e
rilocazioni assumono l'indirizzamento esteso (di solito a 23 bit).
- -mcpu=CPU_VERSION
- Imposta la versione di CPU per la quale si compila.
- -merrors-to-file
FILENAME
- Redirige l'output errore su un file, per sistemi difettosi che non
supportano tale comportamento nella shell.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore MIPS.
- -G num
- Questa opzione imposta la più ampia dimensioni di un oggetto che
può essere referenziato implicitamente con il registro
"gp". E' accettato solo per target che
usano il formato ECOFF, come una DECstation su cui funziona Ultrix. Il
valore predefinito è 8.
- -EB
- Genera output in formato ``big endian''.
- -EL
- Genera output in formato ``little endian''.
- -mips1
- -mips2
- -mips3
- -mips4
- -mips5
- -mips32
- -mips32r2
- -mips64
- -mips64r2
- Genera codice per un particolare livello di Instruction Set Architecture
MIPS. -mips1 è un alias per -march=r3000,
-mips2 è un alias per -march=r6000, -mips3
è un alias per -march=r4000 e -mips4 è un
alias per -march=r8000. -mips5, -mips32,
-mips32r2, -mips64, e -mips64r2 corrisponde
rispettivamente ai processori generici MIPS V, MIPS32,
MIPS32 Release 2, MIPS64, e MIPS64 Release 2
ISA.
- -march=CPU
- Genera codice per una particolare cpu MIPS.
- -mtune=cpu
- Programma e regola per una particolare cpu MIPS.
- -mfix7000
- -mno-fix7000
- Fa inserire dei nops se la lettura del registro di destinazione di
un'istruzione mfhi o mflo avviene nelle due istruzioni seguenti.
- -mdebug
- -no-mdebug
- Fa inserire l'output di debugging stabs-style per andare in una sezione
ECOFF-style .mdebug invece che nelle sezioni standard ELF .stabs.
- -mpdr
- -mno-pdr
- Controlla la generazione di sezioni
".pdr".
- -mgp32
- -mfp32
- Le dimensioni del registro sono normalmente dedotte da ISA e ABI, ma
questi flag forzano la trattazione di un certo gruppo di registri come se
fossero sempre ampi 32 bit. -mgp32 controlla la dimensione dei
registri di uso generale e dei -mfp32 controlla la dimensione dei
registri floating-point.
- -mips16
- -no-mips16
- Genera codice per il processore MIPS 16. Ciò equivale a mettere
".set mips16" all'inizio del file
assembly. -no-mips16 disabilita questa opzione.
- -mips3d
- -no-mips3d
- Genera codice per le Application Specific Extension MIPS-3D. Questo dice
all'assembler di accettare istruzioni MIPS-3D. -no-mips3d
disabilita questa opzione.
- -mdmx
- -no-mdmx
- Genera codice per la Application Specific Extension MDMX. Questo dice
all'assembler di accettare istruzioni MDMX. -no-mdmx disabilita
questa opzione.
- --construct-floats
- --no-construct-floats
- L'opzione --no-construct-floats disabilita la costruzione di
costanti floating point a doppia ampiezza caricando le due metà del
valore nei due registri floating point a singola ampiezza che compone il
registro a doppia ampiezza. Per default è selezionato
--construct-floats, permettendo la costruzione di queste costanti
floating point.
- --emulation=name
- Questa opzione fa sì che as emuli as configurato per
qualche altro target, in tutti gli aspetti, incluso il formato di output (
scegliendo solo tra ELF e ECOFF), la manipolazione degli pseudo-opcodes,
che può generare informazioni di debug o memorizzare informazioni
sulla tabella simboli, e endian di default. I nomi di configurazione
disponibili sono: mipsecoff, mipself, mipslecoff,
mipsbecoff, mipslelf, mipsbelf. I primi due non
alterano l'endian di default da quello del target primario per il quale
l'assembler è stato configurato; gli altri cambiano il default in
little- o big-endian coma indicato da b o l nel nome. L'uso
di -EB o -EL sovrascriverà la selezione dell'endian
in ogni caso.
Questa opzione attualmente è supportata solo quando il
target primario per cui as è configurato è un MIPS
ELF o ECOFF. Inoltre il target primario o altri specificati con
--enable-targets=... al momento della configuraizone deve
includere il supporto per l'altro formato, se entrambi vengono resi
disponibili. Per esempio, la configurazione Irix 5 include il supporto
per entrambi.
Alla fine questa opzione supporterà più
configurazioni, con un maggior controllo a grana fine sul comportamento
dell'assembler, e verrà supportata per più processori.
- -nocpp
- as ignora questa opzione. E' accetata per compatibilità con
gli strumenti nativi.
- --trap
- --no-trap
- --break
- --no-break
- Controlla come comportarsi con l'overflow di moltiplcazione e la divisione
per zero. --trap o --no-break (che sono sinonimi)
intercettano un'eccezione trap (e funzionano solo per l'Instruction Set
Architecture level 2 e maggiore); --break o --no-trap
(anch'essi sinonimi, e predefiniti) intercettano un'eccezione break.
- -n
- Quando questa opzione è usata, as emetterà un avviso
ogni volta che genera un'istruzione nop da una macro.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore MCore.
- -jsri2bsr
- -nojsri2bsr
- abilita o disabilita la trasformazione da JSRI a BSR. Per default è
abilitato. L'opzione da linea di comando -nojsri2bsr può
esere usata per disabilitarlo.
- -sifilter
- -nosifilter
- Abilita o disabilita il comportamento silicon filter. Per default esso
è disabilitato. Il default può essere sovrascritto
dall'opzione a linea di comando -sifilter.
- -relax
- Altera le istruzioni di salto per i lunghi spostamenti.
- -mcpu=[210⎪340]
- Seleziona il tipo di cpu sull'hardware target. Questo controlla qualil
istruzioni possono essere assemblate.
- -EB
- Assembla per un target big endian.
- -EL
- Assembla per un target little endian.
Vedere le pagine info per avere documentazione sulle opzioni
secifiche per MMIX.
Le seguenti opzioni sono disponibili quando as è
configurato per un processore Xtensa.
- --text-section-literals
⎪ --no-text-section-literals
- Con --text-section-literals, i pool literal sono sparpagliati nella
sezione testo. Il default è --no-text-section-literals, che
mette i literal in una sezione separata nel file di output. Queste opzioni
influenzano solo i literal referenziati attraverso istruzioni relative PC
"L32R"; i literals per le istruzioni in
modo assoluto "L32R" sono gestiti
separatamente.
- --absolute-literals
⎪ --no-absolute-literals
- Indica all'assembler se le istruzioni
"L32R" usano indirizzamenti PC assoluti
o relativi. Il default è di prendere l' indirizzamento assoluto se
il processore Xtensa include l'opzione
"L32R" di indirizzamento assoluto.
Altrimenti può essere usato solo il modo PC relativo
"L32R".
- --target-align
⎪ --no-target-align
- Abilita o disabilita automaticamente l'allineamento per ridurre le
penalizzazioni dei salti al costo di un po' più codice. Il default
è --target-align.
- --longcalls
⎪ --no-longcalls
- abilita o disabilita la trasformazione delle istruzioni di chiamata per
permettere chiamate attraverso un maggior spettro di indirizzi. Il default
è --no-longcalls.
- --transform
⎪ --no-transform
- Abilita o disabilita tutte le trasformazioni assembler delle sitruzioni
Xtensa. Il default è --transform; --no-transform deve
essere usato solo nei rari casi in cui le istruzioni devono essere
esattamente come specificato nel sorgente assembly.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001,
2002 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU Free
Documentation License''.