GNU as(1) GNU ポータブルアセンブラ

書式

as [-a[dhlns][=file]] [-D] [--defsym SYM=VAL] [-f] [--gstabs] [-I path] [-K] [-L] [-M | --mri] [-o objfile] [-R] [--traditional-format] [-v] [-w] [-- | files...]

i960 固有のオプション:
[-ACA|-ACA_A|-ACB|-ACC|-AKA|-AKB|-AKC|-AMC] [-b] [-no-relax]

m680x0 固有のオプション:
[-l] [-mc68000|-mc68010|-mc68020]

説明

GNU as は実際には各アーキテクチャ向けアセンブラのファミリーである。あるアーキ テクチャで GNU アセンブラを使えば (あるいは使った経験があれば)、他のアー キテクチャでもほぼ同様の環境で作業ができる。バージョンによる違いもほと んどない。オブジェクトファイルのフォーマット、ほとんどのアセンブラ命令 (しばしば擬似命令: pseudo-ops と呼ばれる)、アセンブラの文法などはほとんど変わらない。

GNU アセンブラで用いられる文法や擬似命令に関しては infoas エントリ (またはマニュアルである Using as: The GNU Assembler ) を参照のこと。

as はもともと GNU C コンパイラ gcc の出力をリンカ ld で利用で きるようにアセンブルするためのものである。しかし我々は as がネイティブなアセンブラと同様な動作をすることを目指してきた。ただしこ れは as の文法が常に他のアセンブラのものと同じであることを保証するものではない。 例えば 680x0 アセンブリ言語の文法には、 as とは互換性のないものも存在する。

as は実行のたびにただ一つのプログラムをアセンブルする。プログラムは一つ以 上のファイルから構成される (標準入力もファイルである)。

ファイル名が指定されなければ as は標準入力 (通常は端末) をアセンブルしようとする。 ctl-D とタイプすれば、アセンブルするプログラムの終わりを as に伝えることができる。標準入力ファイルを用いることをコマンドラインで明 示したい場合には -- を用いる。

as は警告やエラーのメッセージを標準エラー出力 (通常は端末) に書き出す。た だし as がコンパイラによって自動的に実行された場合にはこの限りで はない。警告メッセージは「プログラムに問題 (flaw) があり、アセンブルを 続けるためにこのような仮定をした」ことを報告するものであり、エラーメッ セージは「アセンブルを停止しなければならない重大な障害が存在した」こと を報告するものである。

オプション

-a
アセンブリリストを表示する。多くの副オプションがある。 d デバッグ命令を除く。 h は高位レベルのソースコードを含める。これはソースファイルにアクセスでき、 またコードが -g でコンパイルされた場合にのみ有効となる。 l はアセンブリリストを含める。 n はフォーム処理を含めない。 s はシンボルのリストを含める = file はリストのファイル名を設定する。 これは最後の副オプションでなければならない。 デフォルトの副オプションは hls である。
-D
他のアセンブラとの互換性のためだけに用意されたオプションであり、 as では効果を持たない。
--defsym SYM=VALUE
入力ファイルをアセンブルする前にシンボル SYM の値を VALUE に定義する。 VALUE は整定数でなければならない。 C と同様に 0x が前置されれば 16 進 数として扱われ、 0 が前置されれば 8 進数として扱われる。
-f
高速 (fast) オプション。プリプロセスを行わない (ソースがコンパイラ出力 であるとみなす)。
-I path
.include 命令における探索リストに path を追加する。
--gstabs
アセンブリ各行に、スタブデバッグ情報 (stabs debugging information) を生成する。デバッガがこの情報を扱える場合、 アセンブリコードのデバッグに役立つかもしれない。
-K
long displacement のための difference table が変更されたときに警告メッセージを発する。
-L
シンボルテーブルにローカルシンボル ( L で始まるシンボル) を保存する。
-M, --mri
MRI 互換モードでアセンブルする。
-o objfile
as が出力するオブジェクトファイルの名前をつける。
-R
データセクションをテキストセクションと一緒にする。
--traditional-format
可能ならネイティブのアセンブラと同じ書式を用いる。
-v
as のバージョンを表示する。
-W
警告メッセージを抑制する。
-- | files...
アセンブルするソースファイルを指定する ('--' は標準入力)。
-Avar
(Intel 960 用オプション) 960 アーキテクチャのどのタイプをターゲットとするかを指定する。
-b
(Intel 960 用オプション) 分岐 (branch) に関する統計情報を取得するコードを追加する。
-no-relax
(Intel 960 用オプション) long displacement のために比較-分岐命令を変更しない。必要な場合はエラー とする。
-l
(Motorola 68000 用オプション) 未定義シンボルへのリファレンスを 2 ワードではなく 1 ワードに短縮する。
-mc68000|-mc68010|-mc68020
(Motorola 68000 用オプション) 68000 ファミリのどのプロセッサをターゲットとするかを指定する (デフォル トは 68020)。

オプションの指定順序は任意である。またファイル名の前でも後でも間でもよ い。一方ファイル名の順序は重要な意味を持つ。

-- のようにハイフン二つだけを指定した場合は、 as がアセンブルするファイルのひとつとして標準入力を明示的に指定したことに なる。

`--' を除き、ハイフン (`-') で始まる全てのコマンドラ イン引数はオプショ ンである。それぞれのオプションは as の振る舞いを変更する。またあ るオプションによって他のオプションが影響されることはない。オプションは `-' に一つまたは二つの文字が付いたものである。大文字と小文字は 別の意味を持つ。全てのオプションは指定してもしなくても良い。

`-o' オプションの後にはファイル名を一つだけ指定する。ファイル名 はオプション文字の直後に指定しても良い (古いアセンブラとの互換のため) し、次のコマンド引数として指定しても良い (GNU 流)。

以下の二つのコマンドラインは等価である:
as  -o  my-object-file.o  mumble.s
as  -omy-object-file.o  mumble.s

著作権

Copyright (c) 1991, 1992 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.