2
0x042444FF; /* inc dword ptr [esp+4] */

0x042444FFはマシン コードですinc dword ptr [esp+4]が、 はアセンブリ コードですが、多くの要因に依存するため、マシン コードはクロスプラットフォームではないことがわかっています。

アセンブリコードはどうですか、それは CPU に依存しますか?

4

2 に答える 2

6

アセンブリ コードはクロス プラットフォームではありません。

通常、マシン命令とアセンブリ命令の間には非常に直接的なマッピングがあるため、アセンブリ コードはアーキテクチャに依存します。

ウィキペディアから:

アセンブリ言語は、コンピューター、マイクロプロセッサ、マイクロコントローラー、およびその他の集積回路用の低レベルのプログラミング言語です。特定の CPU アーキテクチャをプログラムするために必要なバイナリ マシン コードとその他の定数のシンボリック表現を実装します。この表現は通常、ハードウェア メーカーによって定義され、処理手順 (命令)、プロセッサ レジスタ、メモリ位置、およびその他の言語機能を表すニーモニックに基づいています。したがって、アセンブリ言語は、特定の物理 (または仮想) コンピューター アーキテクチャに固有のものです。これは、移植性が理想的なほとんどの高級言語とは対照的です。

于 2010-09-15T07:22:54.857 に答える
2

アセンブリ コードは、基本的にはマシン コードの表現形式です。マシンコードを書くのが少し便利で読みやすくなるように設計されています。2 つはほぼ 1 対 1 でマッピングされるため、1 つのアセンブリ ステートメントが同等のマシン コードに変換されます。マシン コードは CPU に依存します。したがって、アセンブリも CPU に依存します。

于 2010-09-15T07:24:48.990 に答える