7

アセンブリのリストに関するウィキペディアのこの記事を読んでいました

http://en.wikipedia.org/wiki/List_of_assemblyrs

世の中にはたくさんのアセンブリ言語があることがわかりました。たとえば、Yasm アセンブリ言語を学んだら、TCCASM コードを読むのは難しいでしょうか? 他のすべての asem.. 言語とは完全に異なるようなものですか? 私はこの言語を学びたいのですが、どれを選択すればよいかわかりません.アセンブリx86全般をカバーする初心者プログラマー向けの良い本をお勧めできれば、私は感謝しています.

4

2 に答える 2

6

次のことを混同しないでください。

  • アセンブリ言語(さまざまな実装による抽象的なアイデア)
  • アセンブラ(プログラム、言語を実装するコンパイラの一種(もしそうなら))
  • 構文(さらに別の実装固有の詳細。x86プラットフォームのAT&T構文とIntel構文を比較してください)
  • 命令セット(CPUごとに異なります)

アセンブリ言語の一般的な考え方は1つです。しかし、その実施形態は多く、異なっています(例えば、MASM、TASM、NASM、(G)ASなど)。サポートするCPUと命令(サブセット)セット、サポートする機能(式、マクロ、構造化プログラミングのサポート、オブジェクト/バイナリファイル形式など)、およびすべての外観(構文、ニーモニック、ディレクティブ、コメント)が異なります。 )。

特定のプラットフォームで1つのアセンブラーを使用する方法を知っていれば、別のアセンブラーを学ぶのはそれほど難しいことではありません。同様に、あるプラットフォーム用のアセンブリコードの記述方法を知っている場合は、別のプラットフォーム用のasmコードの記述方法を学ぶのはそれほど難しいことではありません。もちろん、少なくとも1つのアセンブラと1つの命令セットを十分に理解していれば、それはすべて当てはまります。

于 2012-09-07T20:48:28.083 に答える