AS(1)

名称
AS - ポータブル GNU アセンブラ

書式
as [-a[cdhlns][=file]] [-D] [--defsym sym=val]
 [-f] [--gstabs] [--gstabs+] [--gdwarf2] [--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 ...]

ターゲット Alpha オプション:
   [-mcpu]
   [-mdebug | -no-mdebug]
   [-relax] [-g] [-Gsize]
   [-F] [-32addr]

ターゲット ARC オプション:
   [-marc[5|6|7|8]]
   [-EB|-EL]

ターゲット ARM オプション:
   [-mcpu=processor[+extension...]]
   [-march=architecture[+extension...]]
   [-mfpu=floating-point-format]
   [-mfloat-abi=abi]
   [-mthumb]
   [-EB|-EL]
   [-mapcs-32|-mapcs-26|-mapcs-float|
    -mapcs-reentrant]
   [-mthumb-interwork] [-moabi] [-k]

ターゲット CRIS オプション:
   [--underscore | --no-underscore]
   [--pic] [-N]
   [--emulation=criself | --emulation=crisaout]

ターゲット D10V オプション:
   [-O]

ターゲット D30V オプション:
   [-O|-n|-N]

ターゲット i386 オプション:
   [--32|--64] [-n]

ターゲット i960 オプション:
   [-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|
    -AKC|-AMC]
   [-b] [-no-relax]

ターゲット IP2K オプション:
   [-mip2022|-mip2022ext]

ターゲット M32R オプション:
   [--m32rx|--[no-]warn-explicit-parallel-conflicts|
   --W[n]p]

ターゲット M680X0 オプション:
   [-l] [-m68000|-m68010|-m68020|...]

ターゲット 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]

ターゲット MCORE オプション:
   [-jsri2bsr] [-sifilter] [-relax]
   [-mcpu=[210|340]]

ターゲット MIPS オプション:
   [-nocpp] [-EL] [-EB] [-O[optimization level]]
   [-g[debug level]] [-G num] [-KPIC] [-call_shared]
   [-non_shared] [-xgot] [--membedded-pic]
   [-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]

ターゲット MMIX オプション:
   [--fixed-special-register-names] [--globalize-symbols]
   [--gnu-syntax] [--relax] [--no-predefined-symbols]
   [--no-expand] [--no-merge-gregs] [-x]
   [--linker-allocated-gregs]

ターゲット PDP11 オプション:
   [-mpic|-mno-pic] [-mall] [-mno-extensions]
   [-mextension|-mno-extension]
   [-mcpu] [-mmachine]

ターゲット picoJava オプション:
   [-mb|-me]

ターゲット 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]

ターゲット SPARC オプション:
   [-Av6|-Av7|-Av8|-Asparclet|-Asparclite
    -Av8plus|-Av8plusa|-Av9|-Av9a]
   [-xarch=v8plus|-xarch=v8plusa] [-bump]
   [-32|-64]

ターゲット TIC54X オプション:
 [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf]
 [-merrors-to-file <filename>|-me <filename>]

ターゲット Xtensa オプション:
 [--[no-]density] [--[no-]relax] [--[no-]generics]
 [--[no-]text-section-literals]
 [--[no-]target-align] [--[no-]longcalls]

解説
GNU as とは、実は一連のアセンブラのことです。 もしあるアーキテクチャで GNU アセンブラを使う (もしくは、使った ことがある) ならば、他のアーキテクチャで使う時もかなり似た環境となり ます。それぞれのバージョンは他のバージョンと共通の部分が多くあります。 例えば、オブジェクトファイルフォーマットや ほとんどのアセンブラディレクティブ (疑似命令(pseudo-ops)とも呼ばれます)、アセンブラシンタックスなどです。

as が作られた第一の目的は、GNU C コンパイラ "gcc" の出力をリンカ "ld" で使用できるようアセンブルすることです。 確かに、as が、 ネイティブアセンブラがアセンブルできるものはすべて 正しくアセンブルできるようにしようとしてきました。 例外は明確に文書化されています。 このことは、as の用いるシンタックスが、 同一アーキテクチャの他のアセンブラと同じである、 ということを意味するものではありません。 たとえば、680x0 のアセンブラ言語 のシンタックスには互換性のないバージョンが存在することが知られています。

