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