「as」の版間の差分
提供: セキュリティ
行1: | 行1: | ||
− | [[as]]コマンドとは、[[アセンブラ]]です。[[アセンブラ]]は、[[アセンブリ言語]] | + | [[as]]コマンドとは、[[アセンブラ]]です。[[アセンブラ]]は、[[アセンブリ言語]]のソースコードをアセンブルし、オブジェクトファイルを作成します。 |
'''読み方''' | '''読み方''' | ||
行19: | 行19: | ||
このアセンブラはターゲット `x86_64-portbld-freebsd10.0' に対して設定されています。 | このアセンブラはターゲット `x86_64-portbld-freebsd10.0' に対して設定されています。 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
== インストール == | == インストール == | ||
=== FreeBSDの場合 === | === FreeBSDの場合 === |
2015年9月22日 (火) 17:45時点における最新版
asコマンドとは、アセンブラです。アセンブラは、アセンブリ言語のソースコードをアセンブルし、オブジェクトファイルを作成します。
読み方
- as
- あず
概要
asコマンドは、GNU gcc コンパイラコレクションで提供されます。 GCC のC言語のコンパイルの処理は、 cc1 , as, ld のコマンドで実行されます。
as コマンドのバージョンを表示します。
$ as --version GNU アセンブラ (GNU Binutils) 2.25 Copyright (C) 2014 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. このアセンブラはターゲット `x86_64-portbld-freebsd10.0' に対して設定されています。
インストール
FreeBSDの場合
$ pkg install gcc
使い方
コマンドラインオプション
$ as --help 使用法: as [option...] [asmfile...] Options: -a[sub-option...] turn on listings Sub-options [default hls]: c omit false conditionals d omit debugging directives g include general info h include high-level source l include assembly m include macro expansions n omit forms processing s include symbols =FILE list to FILE (must be last sub-option) --alternate initially turn on alternate macro syntax --compress-debug-sections zlib を使用して DWARF デバッグセクションを圧縮する --nocompress-debug-sections DWARF デバッグセクションを圧縮しない -D アセンブラデバッグメッセージを生成する --debug-prefix-map OLD=NEW デバッグ情報内で OLD を NEW へマップする --defsym SYM=VAL シンボル SYM を VAL として定義する --execstack このオブジェクトに対し実行可能スタックを要求する --noexecstack このオブジェクトに対し実行可能スタックを要求しない --size-check=[error|warning] ELF .size 指示を検査する (デフォルト --size-check=error) -f 空白とコメントの前処理をスキップする -g --gen-debug デバッグ情報を生成する --gstabs STABS デバッグ情報を生成する --gstabs+ GNU 拡張がある STABS デバッグ情報を生成する --gdwarf-2 DWARF2 デバッグ情報を生成する --gdwarf-sections generate per-function section names for DWARF line information --hash-size=<value> ハッシュ表サイズを <value> ぐらいに設定する --help このメッセージを表示して終了する --target-help ターゲット固有のオプションを表示する -I DIR .include 指示の検索リストに DIR を加える -J 符号のオーバーフローに関して警告しない -K warn when differences altered for long displacements -L,--keep-locals 局所シンボル (例: `L' で開始するもの) を保持する -M,--mri MRI 互換モードでアセンブルを行う --MD FILE FILE 内に依存情報を書き込む (デフォルト なし) -nocpp 無視される -o OBJFILE 出力するオブジェクトファイル名を OBJFILE にする (デフォルト a.out) -R fold data section into text section --reduce-memory-overheads アセンブル時間が長くかかったとしてもメモリ使用 量を少なくする --statistics 実行時にさまざまな統計を計測して表示する --strip-local-absolute 局所絶対シンボルを取り除く --traditional-format 可能であれば、ネイティブのアセンブラと同じ形式を使用 する --version アセンブラのバージョン番号を表示して終了する -W --no-warn 警告を抑止する --warn 警告を抑止しない --fatal-warnings 警告をエラーとして取り扱う -w 無視される -X 無視される -Z エラーが発生してもオブジェクトファイルを生成する --listing-lhs-width set the width in words of the output data column of the listing --listing-lhs-width2 set the width in words of the continuation lines of the output data column; ignored if smaller than the width of the first line --listing-rhs-width set the max width in characters of the lines from the source file --listing-cont-lines set the maximum number of continuation lines used for the output data column of the listing @FILE オプションを FILE から読み込む -Q 無視される -V アセンブラバージョン番号を表示する -k 無視される -n コード整列最適化を行わない -q いくつかの警告を抑止する -s 無視される --32/--64/--x32 32ビット/64ビット/x32 コードを生成する --divide 無視される -march=CPU[,+EXTENSION...] generate code for CPU and EXTENSION, CPU is one of: generic32, generic64, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, l1om, k1om, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, btver1, btver2 EXTENSION is combination of: 8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4, nosse, avx, avx2, avx512f, avx512cd, avx512er, avx512pf, avx512dq, avx512bw, avx512vl, noavx, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, fma4, xop, lwp, movbe, cx16, ept, lzcnt, hle, rtm, invpcid, clflush, nop, syscall, rdtscp, 3dnow, 3dnowa, padlock, svme, sse4a, abm, bmi, tbm, adx, rdseed, prfchw, smap, mpx, sha, clflushopt, prefetchwt1, se1, clwb, pcommit, avx512ifma, avx512vbmi -mtune=CPU optimize for CPU, CPU is one of: generic32, generic64, i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, l1om, k1om, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, btver1, btver2 -msse2avx encode SSE instructions with VEX prefix -msse-check=[none|error|warning] SSE 命令を検査する -moperand-check=[none|error|warning] check operand combinations for validity -mavxscalar=[128|256] encode scalar AVX instructions with specific vector length -mevexlig=[128|256|512] encode scalar EVEX instructions with specific vector length -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value for EVEX.W bit ignored instructions -mevexrcig=[rne|rd|ru|rz] encode EVEX instructions with specific EVEX.RC value for SAE-only ignored instructions -mmnemonic=[att|intel] use AT&T/Intel mnemonic -msyntax=[att|intel] AT&T/Intel 構文を使用する -mindex-reg support pseudo index registers -mnaked-reg レジスタ用に `%' 接頭辞を要求しない -mold-gcc 古いバージョン (<= 2.8.1) の gcc をサポートする -madd-bnd-prefix add BND prefix for all valid branches -momit-lock-prefix=[no|yes] strip all lock prefixes バグを発見したら <<http://www.sourceware.org/bugzilla/>> に報告して下さい。 翻訳に関するバグは<translation-team-ja@lists.sourceforge.net>に報告してください。