2

プロセッサの種類ごとにアセンブリ言語はどのように異なりますか?

誰かが x86 Intel アセンブリを学習した場合、別のプロセッサ タイプ (fx x86-64) でアセンブリを使用する場合、最初から完全に始める必要がありますか?

4

3 に答える 3

3

まあ、いくつかの概念は似ています。たとえば、すべてのプロセッサ アーキテクチャには迅速な一時記憶域用のレジスタがあり、そのすべてに命令ポインタがあり、ほぼすべてのプロセッサにスタックがあります。私の経験では、x86 (および確かに 32 ビットを追加するよりも複雑な amd64) を処理できれば、ARM、z80、または MIPS などのより単純なアーキテクチャをかなり迅速に処理できるようになります。

すぐに使いたい場合は、IDA の無料バージョンを入手するか、Windows を使用している場合は Ollydbg もあります。C で小さなプログラムを書き、書いたものを逆アセンブルします。あなたはそのようにしてたくさんのことを学ぶでしょう(それは私が独学した方法とほとんど同じです).

また、x86 に関しては、Intel と AT&T という 2 つの主要なアセンブリ構文フレーバーがあることに注意してください。Linux クラウドは AT&T 構文を使用する傾向があるようですが、個人的には Intel の方が好みです。

于 2011-07-14T21:06:07.797 に答える
2

それは本当に特定のアセンブリ言語に依存します。32 ビットと 64 ビットの x86 プロセッサの違いはそれほど悪くはありませんが (追加のレジスタなど)、PC 用の 64 ビット プロセッサと古いガラケー携帯電話のプロセッサの違いはかなり異なります。ただし、一般に、ほとんどの概念はかなりうまく変換されます。

于 2011-07-14T21:05:45.773 に答える
0

それらは一般に、異なるよりも類似しています。x86 は、学習したい最後の命令セットです。それほど優れた命令セットではなく、かなり醜いです。はい、あなたがそれを学べば、他のものは本当に簡単ですが、最初に良い命令セットを学ぶ方が良いです. そして、あなたの質問が示唆するように、1 つまたは 2 つを知っていれば、残りは構文の問題です。msp430 は最初の命令セットに適しています。ハードウェアは非常に安価 (5 ドル未満) であるか、シミュレーターを使用するだけです。メインラインの binutils でサポートされています。腕と親指は、学習するのに適したその他の命令セットです。同様に、ハードウェアは安価で、cortex-m3 ベース (thumb/thumb2 のみアームの指示なし) で約 10 ドル、arm/thumb (thumb2 なし) ベースで 40 ドル未満です。無料のシミュレーターもあるので、ハードウェアを購入する必要はありません。

于 2011-07-15T02:19:22.683 に答える