EN JA
AS(1)
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 が存在しないか、または読み込むことができないなら、オプションは、文字通りに扱われ、取り除かれません。
 
file 中のオプションは、空白類によって分離されます。空白類の文字は、シングルクォートまたはダブルクォートのいずれかで全体のオプションを囲むことによって、オプションに含めることができます。 (バックスラッシュを含む) 任意の文字は、バックスラッシュを文字を前に置くことによって、含めることができます。 file は、それ自体に、追加の @ file オプションを含むことができます。そのようなオプションは、再帰的に処理されます。
-a[cdhlmns]
リスト出力を行います。次の種類があります。
-ac
偽の条件を削除します
-ad
デバッグ用ディレクティブを削除します
-ah
高級言語ソースを含みます
-al
アセンブリを含みます
-am
マクロ拡張を含みます
-an
フォーム処理 (forms processing) を削除します
-as
シンボルを含みます
=file
リスト出力を行うファイル名を設定します。
 
これらのオプションを組み合わせ可能です。例えば、 -aln は、アセンブリリストをフォーム処理無しで出力します。 =file オプションは、使用された場合、最後のサブオプションである必要があります。デフォルトのサブオプションは、 -a だけ指定すると -ahls になります。
--alternate
代替のマクロモードを始めます。
-D
無視されます。このオプションは、他のアセンブラ呼び出しとの互換のために受け付けられるものです。
--defsym sym = value
入力ファイルをアセンブルする前に、シンボル symvalue であると定義します。 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
データセクションをテキストセクションへ混入させます。
 
GAS のハッシュテーブルのデフォルトサイズを number に近い素数に設定します。この値を増加すると、アセンブラの必要メモリを増加させることを犠牲にして、タスクを実行するアセンブラに掛かる時間の長さを減少させることができます。同様に、この値を減少すると、速度を犠牲にして必要メモリを減少させることができます。
--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 アーキテクチャの種類を明示的に選択します。
 
-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 は、本オプションをオフにします。
-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 は、エンディアンの選択に優先します。
 
本オプションが現在サポートされているのは、 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 プロセッサ用に設定された場合に使用可能です。

--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) と binutilsld の 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