'\" te .\" Copyright (c) 2012, 2015, Oracle and/or its affiliates.All rights reserved .TH as 1 "2015 年 4 月 7 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 as \- アセンブラ .SH 形式 .LP .nf SPARC .fi .LP .nf \fBas\fR [ \fB-hwcap\fR={1|0} ] [ \fB-L\fR ] [ \fB-m\fR ] [ \fB-m32\fR ] [ \fB-m64\fR ] [ \fB-n\fR ] [ \fB-o\fR \fIoutfile\fR ] [ \fB-ul\fR ] [ \fB-P\fR ] [ \fB-D\fR\fIname\fR ] [ \fB-D\fR\fIname\fR=\fIdef\fR ] [ \fB-I\fR\fIpath\fR ] [ \fB-U\fR\fIname\fR.... ] [ \fB-Q\fR[y|n] ] [ \fB-s\fR ] [ \fB-S\fR[a|b|c|l|A|B|C|L]] [ \fB-V\fR ] [ \fB-x\fRarch=\fIv\fR ] [ \fB-xF\fR ] [ \fB-Y\fR[m|c],\fIpath\fR ] [ \fB-YI\fR,\fIpath\fR ] \fIfilename\fR... .fi .LP .nf x86 .fi .LP .nf \fBas\fR [ \fB-a32\fR ] [ \fB-m\fR ] [ \fB-m32\fR ] [ \fB-m64\fR ] [ \fB-n\fR ] [ \fB-H\fR ] [ \fB-nH\fR ] [ \fB-o\fR \fIoutfile\fR ] [ \fB-P\fR ] [ \fB-D\fR\fIname\fR ] [ \fB-D\fR\fIname\fR=\fIdef\fR ] [ \fB-I\fR\fIpath\fR ] [ \fB-U\fR\fIname\fR.... ] [ \fB-KPIC\fR ] [ \fB-Q\fR[y|n] ] [ \fB-s\fR ] [ \fB-S\fR[a|b|c|l|A|B|C|L]] [ \fB-V\fR ] [ \fB-xchip\fR=\fIv\fR ] [ \fB-xmodel\fR=[\fIa\fR] ] [ \fB-Y\fR[m|d],\fIpath\fR ] [ \fB-YI\fR,\fIpath\fR ] \fIfilename\fR... .fi .SH 機能説明 .sp .LP \fBas\fR コマンドは、アセンブリ言語ソースファイルからオブジェクトファイルを生成します。 .SH オプション .sp .LP このセクションは、3 つに分かれています: .RS +4 .TP .ie t \(bu .el o 共通オプション (SPARC と x86 の両方に共通のオプション) .RE .RS +4 .TP .ie t \(bu .el o SPARC のオプション .RE .RS +4 .TP .ie t \(bu .el o x86 のオプション .RE .SS "共通オプション" .sp .ne 2 .mk .na \fB\fB-D\fR\fIname\fR\fR .ad .br .na \fB\fB-D\fR\fIname\fR=\fIdef\fR\fR .ad .sp .6 .RS 4n \fB-P\fR オプションが有効な場合、これらのオプションは、\fBas\fR コマンドでは解釈されずに \fBcpp\fR(1) プリプロセッサに渡されます。そうでない場合は無視されます。 .RE .sp .ne 2 .mk .na \fB\fB-I\fR \fIpath\fR\fR .ad .sp .6 .RS 4n \fB-P\fR オプションが有効な場合、このオプションは、\fBas\fR コマンドでは解釈されずに \fBcpp\fR(1) プリプロセッサに渡されます。そうでない場合は無視されます。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR\fR .ad .sp .6 .RS 4n \fBas\fR に対し、プリプロセッサからの行番号情報を無視するよう指示します。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .sp .6 .RS 4n アセンブラへの入力時に \fBm4\fR(1) マクロプロセッサを実行します。 .RE .sp .ne 2 .mk .na \fB\fB-m32\fR|\fB-m64\fR\fR .ad .sp .6 .RS 4n 32 ビットまたは 64 ビット ELF 形式のオブジェクトコードを生成します。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .sp .6 .RS 4n アセンブル実行時にすべての警告を抑制します。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fIoutfile\fR\fR .ad .sp .6 .RS 4n アセンブリの出力を \fIoutfile\fR に格納します。デフォルトでは、出力ファイル名は、入力ファイル名から \fB\&.s\fR 接尾辞 (もしあれば) を削除して、\fB\&.o\fR 接尾辞を付加することによって作成されます。 .RE .sp .ne 2 .mk .na \fB\fB-P\fR\fR .ad .sp .6 .RS 4n アセンブル中のファイルに対して、C プリプロセッサ \fBcpp\fR(1) を実行します。このプリプロセッサは、入力ファイルを連結したものではなく、各入力ファイルに対して実行されます。このプリプロセッサによる出力結果はアセンブラに渡されます。 .RE .sp .ne 2 .mk .na \fB\fB-Q\fR[\fBy\fR|\fBn\fR] \fR .ad .sp .6 .RS 4n \fBy\fR オプションを指定した場合、出力オブジェクトファイルの注釈セクションに「アセンブラバージョン」情報が生成されます。\fBn\fR オプションを指定すると、情報は抑制されます。 .RE .sp .ne 2 .mk .na \fB\fB-S\fR[\fBa\fR|\fBb\fR|\fB c\fR|\fBl\fR|\fBA\fR|\fBB\fR|\fB C\fR|\fBL\fR]\fR .ad .sp .6 .RS 4n 発行されたコードの逆アセンブリを標準出力に送ります。次の各文字を \fB-S\fR オプションに付けると、次の処理が実行されます。 .sp .ne 2 .mk .na \fB\fBa\fR\fR .ad .RS 5n .rt アドレスによる逆アセンブル .RE .sp .ne 2 .mk .na \fB\fBb\fR\fR .ad .RS 5n .rt \fB\&.bof\fR による逆アセンブル .RE .sp .ne 2 .mk .na \fB\fBc\fR\fR .ad .RS 5n .rt 注釈による逆アセンブル .RE .sp .ne 2 .mk .na \fB\fBl\fR\fR .ad .RS 5n .rt 行番号による逆アセンブル。 .RE 大文字を指定すると、対応するオプションが無効になります。デフォルトは \fB-Sc\fR です。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .sp .6 .RS 4n すべてのスタブを \fB\&.stabs\fR セクションに置きます。デフォルトでは、スタブは、静的リンカー \fBld\fR(1) によって最終実行中に削除される \fBstabs.excl\fR セクションに置かれます。\fB-s\fR オプションを使用すると、\fB\&.stab\fR セクションが静的リンカーによって削除されないため、スタブは最終実行可能プログラム中に残ります。 .RE .sp .ne 2 .mk .na \fB\fB-U\fR\fIname\fR\fR .ad .sp .6 .RS 4n \fB-P\fR オプションが有効な場合、このオプションは、\fBas\fR コマンドでは解釈されずに \fBcpp\fR(1) プリプロセッサに渡されます。そうでない場合は無視されます。 .RE .sp .ne 2 .mk .na \fB\fB-Ym\fR,\fIpath\fR\fR .ad .sp .6 .RS 4n 使用する \fBm4\fR のバージョンへのパスを指定します。 .RE .sp .ne 2 .mk .na \fB\fB-YI\fR,\fIpath\fR\fR .ad .sp .6 .RS 4n \fB#include\fR ヘッダーファイルを検索するパスを示します。 .RE .SS "SPARC のオプション" .sp .ne 2 .mk .na \fB\fB-hwcap\fR={\fB1|0\fR}\fR .ad .sp .6 .RS 4n ハードウェア機能セクションの生成を有効 (\fB1\fR) にするか、抑制 (\fB0\fR) します。デフォルトでは、このセクションを生成します。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR\fR .ad .sp .6 .RS 4n 領域を節約するために通常は破棄される一時ラベルを含む、すべてのシンボルを ELF シンボルテーブルに保存します。 .RE .sp .ne 2 .mk .na \fB\fB-ul\fR\fR .ad .sp .6 .RS 4n すべての未定義シンボルをローカルとして扱います。 .RE .sp .ne 2 .mk .na \fB\fB-Yc\fR,\fIpath\fR\fR .ad .sp .6 .RS 4n 使用する \fBcpp\fR のバージョンへのパスを指定します。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparc\fR\fR .ad .sp .6 .RS 4n SPARC-V9 アーキテクチャーで定義されている命令をアセンブラが受け入れることができるようにします。生成されるオブジェクトコードは、\fB-m32\fR では ELF32 形式、\fB-m64\fR では ELF64 形式になります。これは、Oracle Solaris V8 システム (V8 プロセッサを持つマシン) では実行されません。これは、Oracle Solaris V8+ システムで実行されます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcvis\fR\fR .ad .sp .6 .RS 4n アセンブラが、SPARC-V9 アーキテクチャーで定義されている命令、および Visual Instruction Set (VIS) バージョン 1.0 の命令を受け入れることを可能にします。生成されるオブジェクトコードは、\fB-m32\fR では V8+ ELF32 形式、\fB-m64\fR では ELF64 形式になります。これは、V8 プロセッサを使用する Oracle Solaris システムでは実行されません。これは、V8+ プロセッサを使用する Oracle Solaris システムで実行されます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcvis2\fR\fR .ad .sp .6 .RS 4n アセンブラが、UltraSPARC-III 拡張機能を使用して、SPARC-V9 アーキテクチャーで定義された命令と、Visual Instruction Set (VIS) バージョン 2.0 の命令を受け入れることを可能にします。生成されるオブジェクトコードは、\fB-m32\fR では V8+ ELF32 形式、\fB-m64\fR では ELF64 形式になります。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcvis3\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の SPARC VIS バージョン 3 (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、積和演算命令、および Visual Instruction Set (VIS) バージョン 3.0 で定義されている命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcfmaf\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の \fBsparcfmaf\fR バージョンに加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、および浮動小数点積和演算用 SPARC64 VI 拡張機能で定義されている命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcima\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の \fBsparcima\fR バージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、および整数積和演算用 SPARC64 VII 拡張機能で定義されている命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparc4\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の sparc4 バージョンで定義された命令 (SPARC-V9 命令セットの命令)、VIS 1.0 を含む拡張機能で定義された命令、VIS 2.0 を含む UltraSPARC-III 拡張機能で定義された命令、浮動小数点積和演算命令、VIS 3.0、および SPARC4 命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcace\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の sparcace バージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、整数積和演算用 SPARC64 VII 拡張機能で定義されている命令、および SPARCACE 命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBsparcaceplus\fR\fR .ad .sp .6 .RS 4n SPARC-V9 ISA の sparcaceplus バージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、整数積和演算用 SPARC64 VII 拡張機能で定義されている命令、SPARCACE 命令、および SPARCACEPLUS 命令を受け入れます。 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBv9\fR\fR .ad .sp .6 .RS 4n \fB-m64\fR \fB-xarch\fR=\fBsparc\fR と同等 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBv9a\fR\fR .ad .sp .6 .RS 4n \fB-m64\fR \fB-xarch\fR=\fBsparcvis\fR と同等 .RE .sp .ne 2 .mk .na \fB\fB-xarch\fR=\fBv9b\fR\fR .ad .sp .6 .RS 4n \fB-m64\fR \fB-xarch\fR=\fBsparcvis2\fR と同等 .RE .sp .ne 2 .mk .na \fB\fB-xF\fR\fR .ad .sp .6 .RS 4n Oracle Solaris Studio パフォーマンスアナライザで使用される追加情報を生成します。入力ファイルにスタブ (デバッグ指令) が含まれない場合、アセンブラは Oracle Solaris Studio アナライザに必要なデフォルトスタブを生成します。Oracle Sun Studio マニュアルページの \fBdbx(1)\fR も参照してください。 .RE .SS "x86 のオプション" .sp .ne 2 .mk .na \fB\fB-a32\fR\fR .ad .sp .6 .RS 4n 64 ビットモードでの 32 ビットアドレスを許可します。 .RE .sp .ne 2 .mk .na \fB\fB-H\fR \fR .ad .sp .6 .RS 4n ハードウェア機能セクションを生成します。(これはデフォルトです。) .RE .sp .ne 2 .mk .na \fB\fB-nH\fR\fR .ad .sp .6 .RS 4n ハードウェア機能セクションの生成を抑制します。 .RE .sp .ne 2 .mk .na \fB\fB-KPIC\fR\fR .ad .sp .6 .RS 4n 絶対再配置を使用するアドレス参照を検査して、警告を発行します。 .RE .sp .ne 2 .mk .na \fB\fB-xchip\fR=\fIv\fR\fR .ad .sp .6 .RS 4n 複数のエンコードから選択可能な場合、指定されたチップに適したものを選択します。特に、適切な no-op バイトシーケンスを使用してコード配置パディングを実行し、指定されたチップ用に定義されていない命令が使用される場合は警告します。 .sp アセンブラは、次の認識される \fB-xchip\fR 値の命令セットを受け入れます。 .sp .ne 2 .mk .na \fB\fBgeneric\fR\fR .ad .RS 15n .rt 汎用 x86 命令セット。 .RE .sp .ne 2 .mk .na \fB\fBnative\fR\fR .ad .RS 15n .rt このホストプロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBcore2\fR\fR .ad .RS 15n .rt Intel Core2 プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBnehalem\fR\fR .ad .RS 15n .rt Intel Nehalem プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBopteron\fR\fR .ad .RS 15n .rt AMD Opteron プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBpenryn\fR\fR .ad .RS 15n .rt Intel Penryn プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBpentium\fR\fR .ad .RS 15n .rt Intel Pentium アーキテクチャー。 .RE .sp .ne 2 .mk .na \fB\fBpentium_pro\fR\fR .ad .RS 15n .rt Intel Pentium Pro アーキテクチャー。 .RE .sp .ne 2 .mk .na \fB\fBpentium3\fR\fR .ad .RS 15n .rt Intel Pentium 3 スタイルプロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBpentium4\fR\fR .ad .RS 15n .rt Intel Pentium 4 スタイルプロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBsandybridge\fR\fR .ad .RS 15n .rt Intel Sandy Bridge プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBwestmere\fR\fR .ad .RS 15n .rt Intel Westmere プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBamdfam10\fR\fR .ad .RS 15n .rt AMD FAM10 プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBivybridge\fR\fR .ad .RS 15n .rt Intel Ivy Bridge プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBhaswell\fR\fR .ad .RS 15n .rt Intel Haswell プロセッサ。 .RE .sp .ne 2 .mk .na \fB\fBbroadwell\fR\fR .ad .RS 15n .rt Intel Broadwell .RE .RE .sp .ne 2 .mk .na \fB\fB-xmodel\fR=[\fBsmall\fR | \fB medium\fR | \fBkernel\fR]\fR .ad .sp .6 .RS 4n \fB-m64\fR の場合のみ、データアクセス用の \fBR_X86_64_32S\fR 再配置可能タイプを \fBkernel\fR の下に生成します。それ以外の場合は、\fBR_X86_64_32\fR を \fBsmall\fR の下に生成します。\fBSHN_AMD64_LCOMMON\fR および \fB\&.lbcomm\fR のサポートが \fBmedium\fR の下に追加されました。デフォルトは \fBsmall\fR です。 .RE .sp .ne 2 .mk .na \fB\fB-Yd\fR,\fIpath\fR\fR .ad .sp .6 .RS 4n 使用する \fBcm4defs\fR のバージョンへのパスを指定します。 .RE .SH 環境 .sp .ne 2 .mk .na \fB\fBTMPDIR\fR\fR .ad .sp .6 .RS 4n 通常、\fBas\fR コマンドは、一時ファイルを \fB/tmp\fR ディレクトリ内に作成します。環境変数 \fBTMPDIR\fR を選択したディレクトリに設定することにより、別のディレクトリを指定できます。(\fBTMPDIR\fR が有効なディレクトリではない場合、\fBas \fR は \fB/tmp\fR を使用します)。 .RE .SH ファイル .sp .LP デフォルトでは、\fBas\fR は一時ファイルを \fB/tmp\fR に作成します。 .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/ _ インタフェースの安定性確実 .TE .SH 関連項目 .sp .LP \fBcpp\fR(1), \fBld\fR(1), \fBm4\fR(1), \fBnm\fR(1), \fBstrip\fR(1), \fBtmpnam\fR(3C), \fBa.out\fR(4), \fBattributes\fR(5) .SH 注意事項 .sp .LP SPARC プラットフォームでは、\fB-P\fR フラグが出現すると \fBcpp\fR シンボル \fB__sparc\fR が設定され、\fB-m32\fR フラグの場合には \fB__sparcv8\fR が、\fB-m64\fR フラグの場合には \fB__sparcv9\fR がそれぞれ設定されます。 .sp .LP x86/x64 では、\fB-P\fR フラグが出現するとシンボル \fB__i386\fR が設定され、\fB-m64\fR フラグの場合には \fB__amd64\fR が設定されます。 .sp .LP \fB-m\fR (\fBm4\fR(1) マクロプロセッサを起動) オプションを使用する場合、\fBm4\fR はアセンブラシンボルのキーワードと、実際の \fBm4\fR マクロのキーワードとを区別できないため、\fBm4\fR のキーワードを入力ファイルのシンボル (変数、関数、ラベル) として使用することはできません。 .sp .LP 適切なライブラリリンクを保証するため、可能な場合は常に、Oracle Solaris Studio C コンパイラ (\fBcc\fR) などのコンパイルシステムインタフェースプログラム経由でアセンブラにアクセスしてください。Oracle Solaris Studio マニュアルページの \fBcc(1)\fR を参照してください。