アセンブリで少し錆びています。私は皆さんにいくつか質問したいと思います。nasmでのmov命令の意味
1)これらの組み立て手順はNASMで有効ですか?
2)相違点は何ですか?相違点は何ですか?
のMOV EAX、EBX
対
のMOV EAX、[EBX]
アセンブリで少し錆びています。私は皆さんにいくつか質問したいと思います。nasmでのmov命令の意味
1)これらの組み立て手順はNASMで有効ですか?
2)相違点は何ですか?相違点は何ですか?
のMOV EAX、EBX
対
のMOV EAX、[EBX]
のMOV EAX、EBX
は、EAXにEBXの値を移動while
mov EAX, [EBX]
はEAX内のアドレスの値を移動します(そうでなければ、EBXは有効なアドレスを含んでいなければなりません)。
あなたはCを読むことができますか?事前定義int a, *b;
与えられ、第2の命令は、多かれ少なかれ同等
a = *b;
にあり、一方、それでは、前の定義int a, b;
与えられ、最初の命令は
a = b;
に多かれ少なかれ等しい場合ただし、EAXとEBXはスタックに常駐する変数ではなくレジスタです。
多くのことが言えるかもしれませんが、前述のことはあなたにアイデアを与えます。
(ちなみに、過去5年間に私が使用していなかったNASMは、GNUのアセンブラと比べて逆の順序で引数を提示します)NASMは、デスティネーションレジスタを左側に、ソースレジスタをGNUは、逆を行うのに対し、GNUの比較として、右、。NASMの大会は "インテルの構文" と呼ばれている "& T構文AT。")
+1。投票権を獲得したことをお祝いします! (あなたの答えは良いものです) – thb
そして、コメントする権利を得ることをお祝い! 1つの答えには悪くない。 – thb