AS(1) | GNU Development Tools | AS(1) |
名称
AS -ポータブル GNU アセンブラ書式
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] [ --reduce-memory-overheads] [ --statistics]
[ -v] [ -version] [ --version] [ -W] [ --warn]
[ --fatal-warnings] [ -w] [ -x] [ -Z] [ @ FILE]
[ --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]
[ -meabi= ver]
[ -mthumb]
[ -EB| -EL]
[ -mapcs-32| -mapcs-26| -mapcs-float|
-mapcs-reentrant]
[ -mthumb-interwork] [ -k]
ターゲット CRIS オプション:
[ --underscore | --no-underscore]
[ --pic] [ -N]
[ --emulation=criself | --emulation=crisaout]
[ --march=v0_v10 | --march=v10 | --march=v32 | --march=common_v10_v32]
ターゲット D10V オプション:
[ -O]
ターゲット D30V オプション:
[ -O| -n| -N]
ターゲット i386 オプション:
[ --32| --64] [ -n]
[ -march= CPU] [ -mtune= CPU]
ターゲット i960 オプション:
[ -ACA| -ACA_A| -ACB| -ACC| -AKA| -AKB|
-AKC| -AMC]
[ -b] [ -no-relax]
ターゲット IA-64 オプション:
[ -mconstant-gp| -mauto-pic]
[ -milp32| -milp64| -mlp64| -mp64]
[ -mle| mbe]
[ -mtune=itanium1| -mtune=itanium2]
[ -munwind-check=warning| -munwind-check=error]
[ -mhint.b=ok| -mhint.b=warning| -mhint.b=error]
[ -x| -xexplicit] [ -xauto] [ -xdebug]
ターゲット IP2K オプション:
[ -mip2022| -mip2022ext]
ターゲット M32R オプション:
[ -m32c| -m16c]
ターゲット 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-branches] [ --short-branches]
[ --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 [ -mvxworks-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]
[ -msmartmips] [ -mno-smartmips]
[ -mips3d] [ -no-mips3d]
[ -mdmx] [ -no-mdmx]
[ -mdsp] [ -mno-dsp]
[ -mdspr2] [ -mno-dspr2]
[ -mmt] [ -mno-mt]
[ -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>]
ターゲット Z80 オプション:
[ -z80] [ -r800]
[ -ignore-undocumented-instructions] [ -Wnud]
[ -ignore-unportable-instructions] [ -Wnup]
[ -warn-undocumented-instructions] [ -Wud]
[ -warn-unportable-instructions] [ -Wup]
[ -forbid-undocumented-instructions] [ -Fud]
[ -forbid-unportable-instructions] [ -Fup]
ターゲット Xtensa オプション:
[ --[no-]text-section-literals] [ --[no-]absolute-literals]
[ --[no-]target-align] [ --[no-]longcalls]
[ --[no-]transform]
[ --rename-section oldname= newname]
解説
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 オプション付きで起動することで、アセンブラを含む各コンパイルのパスに対してどのようなオプションを渡すのか、正確に調べることができます)。
オプション
- @ file
-
file からコマンドラインのオプションを読み込みます。読み込まれたオプションは、オリジナルの @
file オプションの場所に代わって挿入されます。
file が存在しないか、または読み込むことができないなら、オプションは、文字通りに扱われ、取り除かれません。
- -a[cdhlmns]
- リスト出力を行います。次の種類があります。
- -ac
- 偽の条件を削除します
- -ad
- デバッグ用ディレクティブを削除します
- -ah
- 高級言語ソースを含みます
- -al
- アセンブリを含みます
- -am
- マクロ拡張を含みます
- -an
- フォーム処理 (forms processing) を削除します
- -as
- シンボルを含みます
- =file
- リスト出力を行うファイル名を設定します。
- --alternate
- 代替のマクロモードを始めます。
- -D
- 無視されます。このオプションは、他のアセンブラ呼び出しとの互換のために受け付けられるものです。
- --defsym sym = value
- 入力ファイルをアセンブルする前に、シンボル sym を value であると定義します。 value は、定数の整数である必要があります。 C と同様、先行する 0x は、16 進数値を示し、先行する 0 は、8 進数値を示します。 ".set"疑似命令の使用によってソースファイル中でシンボルの値を上書きすることができます。
- -f
- "高速 (fast)"---空白類とコメントのプリプロセス処理をスキップします (ソースがコンパイラの出力であると仮定します)。
- -g
- --gen-debug
- ターゲットに好まれるいずれかのデバッグ形式を使用して、各アセンブラソース行のためのデバッグ情報を生成します。これは、現在、STABS、ECOFF または DWARF2 のいずれかを意味します。
- --gstabs
- 各アセンブリの行に対し、スタブデバッグ情報 (stabs debugging information) を生成します。デバッガが扱える場合、アセンブリコードのデバッグに役立つかもしれません。
- --gstabs+
- 各アセンブリの行に対し、スタブデバッグ情報と、GNU 拡張とを生成します。この拡張は、おそらく gdb だけが扱うことができ、他のデバッガは、クラッシュしたり、それを含むプログラムの読み込みを拒否したりする可能性があります。このオプションは、アセンブラコードのデバッグにも使えるかもしれません。現在のところ、GNU 拡張は、アセンブリ時のカレント作業ディレクトリの場所だけです。
- --gdwarf-2
- 各アセンブリの行に対し、DWARF2 デバッグ情報を生成します。デバッガが扱える場合、アセンブリコードのデバッグに役立つかもしれません。注---本オプションは、すべてのターゲットでサポートされているわけではなく、一部のみでサポートされています。
- --help
- コマンド行オプションのまとめを表示し、終了します。
- --target-help
- ターゲット固有のすべてのオプションのまとめを表示し、終了します。
- -I dir
- dir を ".include"ディレクティブの検索リストに追加します。
- -J
- 符号付き整数の桁溢れを警告しません。
- -K
- ロングディスプレースメントのために差分テーブルが変更されたときに警告を出させるようにします。
- -L
- --keep-locals
- ローカルシンボルを (シンボル表) に保存します。これらのシンボルは、システム特有のローカルのラベル接頭辞、通常、ELF システムのための .L または古い 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
-
データセクションをテキストセクションへ混入させます。
- --reduce-memory-overheads
- このオプションは、アセンブリのプロセスをより遅くすることを犠牲にして、 GAS に必要なメモリを減少します。現在、このスイッチは、 --hash-size=4051 と同義語ですが、将来、他の効果もあるようになるかもしれません。
- --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]
- このオプションは、コアプロセッサの種類を選択します。
- -EB | -EL
- ビッグエンディアン (-EB) またはリトルエンディアン (-EL) 出力のどちらかを選択します。
次のオプションは、 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
- どのプロシージャ呼び出し規約を使用するのかを指定します。
- -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 が Renesas M32R M32C と M16C プロセッサのために設定されるとき、利用可能です。
- -m32c
- M32C 命令をアセンブルします。
- -m16c
- M16C 命令 (デフォルト) をアセンブルします。
次のオプションは、as が Renesas 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 機種依存機能オプションについての詳細は、 PDP-11-Options を参照してください。
- -mpic | -mno-pic
- 位置独立 (または位置依存) コードを生成します。デフォルトは、 -mpic です。
- -mall
- -mall-extensions
- すべての命令セット拡張を有効にします。これがデフォルトです。
- -mno-extensions
- すべての命令セット拡張を無効にします。
- -m extension | -mno- extension
- 特定の命令セット拡張を有効 (無効) にします。
- -m cpu
- 特定の CPU でサポートされる命令セット拡張を有効にし、他のすべての拡張を無効にします。
- -m machine
- 特定のマシンモデルでサポートされる命令セット拡張を有効にし、他のすべての拡張を無効にします。
次のオプションは、 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-branches
- 相対分岐が絶対分岐に変換されます。条件分岐、無条件分岐、サブルーチンへの分岐が対象です。
- -S | --short-branches
- オフセットが範囲外の場合、相対分岐を絶対分岐に変換しません。
- --strict-direct-mode
- 命令が直接アドレッシングモードをサポートしない場合、直接アドレッシングモードを拡張アドレッシングモードに変換しません。
- --print-insn-syntax
- エラーの場合、命令の文法を表示します。
- --print-opcodes
- 構文とともに命令のリストを印刷して、終了します。
- --generate-example
- 命令となりうる各箇所に対して命令の例を 1 個表示し、終了します。本オプションは、 as のテストにのみ有用です。
次のオプションは、 as が SPARC シリーズ用に設定された場合に使用可能です。
- -Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite
- -Av8plus | -Av8plusa | -Av9 | -Av9a
-
SPARC アーキテクチャの種類を明示的に選択します。
- -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 は、本オプションをオフにします。
- -msmartmips
- -mno-smartmips
- MIPS32 命令セットに SmartMIPS 拡張を有効にします。これは、アセンブリファイルの始めに ".set smartmips"を置くのと同等です。 -mno-smartmips は、このオプションをオフにします。
- -mips3d
- -no-mips3d
- MIPS-3D Application Specific Extension 用のコードを生成します。アセンブラに対し、MIPS-3D 命令を受け付けるよう指示します。 -no-mips3d は、このオプションをオフにします。
- -mdmx
- -no-mdmx
- MDMX Application Specific Extension 用のコードを生成します。アセンブラに対し、MDMX 命令を受け付けるよう指示します。 -no-mdmx は、このオプションをオフにします。
- -mdsp
- -mno-dsp
- DSP Release 1 Application Specific Extension のためのコードを生成します。これは、DSP Release 1 命令を受け付けるようにアセンブラに伝えます。 -mno-dsp は、このオプションをオフにします。
- -mdspr2
- -mno-dspr2
- DSP Release 2 Application Specific Extension のためのコードを生成します。このオプションは、-mdsp という意味を含みます。これは、DSP Release 2 命令を受け付けるようにアセンブラに伝えます。 -mno-dspr2 は、このオプションをオフにします。
- -mmt
- -mno-mt
- MT Application Specific Extension のためのコードを生成します。これは、MT 命令を受け付けるようにアセンブラに伝えます。 -mno-mt は、このオプションをオフにします。
- --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 は、エンディアンの選択に優先します。
- -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 プロセッサ用に設定された場合に使用可能です。
- --text-section-literals | --no-text-section-literals
- --text-section-literals の場合、リテラルのプールがテキストセグメントの中に散りばめられます。デフォルトは、 --no-text-section-literals で、この場合リテラルは、出力ファイルの別のセクションに配置されます。これらのオプションは、PC 相対の "L32R"命令によって参照されるリテラルのみ影響します。絶対モード "L32R"命令のためのリテラルは、別々に扱われます。
- --absolute-literals | --no-absolute-literals
- "L32R"命令が絶対または PC 相対アドレスを使用するかどうかをアセンブラに示します。デフォルトは、Xtensa プロセッサが絶対 "L32R"アドレスオプションをを含んでいるなら、絶対アドレスを仮定します。そうでなければ、PC 相対 "L32R"モードのみを使用することができます。
- --target-align | --no-target-align
- ある程度のコード密度を犠牲にして分岐ペナルティを抑えるように、自動的にアラインメントをすることを有効、もしくは無効にします。デフォルトは、 --target-align です。
- --longcalls | --no-longcalls
- 広範囲のアドレスをまたいで関数呼び出しができるよう、呼び出し命令を変換することを有効、もしくは無効にします。デフォルトは、 --no-longcalls です。
- --transform | --no-transform
- Xtensa 命令のすべてのアセンブラ変換を有効にするか、または無効にします。デフォルトは、 --transform です。 --no-transform は、命令がアセンブリソースで正確に指定されなければならないとき、まれな場合のみに使用されるべきです。
次のオプションは、as が Z80 ファミリプロセッサのために設定されるとき、利用可能です。
- -z80
- Z80 プロセッサのためにアセンブルします。
- -r800
- -ignore-undocumented-instructions
- -Wnud
- 警告なしで R800 で動作している、文書化されていない Z80 命令のためにアセンブルします。
- -ignore-unportable-instructions
- -Wnup
- 警告なしで、すべての文書化されていない Z80 命令のためにアセンブルします。
- -warn-undocumented-instructions
- -Wud
- R800 で動作している文書化されていない Z80 命令のために警報を出します。
- -warn-unportable-instructions
- -Wup
- R800 で動作しない文書化されていない Z80 命令のために警報を出します。
- -forbid-undocumented-instructions
- -Fud
- すべての文書化されていない命令をエラーとして扱います。
- -forbid-unportable-instructions
- -Fup
- R800 で動作しない文書化されていない Z80 命令をエラーとして扱います。
関連項目
gcc(1)、 ld(1) と binutils と ld の Info エントリ。COPYRIGHT
Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, 2006, 2007 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".
2010-10-30 | binutils-2.17.50 |