as の起動 1 回ごとに、 ちょうど 1 つのソースプログラムだけをアセンブルします。 ソースプログラムは 1 つ以上のファイルから構成されます (標準入力もファイル 1 つとみなします)。

as に与えるコマンド行には、 0 個以上の入力ファイル名が含まれます。 入力ファイルは (左のファイル名から開始して右へ向って) 読み込まれます。 特別な意味が無いコマンド行引数は (どんな位置であっても) 入力ファイル名であるとみなされます。

もし as にファイル名が指定されなければ、1 つの入力ファイルが as の標準入力 (ふつうは端末) から読み出されます。 ctl-D をタイプすることで、これ以上アセンブルするプログラムが存在しないこと を as に通知します。

コマンド行上で明示的に標準入力を指定する必要のある時は、 -- を使ってください。

ソースが空の場合、as は小さな空のオブジェクトファイルを作成します。

as は、警告およびエラーメッセージを標準エラー出力 (通常は端末) へ出力します。 as が コンパイラによって自動起動された場合は、この限りではありません。 警告とは、欠陥のあるプログラムのアセンブルを続行するために as が仮定した内容を報告したものです。 エラーは、アセンブルを続行できない重大な問題を表します。

as を GNU C コンパイラから起動している場合、 -Wa オプションを使用してアセンブラへの引数を渡せます。 それぞれのアセンブラ引数 (と -Wa) は、コンマで区切られます。 例えば次のようになります。

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

これは 2 個のオプションをアセンブラに渡します: すなわち -alh (高級言語とアセンブラソースのリストを標準出力へ出力) と -L (ローカルシンボルをシンボルテーブルに残す) です。

通常はこの -Wa の機構を使用する必要はありません。 なぜならば、コンパイラがアセンブラに対し、 多くのコンパイラコマンド行オプションを渡すからです (GNU コンパイラドライバを -v オプション付きで起動することで、 アセンブラを含む各コンパイルのパスに対してどのようなオプションを渡すのか、 正確に調べることができます)。

オプション

-a[cdhlmns]
    リスト出力を行います。 次の種類があります。

    -ac 偽の条件を削除します

    -ad デバッグ用ディレクティブを削除します

    -ah 高級言語ソースを含みます

    -al アセンブリを含みます

    -am マクロ拡張を含みます

    -an フォーム処理 (forms processing) を削除します

    -as シンボルを含みます

    =file
        リスト出力を行うファイル名を設定します。

    これらのオプションを組み合わせ可能です。 例えば、-aln はアセンブリリストをフォーム処理無しで出力します。 =file オプションは、使用された場合、 最後のサブオプションである必要があります。 デフォルトのサブオプションは -a だけ指定すると -ahls になります。

-D  無視されます。 このオプションは、他のアセンブラ呼び出しとの互換のために 受け付けられるものです。

--defsym sym=value
    入力ファイルをアセンブルする前に、 シンボル sym を value であると定義します。 value は定数の整数である必要があります。 C と同様、先行する 0x は 16 進数値を示し、 先行する 0 は 8 進数値を示します。

-f  ``高速 (fast)''オプションです--- プリプロセシングを行いません (ソースはコンパイラの出力したものとみなします)。

--gstabs
    各アセンブリの行に対し、スタブデバッグ情報 (stabs debugging information) を生成します。 デバッガが扱える場合、アセンブリコードのデバッグに役立つかもしれません。

--gstabs+
    各アセンブリの行に対し、スタブデバッグ情報と、GNU 拡張とを生成します。 この拡張はおそらく gdb だけが扱うことができ、他のデバッガは クラッシュしたり、それを含むプログラムの読み込みを拒否したりする 可能性があります。 このオプションはアセンブラコードのデバッグにも使えるかもしれません。 現在のところ、GNU 拡張は、 アセンブリ時のカレント作業ディレクトリの場所だけです。

--gdwarf2
    各アセンブリの行に対し、DAWRF2 デバッグ情報を生成します。 デバッガが扱える場合、アセンブリコードのデバッグに役立つかもしれません。 注 --- 本オプションはすべてのターゲットで サポートされているわけではなく、 一部のみでサポートされています。

--help
    コマンド行オプションのまとめを表示し、終了します。

