6

私はこの質問を読んでいて、受け入れられた答えがアーキテクチャを決定する方法でもあるのではないかと思いました。たとえば、asm では、WORD をスタックにプッシュしてから SP をチェックできます。新しい SP と古い SP を比較します。

差分 4 は 32 ビットを意味します
差分 8 は 64 ビットを意味します

私はこの考えで正しいですか?

4

2 に答える 2

6

いいえ、スタックのサイズは、アーキテクチャではなく、実行しているモード(real、protected、long / 64、vm86、smmなど)に基づいているためです。たとえば、アセンブリがプロテクトモードで実行されている場合、プロセッサがx86-64であっても、スタックは32ビット(オペランドが16ビットの場合は16ビット)になります。

言及されたコメントの誰かのように、CPUIDはあなたのアーキテクチャが何であるかを知る唯一の信頼できる方法です。

于 2010-04-02T20:47:02.180 に答える