NOME
AS − l’assembler GNU portabile.
SINTASSI
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]
DESCRIZIONE
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).
OPZIONI
−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.
VEDERE ANCHE
gcc(1), ld(1), e i campi Info per binutils e ld.
COPYRIGHT
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’’.