--target-help
    ターゲット固有のすべてのオプションのまとめを表示し、終了します。

-I dir
    dir を ".include" ディレクティブの検索リストに追加します。

-J  符号付き整数の桁溢れを警告しません。

-K  ロングディスプレースメントのために差分テーブルが変更されたときに 警告を出させるようにします。

-L
--keep-locals
    ローカルシンボルを (シンボル表) に保存します。 伝統的な a.out システムでは、これらは L で開始しますが、 別のシステムでは別のローカルラベルプレフィックスを持ちます。

--listing-lhs-width=number
    アセンブラリストにおける出力データコラムの最大幅を number 語に設定します。

--listing-lhs-width2=number
    アセンブラリストにおける継続行の出力データコラムの最大幅を number 語に設定します。

--listing-rhs-width=number
    リストで表示される入力ソース行の最大幅を number バイトに設定します。

--listing-cont-lines=number
    リスト中で入力 1 行に対応する表示行の最大を number + 1 行に設定します。

-o objfile
    as の出力オブジェクトファイル名を objfile に設定します。

-R  データセクションをテキストセクションへ混入させます。

--statistics
    アセンブルに使用した最大空間 (バイト数) と合計時間 (秒数) を表示します。

--strip-local-absolute
    ローカルの絶対シンボルを出力先のシンボル方から削除します。

-v
-version
    as のバージョンを表示します。

--version
    as のバージョンを表示し、終了します。

-W
--no-warn
    警告メッセージの出力を抑制します。

--fatal-warnings
    警告を、エラーとして扱います。

--warn
    警告を抑制しませんし、エラーとしても扱いません。

-w  無視されます。

-x  無視されます。

-Z  エラーの後でもオブジェクトファイルを生成します。

-- | files ...
    アセンブル対象のソースファイルまたは標準入力です。

次のオプションは、ARC プロセッサ用に設定された場合に使用可能です。

-marc[5|6|7|8]
    This option selects the core processor variant.

-EB | -EL
    Select either big-endian (-EB) or little-endian (-EL) output.

次のオプションは、 ARM プロセッサファミリ用に設定された場合に使用可能です。

-mcpu=processor[+extension...]
    どの ARM プロセッサがターゲットであるかを指定します。

-march=architecture[+extension...]
    どの ARM アーキテクチャがターゲットであるかを指定します。

-mfpu=floating-point-format
    どの浮動小数点数アーキテクチャがターゲットであるかを指定します。

-mfloat-abi=abi
    どの浮動小数点数 ABI を使用するかを指定します。

-mthumb
    Thumb 命令のみのデコードを有効にします。

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant | -moabi
    どのプロシージャ呼び出し規約を使用するのかを指定します。

-EB | -EL
    ビッグエンディアン (-EB) 出力かリトルエンディアン出力か (-EL) を選択します。

-mthumb-interwork
    Thumb と ARM が相互動作することを考慮に入れてコード生成 されたことを指定します。

-k  PIC コードが生成されたことを指定します。

CRIS 固有のオプションの記述は info ページを参照してください。

次のオプションは、 D10V プロセッサ用に設定された場合に使用可能です。

-O  命令を並列化して出力を最適化します。

次のオプションは、 D30V プロセッサ用に設定された場合に使用可能です。

-O  命令を並列化して出力を最適化します。

-n  nop が出力されたときに警告します。

-N  32 ビット掛け算の後に nop が出力されたときに警告します。

次のオプションは、 80960 プロセッサ用に設定された場合に使用可能です。

-ACA | -ACA_A | -ACB | -ACC | -AKA | -AKB | -AKC | -AMC
    どの 960 アーキテクチャがターゲットであるかを指定します。

-b  実際に行われた分岐に関する統計情報を収集するコードを追加します。

-no-relax
    ロングディスプレースメントの「比較-分岐」という命令列に対して 変更を加えません。 場合によってはエラーが発生します。

次のオプションは、as が Ubicom IP2K シリーズ用に設定された場合に使用可能です。

-mip2022ext
    拡張 IP2022 命令が使用可能であることを指定します。

-mip2022
    デフォルトの動作に戻します。 これは基本の IP2022 にだけ許される 命令の範囲に限定します。

