こんにちは、ありがとうございました!ecxレジスタに書き込むと、Windows 7で「アクセス違反」が発生する
私のC++コードには組み込みアセンブラコードがいくつかありますが、[mov ecx、1AF858h]の行には "Access violation"というエラーメッセージがポップアップしています。 Windows XPでは完全に動作しますが、残念ながらWindows 7では動作しません。
問題の原因はわかりません。問題を解決するために必要なことを知りたいと思います。
種類よろしく、デビッド
これはどこで行われたかによって大きく異なります。いくつかのコードを表示してください。また、あなたのコードはどちらの場合でも32ビットのターゲットにコンパイルされますか? –
Visual Studioの場合、インラインアセンブリは32ビットモードでのみ使用できます。あるクラスの中で、ECXレジスタはしばしば 'this'ポインタを保持します。変更すると「面白い」効果が得られる可能性があります。 –
本当に 'mov ecx、[1AF858h]'ではなく '[mov ecx、1AF858h]'ですか?後者の場合、アドレス0x1AF858から読み取っている間は標準的なアクセス違反に過ぎず、ecxとは何の関係もありません。しかし、とにかくエラーのコードやコンテキストを投稿してください。 – user786653