2011-10-27 34 views
3

現在、私はGNU asを学んでいて、 "info as"で多くの有益な情報を見つけています。MIPSアセンブリでは'set noat 'はサポートされていませんか?

MIPSで指定されたコードでは ".set noat"が使用されていますが、 "info as"でこのディレクティブを検索すると、 "MIPS Dependent Features"ではなく "alpha directive"ノードでその説明が見つかりました。どうして?私はマニュアルで何かを逃したのですか? TIA

答えて

2

.set at/noat

は、MIPSアーキテクチャの有効な構造であると$atレジスタは、ユーザが使用している場合に警告を有効/無効にすることで、Alphaのと同様の方法で動作します。

場合によっては、ドキュメントとコードが常に100%同期するとは限りません。だからfile a bug against binutilsとさらに良い - パッチを提供してください。そうすることで、プロから学ぶことができます(彼らが本当に忙しい場合を除いて、時々起こるように)。

MIPS vs Alphaについて:AlphaアーキテクチャはMIPSの影響を大きく受けているようです。

+0

gnuツールチェーンのソースコードに浸漬するのは少し難しいです。私はちょうど "アルファディレクティブ"に記載されている ".set noat"がmips環境で動作可能かどうかを調べたいだけです。この問題に対処する簡単な方法はありますか? mipsの "alpha directive"の ".set noat"をテストするのは簡単ではありませんか? – Wangrui

+0

[src/gas/config/tc-mips.c:235](http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-mips.c?annotate=1.493&cvsroot= src) – user786653

+0

ありがとう、私はそれを参照してください。 – Wangrui

2

GNU asは、8041マイクロコントローラファミリから最大のCrayまでのプロセッサターゲット(CPUアーキテクチャ)のゴブをサポートしています。 machine dependent section of the manualには42個のアーキテクチャがリストされています。

121 pseudo instructionsのほとんどは、すべてのアーキテクチャに共通し、ラベルの意味とそれらの参照にも共通しています。ターゲットの大きな違いは、特定のCPU命令、アドレスモード、および命令エンコーディングです。印象的には、asは、ほとんどのターゲット(COFF、ELF、a.out、SOM)と同じオブジェクトファイル形式を生成できます。

ほとんどの疑似命令はCPUの実行ではなくアセンブラに影響するため、多数のアーキテクチャに当てはまることは驚くことではありません。

+0

プロのための別の質問は、特定のアーキテクチャでCPU命令のドキュメントをどこに見つけることができますか? – Wangrui

+0

@joey:通常は製造元のWebサイトにあります。いくつかの(厄介な)メーカーは、ドキュメンテーションを請求しようとしますが、ほとんどが無料でオンラインで提供しています。 'as 'のマシン依存セクションの多くは、製造元のドキュメントへのリンクを持っています。 – wallyk

+0

私にリンクを教えてもらえますか? 「-march = mips3」を好む。 :) – Wangrui

関連する問題