次のオプションは、as が ルネサス M32R (旧三菱 M32R)シリーズ用に設定された場合に使用可能です。

--m32rx
    M32R ファミリのどのプロセッサがターゲットであるかを指定します。 デフォルトは、通常、M32R ですが、 本オプションを指定すると M32RX になります。

--warn-explicit-parallel-conflicts or --Wp
    疑わしい parallel constructs に出会った場合、警告します。

--no-warn-explicit-parallel-conflicts or --Wnp
    疑わしい parallel constructs に出会った場合でも、警告しません。

次のオプションは、 Motorola 68000 シリーズ用に設定された場合に使用可能です。

-l  2 ワードではなく、1 ワードの短い参照を未定義シンボルに適用します。

-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200
    68000 ファミリのどのプロセッサがターゲットかを指定します。 デフォルトは 68020 ですが、設定時に変更可能です。

-m68881 | -m68882 | -mno-68881 | -mno-68882
    ターゲットは浮動小数点数コプロセッサを持っています (持っていません)。 デフォルトでは、68020, 68030, cpu32 用のコプロセッサを仮定します。 素の 68000 は 68881 と互換ではありませんが、 コプロセッサ命令をメインプロセッサでのエミュレーション可能ですので、 両者の組み合わせも指定可能です。

-m68851 | -mno-68851
    ターゲットマシンはメモリ管理ユニットコプロセッサを持っています (持っていません)。 デフォルトでは、68020 以上用の MMU を仮定します。

PDP-11 機種依存機能オプションについての詳細は、 @ref{PDP-11-Options} を参照してください。

-mpic | -mno-pic
    位置独立 (または位置依存) コードを生成します。 デフォルトは -mpic です。

-mall
-mall-extensions
    すべての命令セット拡張を有効にします。 これがデフォルトです。

-mno-extensions
    すべての命令セット拡張を無効にします。

-mextension | -mno-extension
    特定の命令セット拡張を有効 (無効) にします。

-mcpu
    特定の CPU でサポートされる命令セット拡張を有効にし、 他のすべての拡張を無効にします。

-mmachine
    特定のマシンモデルでサポートされる命令セット拡張を有効にし、 他のすべての拡張を無効にします。

次のオプションは、 picoJava プロセッサ用に設定された場合に使用可能です。

-mb ``ビッグエンディアン'' フォーマット出力を行います。

-ml ``リトルエンディアン'' フォーマット出力を行います。

次のオプションは、 Motorola 68HC11 シリーズまたは 68HC12 シリーズ用に 設定された場合に使用可能です。

-m68hc11 | -m68hc12 | -m68hcs12
    どのプロセッサがターゲットであるかを指定します。 デフォルトは、アセンブラを構築するときの設定オプションで定義されています。

-mshort
    16 ビット整数 ABI を使用することを指定します。

-mlong
    32 ビット整数 ABI を使用することを指定します。

-mshort-double
    32 ビット倍精度整数 ABI を使用することを指定します。

-mlong-double
    64 ビット倍精度整数 ABI を使用することを指定します。

--force-long-branchs
    相対分岐が絶対分岐に変換されます。 条件分岐、無条件分岐、サブルーチンへの分岐が対象です。

-S | --short-branchs
    オフセットが範囲外の場合、 相対分岐を絶対分岐に変換しません。

--strict-direct-mode
    命令が直接アドレッシングモードをサポートしない場合、 直接アドレッシングモードを拡張アドレッシングモードに変換しません。

--print-insn-syntax
    エラーの場合、命令の文法を表示します。

--print-opcodes
    print the list of instructions with syntax and then exit. 命令一覧を文法と共に表示し、終了します。

--generate-example
    命令となりうる各箇所に対して命令の例を 1 個表示し、終了します。 本オプションは as のテストにのみ有用です。

次のオプションは、as が SPARC シリーズ用に設定された場合に使用可能です。

-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite
-Av8plus | -Av8plusa | -Av9 | -Av9a
    SPARC アーキテクチャの種類を明示的に選択します。

    -Av8plus と -Av8plusa は 32 ビット環境を選択します。 -Av9 と -Av9a は 64 ビット環境を選択します。

    -Av8plusa と -Av9a は SPARC V9 命令セットと UltraSPARC 拡張を有効にします。

