質問: 64ビットosが16ビットアプリケーションを実行できないのはなぜですか? それはなぜですか: 32ビットosを64ビットcpuにインストールすると、古い16ビットアプリケーションを実行できます。 しかし、64ビットosをインストールすると、それらのアプリケーションを直接実行できなくなり、何らかのエミュレーションが必要になります(常に完全に機能するとは限りません)。 具体的には、64ビットプロセッサ(intel core 2 duo)を使用しています。 windows xpおよびwindows 7(両方とも32ビット)がインストールされている場合、古いdosおよび616ビットのwindowsアプリケーションを実行できました。これで、windows 7の64ビット版がインストールされました。なぜ同じアプリケーションをもう実行できないのですか?
回答: 私が間違っている場合は修正してください。ただし、理解すると、ntvdmが仮想8086モードを使用しているのは、windows固有の問題が原因です。 x64プロセッサの互換モード(ロングモードで実行)は、「クリーン」プロテクトモードを完全にサポートします。ここで見つけたものから16ビットと32ビットです。 http://en.wikipedia.org/wiki/long_mode =、ただし、仮想8086モードなどの386の追加の一部ではありません。そのため、microsoftがntvdmを再プログラムしても効果がないため、サポートされていない可能性が高く、一部の16ビットプロテクトモードアプリケーションは仮想8086を使用できるため、エミュレーションを追加する必要があります。 16ビットアプリのハードウェアサポートがあるため、十分な労力があれば、ロングモードで実行しているdosboxよりも速いものを書くことが可能だと思います。