現在、私は GNU as を学んでおり、"info as" で多くの有用な情報を見つけています。
".set noat" が MIPS 指定のコードで使用されていることがわかりましたが、"info as" でこのディレクティブを検索すると、ノード "alpha ディレクティブ" でその説明が見つかりましたが、"MIPS Dependent Features" では見つかりませんでした。なんで?マニュアルで何かを見逃しましたか?
ティア
現在、私は GNU as を学んでおり、"info as" で多くの有用な情報を見つけています。
".set noat" が MIPS 指定のコードで使用されていることがわかりましたが、"info as" でこのディレクティブを検索すると、ノード "alpha ディレクティブ" でその説明が見つかりましたが、"MIPS Dependent Features" では見つかりませんでした。なんで?マニュアルで何かを見逃しましたか?
ティア
これは MIPS アーキテクチャの有効な構造であり、レジスタがユーザーによって使用され.set at/noat
たときに警告を無効/有効にすることにより、Alpha と同様に機能します。$at
よくあることですが、ドキュメントとコードは常に 100% 同期しているわけではありません。したがって、binutils に対してバグを報告してください。さらに良いことに、パッチを提供してください。そうすることで、プロから学ぶことができます (時々起こるように、彼らが本当に忙しい場合を除きます)。
MIPS vs Alpha について: Alpha アーキテクチャは MIPS の影響を大きく受けているようです。
GNUas
は、8041 マイクロコントローラー ファミリーから最強の Cray まで、さまざまなプロセッサー ターゲット (CPU アーキテクチャー) をサポートしています。マニュアルのマシン依存セクションには、 42 のアーキテクチャがリストされています。
121個の疑似命令のほとんどは、すべてのアーキテクチャーに共通であり、ラベルのセマンティクスとそれらへの参照も同様です。ターゲット間の大きな違いは、特定の CPU 命令、アドレス モード、および命令エンコードです。印象的なas
ことに、COFF、ELF、a.out、および SOM など、ほとんどのターゲットに対して同じオブジェクト ファイル形式を生成できます。
ほとんどの疑似命令は、CPU の実行ではなくアセンブラーに影響を与えるため、それらが多数のアーキテクチャーに適用されることは当然のことです。