-xarch=v8plus | -xarch=v8plusa
    Solaris v9 アセンブラとの互換性用です。 これらのオプションは、それぞれ、 -Av8plus と -Av8plusa と等価です。

-bump
    アセンブラが別のアーキテクチャに変わったときに警告します。

次のオプションは、as が 'c54x アーキテクチャ用に 設定された場合に使用可能です。

-mfar-mode
    拡張アドレッシングモードを有効にします。 すべてのアドレスと再配置情報は 拡張アドレッシング (通常 23 ビット) と仮定されます。

-mcpu=CPU_VERSION
    コンパイル対象の CPU のバージョンを設定します。

-merrors-to-file FILENAME
    エラー出力をファイルにリダイレクトします。 シェルがこの動作をサポートしない腐ったシステムのためのものです。

次のオプションは、as が MIPS シリーズ用に設定された場合に使用可能です。

-G num
    暗黙的に "gp" レジスタを介して参照されるオブジェクトの 最大サイズを設定します。 ECOFF フォーマットを使用するターゲット、 例えば Ultrix を実行する DECstation でのみ、受け付けられます。 デフォルト値は 8 です。

-EB ``ビッグエンディアン'' フォーマット出力を行います。

-EL ``リトルエンディアン'' フォーマット出力を行います。

-mips1
-mips2
-mips3
-mips4
-mips5
-mips32
-mips32r2
-mips64
-mips64r2
    特定の MIPS 命令セットアーキテクチャ (Instruction Set Architecture) レベル用のコードを生成します。 -mips1 は -march=r3000 の別名、 -mips2 は -march=r6000 の別名、 -mips3 は -march=r4000 の別名、 -mips4 は -march=r8000 の別名です。 -mips5, -mips32, -mips32r2, -mips64, -mips64r2 は、 それぞれ、一般の MIPS V, MIPS32, MIPS32 Release 2, MIPS64, MIPS64 Release 2 ISA に対応します。

-march=CPU
    MIPS CPU 固有のコードを生成します。

-mtune=cpu
    MIPS CPU 固有のスケジュールとチューニングを行います。

-mfix7000
-mno-fix7000
    mfhi か mflo の命令の後続 2 命令に 宛先レジスタからの読み出しが存在する場合、NOP を挿入します。

-mdebug
-no-mdebug
    stabs スタイルのデバッグ情報が、 標準の ELF .stabs セクションではなく、 ECOFF スタイルの .mdebug セクションへ行くようにします。

-mpdr
-mno-pdr
    ".pdr" セクションの生成を制御します。

-mgp32
-mfp32
    レジスタサイズは、通常、ISA と ABI で決まりますが、 これらのフラグはある種のレジスタが常に 32 ビット幅で使われるように強制します。 -mgp32 は汎用レジスタの大きさを、 -mfp32 は浮動小数点数レジスタの大きさを、制御します。

-mips16
-no-mips16
    MIPS 16 プロセッサ用のコードを生成します。 これは、アセンブリファイルの先頭に ".set mips16" を挿入することと等価です。 -no-mips16 は、本オプションをオフにします。

-mips3d
-no-mips3d
    MIPS-3D Application Specific Extension 用のコードを生成します。 アセンブラに対し、MIPS-3D 命令を受け付けるよう指示します。 -no-mips3d は、このオプションをオフにします。

-mdmx
-no-mdmx
    MDMX Application Specific Extension 用のコードを生成します。 アセンブラに対し、MDMX 命令を受け付けるよう指示します。 -no-mdmx は、このオプションをオフにします。

--construct-floats
--no-construct-floats
    --no-construct-floats オプションは、 倍幅の浮動小数点数定数の構築を無効化します。 倍幅の浮動小数点数定数の構築とは、 値の半分を 2 個、 倍幅レジスタを構築する 2 個の単幅浮動小数点数レジスタへロードすること で行われるものです。 デフォルトでは、--construct-floats が選択されており、 これらの浮動小数点数定数の構築を許しています。

