as






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]









                             ‐2‐


     Opzioni target IA−64 :
   [−mconstant−gp−mauto−pic]
   [−milp32−milp64−mlp64−mp64]
   [−mlembe]
   [−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]









                             ‐3‐


   [−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.)










                             ‐4‐


     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











                             ‐5‐


    −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









                             ‐6‐


    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









                             ‐7‐


    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).









                             ‐8‐


     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.











                             ‐9‐


     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ò









                            ‐10‐


    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’’.











                            ‐11‐


     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.









                            ‐12‐


    −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











                            ‐13‐


−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.











                            ‐14‐


−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









                            ‐15‐


    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.










                            ‐16‐


−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.

gcc(1), ld(1), e i campi Info per binutils e ld.

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









                            ‐17‐


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’’.