github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/cmd/asm/doc.go (about)

     1  // Copyright 2015 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  /*
     6  Asmは通常「go tool asm」として呼び出され、ソースファイルをオブジェクトファイルにアセンブルします。
     7  オブジェクトファイルは他のオブジェクトと結合してパッケージアーカイブにできます。
     8  
     9  # コマンドライン
    10  
    11  使用法:
    12  
    13  	go tool asm [フラグ] ファイル
    14  
    15  指定されたファイルはGoアセンブリファイルでなければなりません。
    16  同じアセンブラがすべてのターゲットオペレーティングシステムとアーキテクチャで使用されます。
    17  GOOSとGOARCHの環境変数によって目的のターゲットが設定されます。
    18  
    19  フラグ:
    20  
    21  	-D name[=value]
    22  		省略可能な単純な値を持つ記号名を予め定義します。
    23  		複数の記号を定義するために繰り返すことができます。
    24  	-I dir1 -I dir2
    25  		dir1、dir2などのディレクトリで#includeファイルを検索します。
    26  		検索前に$GOROOT/pkg/$GOOS_$GOARCHを参照します。
    27  	-S
    28  		アセンブリとマシンコードを表示します。
    29  	-V
    30  		アセンブラのバージョンを表示して終了します。
    31  	-debug
    32  		パースされる命令をダンプします。
    33  	-dynlink
    34  		他の共有ライブラリで定義されたGoシンボルへの参照をサポートします。
    35  	-e
    36  		エラーの報告数に制限はありません。
    37  	-gensymabis
    38  		シンボルABI情報を出力ファイルに書き込みます。アセンブルを行いません。
    39  	-o ファイル
    40  		出力をファイルに書き込みます。/a/b/c/foo.sの場合、デフォルトはfoo.oです。
    41  	-p pkgpath
    42  		予想されるパッケージのインポートをpkgpathに設定します。
    43  	-shared
    44  		共有ライブラリにリンクできるコードを生成します。
    45  	-spectre list
    46  		リスト(all、ret)のスペクトル緩和を有効にします。
    47  	-trimpath prefix
    48  		記録されたソースファイルパスからプレフィックスを削除します。
    49  	-v
    50  		デバッグ出力を表示します。
    51  
    52  入力言語:
    53  
    54  アセンブラは基本的にすべてのアーキテクチャに対してほぼ同じ構文を使用しますが、
    55  アドレッシングモードに関しては主に変化があります。入力は
    56  #include、#define、#ifdef/endifを実装した簡略化されたCプリプロセッサを経由しますが、
    57  #ifや##は使用されません。
    58  
    59  詳細については、https://golang.org/doc/asmを参照してください。
    60  */package main