--emulation=name
    as が他のターゲット用に設定されたかのようにエミュレートするよう、 as に指示します。 これはすべての面にわたり、 出力フォーマット (s-1ELF と ECOFF の内からのみ選択)、 デバッグ情報を生成したりシンボル表情報を格納する擬似オプコードの扱い、 デフォルトのエンディアンも含まれます。 利用可能な設定名は次の通りです: mipsecoff, mipself, mipslecoff, mipsbecoff, mipslelf, mipsbelf。 最初の 2 個は、 アセンブラが設定された第一ターゲットにおけるデフォルトから、 エンディアンを変えません。 他のものは、デフォルトをリトルエンディアンまたはビッグエンディアンにします。 これは、名前中の b または l で示されています。 いかなる場合でも、-EB または -EL は、 エンディアンの選択に優先します。

    本オプションが現在サポートされているのは、as の第一のターゲットが MIPS ELF か MIPS ECOFF に設定された場合のみです。 さらに、両方のフォーマットのサポートが必要な場合、 --enable-targets=... で設定時に指定される 第一のターゲットおよび他のターゲットには、 他のフォーマットのサポートを含む必要があります。 例えば、Irix 5 の設定は両者のサポートを含みます。

    最終的には、本オプションはより多くの設定をサポートし、 アセンブラの動作に対してより細粒度の制御を行い、 より多くのプロセッサでサポートされることでしょう。

-nocpp
    as は本オプションを無視します。 ネイティブツールとの互換性とのために受け付けられます。

--trap
--no-trap
--break
--no-break
    掛け算による溢れと 0 除算をどのように扱うかを制御します。 --trap または --no-break (同義語です) はトラップ例外を発生します (命令セットアーキテクチャレベル 2 以上でのみ動作します)。 --break または --no-trap (同義語です。 デフォルト) はブレーク例外を発生します。

-n  本オプションを使用すると、 マクロ由来の nop を生成するたびに as は警告を発生します。

次のオプションは、as が MCore プロセッサ用に設定された場合に使用可能です。

-jsri2bsr
-nojsri2bsr
    JSRI を BSR へ変換することを、有効または無効にします。 デフォルトでは、有効です。 コマンド行オプション -nojsri2bsr を使用して、これを無効にできます。

-sifilter
-nosifilter
    シリコンフィルタの動作を、有効または無効にします。 デフォルトでは、無効です。 コマンド行オプション -sifilter を使用して、 デフォルトに優先させることができます。

-relax
    長いディスプレースメント用の jump 命令を変更します。

-mcpu=[210|340]
    ターゲットハードウェアの CPU タイプを選択します。 これにより、どの命令をアセンブルするかを制御します。

-EB ビッグエンディアンのターゲット用にアセンブルします。

-EL リトルエンディアンのターゲット用にアセンブルします。

MMIX 固有のオプションの記述は info ページを参照してください。

次のオプションは、as が Xtensa プロセッサ用に設定された場合に 使用可能です。

--density | --no-density
    Xtensa コード密度 (code density) オプションからの命令使用を 有効または無効にします。 デフォルトでは、Xtensa プロセッサがコード密度オプションを サポートする場合に有効です。

--relax | --no-relax
    命令緩和 (instruction relaxsation) を有効または無効にします。 デフォルトでは有効です。 注意: 現在の実装では、これらのオプションは、 アセンブラによる最適化が行われるかどうかも制御します。 これにより、これらのオプションは、 --generics か --no-generics と等価になります。

--generics | --no-generics
    Xtensa 命令のアセンブラ変換のすべてを有効または無効にします。 デフォルトは --generics です。 --no-generics の使用は、命令がアセンブリ言語のソースで 指定されるのと厳密に同じという、まれな場合に限り使用するべきです。

--text-section-literals | --no-text-section-literals
    --text-section-literals の場合、 リテラルのプールがテキストセグメントの中に散りばめられます。 デフォルトは --no-text-section-literals で、 この場合リテラルは出力ファイルの別のセクションに配置されます。

--target-align | --no-target-align
    ある程度のコード密度を犠牲にして分岐ペナルティを抑えるように、 自動的にアラインメントをすることを有効、もしくは無効にします。 デフォルトは --target-align です。

--longcalls | --no-longcalls
    広範囲のアドレスをまたいで関数呼び出しができるよう、呼び出し命令を 変換することを有効、もしくは無効にします。 デフォルトは --no-longcalls です。

関連項目
gcc(1) と ld(1) および binutils と ld の Info エントリ。

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